Start here
Getting started
Describe the processes your project runs side by side in one config file, then start, watch and stop them as a single stack.
Node 22.18 or later, on macOS or Linux.
-
Install
npm install --save-dev @aip-tech/braidpnpm add --save-dev @aip-tech/braidyarn add --dev @aip-tech/braid -
Describe your processes
Create
braid.config.tsnext to yourpackage.json:braid.config.tsimport { defineConfig } from "@aip-tech/braid"; export default defineConfig({ processes: [ { name: "api", command: "pnpm", args: ["--filter", "./api", "dev"], watch: ["api/src"], }, { name: "web", command: "pnpm", args: ["--filter", "./web", "dev"] }, ], });If your
package.jsondoesn't set"type": "module"(npm initsets"commonjs"), name the filebraid.config.mtsinstead. braid finds either.defineConfiggives you autocomplete and type checking. Hereapirestarts whenever a file underapi/srcchanges;webruns a dev server with its own reload. -
Start the stack
npx braid startbraid starts every process in a background daemon and prints a summary:
[braid] 2 processes running (pid 40213) ● api pid 40214 ● web pid 40215Closing the terminal doesn't stop it.
-
Check on it, then stop it
npx braid status # what's running, with CPU and memory npx braid logs --follow # every process's output, live npx braid stop # stop everything
Add "dev": "braid start --foreground" to your
package.json scripts to run the stack attached to your
terminal instead, with every process's output streamed there until
Ctrl+C.