Deploy Node.js applications over SSH.
npx @catapultjs/deploy initDeploy directly over SSH. No agents, no containers, no server-side dependencies, just a remote shell.
Composable task pipeline. Insert, remove or replace any step with a single function call.
Drop-in recipes for AdonisJS, PM2 and rsync. Import once, tasks are registered automatically.
On failure after publish, the previous release is restored automatically.
Deploy to staging and production in the same run. Target a single host with --host.
Define custom tasks, hooks and recipes. Full async support with TaskContext.
Drive deployments from scripts, CI or bots with the Catapult class. Events, captured output, JSON reports.
Ships with agent skills for Claude Code. Your AI assistant writes configs and recipes following the conventions.
npx @catapultjs/deploy initimport { defineConfig } from '@catapultjs/deploy'
export default defineConfig({
keepReleases: 5,
hosts: [{
name: 'production',
ssh: 'deploy@example.com',
deployPath: '/home/deploy/myapp',
branch: 'main',
}],
})npx cata deploy