@aip-tech/braid

Run your whole dev stack as one

Describe your API, web app and workers in one config file. braid starts them in the right order, restarts them when files change, and keeps their logs.

npm install --save-dev @aip-tech/braid
pnpm add --save-dev @aip-tech/braid
yarn add --dev @aip-tech/braid
braid.config.ts
export default defineConfig({
	processes: [
		{
			name: "api",
			command: "pnpm",
			args: ["--filter", "./api", "dev"],
			watch: ["api/src"],
			readyPattern: "^Server listening",
		},
		{
			name: "web",
			command: "pnpm",
			args: ["--filter", "./web", "dev"],
			startAfter: { processes: ["api"] },
		},
		{
			name: "worker",
			command: "node",
			args: ["worker.js"],
			autoRestart: true,
		},
	],
});

Everything a multi-process project needs

One small CLI and one config file, with no services to install.

One stack, one command

Start everything in the background with braid start. Closing the terminal doesn't stop it.

Restarts that respect dependencies

Restart on file changes, wait for a process to be ready, and restart what depends on it.

Crashes handled

A crash stops the whole stack by default, or restarts just that process with backoff.

Logs that persist

Per-process, rotated log files. Tail one process or all of them with braid logs.

Real resource usage

CPU and memory for each app and everything it starts, in braid status.

Optional dashboard

Add the web dashboard plugin for status, controls and live logs in the browser.