Build, select, and deploy your application locally or over SSH, from your terminal or editor.
Download · Features · Installation · Quick start · Documentation
- Keep deployments alongside your code. Define applications, environments, credentials, and release sequences in
pablo.yaml. - Build only when you need to. Run a build command or deploy existing files with include and exclude patterns.
- Deploy locally or over SSH. Copy static assets and binaries, synchronize Git repositories, or run Docker Compose on your target.
- Choose how files are replaced. Use overwrite, backup, recreate, or per-file rename-replace strategies, with rollback where supported.
- Coordinate releases. Run ordered profile/environment sequences and configure blue-green slots with your own switch commands.
- Work from your editor. Get completion, hover documentation, validation, and deployment actions in VS Code and Visual Studio.
Built with Go. Distributed as a standalone CLI for Windows, macOS, and Linux.
Examples · Configuration · SSH · Deployment strategies · Troubleshooting · Changelog
The installer downloads the latest release for your platform, verifies its SHA-256 checksum, and installs it to a system or user path.
Run in PowerShell:
$installer = "$env:TEMP\pablo-install.ps1"
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Invoke-RestMethod https://raw.githubusercontent.com/septillioner/pablo/master/scripts/install.ps1 -OutFile $installer
powershell -NoProfile -ExecutionPolicy Bypass -File $installercurl -fsSL https://raw.githubusercontent.com/septillioner/pablo/master/scripts/install.sh | bashVerify your installation:
pablo versionYou can also download a binary from GitHub Releases and place it on PATH. See the installation guide for manual installation, Windows cmd, and version pinning.
The CLI does not require Go at runtime. Additional tools depend on your deployment workflow:
| Tool | When needed |
|---|---|
| Git | git-sync and docker deployments |
| Docker with Compose | docker deployments |
| OpenSSH client | Remote SSH deployments |
| Your build tools | When your manifest includes a build command |
pablo update check
pablo updateTry a local deployment before connecting a server. Create a project with one source file:
mkdir pablo-demo
cd pablo-demo
mkdir src
echo "Hello from Pablo" > src/index.htmlSave this as pablo.yaml in pablo-demo:
name: my-app
version: 0.1.0
profiles:
default:
type: static
environments:
production:
deploy:
source:
dir: ./src
include: ["**/*"]
target_path: ./deploy-output
strategy: overwriteValidate and deploy:
pablo check
pablo runYour file is now at deploy-output/index.html. This example needs no build step or remote server.
For an existing project, run pablo init to generate a sample manifest or pablo init --template to open the template wizard. Continue with the first deployment walkthrough or deployment examples.
Use profiles for different applications and environments for their deployment targets. Select a target explicitly, or run an ordered sequence defined in your manifest:
pablo run frontend/production
pablo run -p backend -e staging
pablo run sequence releaseWithout a selection, Pablo uses profile default and environment production from pablo.yaml. Use -f to select another manifest.
| Type | Workflow |
|---|---|
static |
Deploy HTML, frontend bundles, and other files, with an optional build step |
binary |
Deploy executables and optionally register their directory on PATH |
docker |
Synchronize a Git repository and deploy a Docker Compose stack |
git-sync |
Synchronize application source and run installation or restart commands |
All four types support local and SSH targets. See capabilities for supported options and limitations, or the CLI reference for all commands and flags.
Both extensions use pablo lsp for manifest completion, hover documentation, diagnostics, and deployment CodeLens.
| Editor | Installation | Setup |
|---|---|---|
| Visual Studio Code | Install Pablo (septillioner.pablo) from the Marketplace or a release VSIX |
VS Code guide |
| Visual Studio 2022 / 2026 | Install the Visual Studio VSIX from GitHub Releases | Visual Studio guide |
| I want to… | Start here |
|---|---|
| Set up my first deployment | Quick start |
| Adapt a complete manifest | Deployment examples |
| Understand manifest fields | Configuration reference |
| Deploy to a server | SSH guide |
| Manage replacement and rollback | Deployment strategies |
| Deploy several targets in order | Sequences |
| Configure blue-green deployment | Blue-green guide |
| Resolve a deployment problem | Troubleshooting |
Browse the documentation index for Docker, credentials, Git sync, binary deployments, and development guides.
Building from source requires Go 1.25.5+ and Git.
git clone https://github.com/Septillioner/pablo.git
cd pablo/src
go build -o ../build/pablo .
go test ./...On Windows, use go build -o ../build/pablo.exe .. From the repository root, ./scripts/build.sh all builds the release targets using Bash.
See the testing guide for integration tests and deployment fixtures, and the release process for publishing.
Read CONTRIBUTING.md before submitting changes. Report vulnerabilities through the process in SECURITY.md.
Pablo · Licensed under Apache 2.0
Created by Ege Ismail Kosedag
