copter
v0.1.0
Published
Lightweight local orchestration CLI for running and managing multi-service dev environments.
Readme
copter
Lightweight local orchestration CLI for running and managing multi-service dev environments.
Features
- Define multi-service development environments with a simple
copter.yml. - Start, stop, and restart groups of processes or containers with dependency ordering.
- Built-in health checks, automatic restarts, and aggregated logs for easier debugging.
- Programmatic API and CLI for integration with scripts and CI workflows.
Install
npm install copter
Quick Start
Create a copter.yml describing the services you want to run:
services:
web:
cmd: "npm run dev"
cwd: ./packages/web
ports:
- "3000:3000"
health: "http://localhost:3000/health"
api:
cmd: "node server.js"
cwd: ./packages/api
ports:
- "4000:4000"
depends_on:
- db
db:
image: "postgres:14"
env:
POSTGRES_PASSWORD: example
ports:
- "5432:5432"Start the environment from the project root:
npx copter up --config copter.ymlStream logs or stop the environment:
npx copter logs -f
npx copter downProgrammatic usage example:
const copter = require('copter');
(async () => {
// Start services defined in ./copter.yml
await copter.up({ config: './copter.yml' });
// ...run tests or dev tasks...
// Tear down when finished
await copter.down({ config: './copter.yml' });
})();License
MIT
