A TypeScript CLI tool that provides DevOps automation commands for WordPress/Docker development and AWS deployment workflows.
Jolt Scripts supports configuration through multiple sources (in order of precedence):
.jolt.json(JSON format)./bin/.env(Environment variables).env(Environment variables)
A JSON schema is automatically generated from the Zod schema at jolt-config.schema.json for IDE autocompletion and validation. The schema is regenerated automatically when building the project. You can reference it in your .jolt.json file:
{
"$schema": "./node_modules/@joltdesign/scripts/jolt-config.schema.json",
"imageName": "my-app",
"awsRegion": "us-east-1",
"ecsCluster": "production-cluster"
}The configuration supports the following properties:
awsRegion: AWS region for operations (default: "eu-west-1")ecsCluster/devEcsCluster: ECS cluster names for production/developmentecsService/devEcsService: ECS service names for production/developmentcodebuildProject/devCodebuildProject: CodeBuild project namescloudfrontDistribution: CloudFront distribution ID
imageName: Docker image name for production buildsdevImageName: Docker image name for development (overrides imageName + dev suffix)buildPlatform: Docker build platform (e.g., "linux/amd64")buildContext: Docker build context path (default: ".")ecrBaseUrl: ECR repository base URL
sshAccount/devSshAccount: SSH accounts for deployments (user@host format)sshPort: SSH port number (default: "22")liveFolder/devFolder: Remote folder paths for deploymentsbranch/devBranch: Git branches for deploymentsrepo: Git repository URL
Use the sites object to define site-specific overrides:
{
"ecsCluster": "production-cluster",
"sites": {
"staging": {
"ecsCluster": "staging-cluster",
"ecsService": "my-app-staging"
}
}
}Override external tool commands:
dockerCommand,composeCommand,terraformCommandnodeCommand,yarnCommand,awsCommandsshCommand,rsyncCommand,gitCommand,gzipCommand
Define preparation commands to run before builds:
{
"prepareCommands": [
"yarn install",
{
"cmd": "yarn build",
"name": "Build application",
"timing": "normal",
"fail": true
}
]
}