- Clone the repo and follow the README Quickstart.
- Ensure you have the prerequisites: Node (LTS), pnpm, Go 1.22+, Docker and Docker Compose.
- Run
make bootstrap(orscripts/bootstrap.sh) thenmake upto start local services.
- Create a branch from
mainfor your change. - Make changes; run
make testandpnpm -r lint(or equivalent) before pushing. - Open a pull request; fill in the PR template. Link any related issues.
- After review, maintainers will merge. Prefer squash merge for a clean history.
- TypeScript/Next (control-plane, web): ESLint + Prettier. Run
pnpm lintandpnpm formatin each package. - Go (agent):
gofmt; optionallygolangci-lint. Follow existing patterns in the repo. - Docs: Markdown in
docs/; keep commands copy-pasteable and accurate.
- Use clear, imperative messages. Prefix with area when helpful:
fix(control-plane): ...,docs: .... - Do not commit
.envor real secrets. Use.env.exampleas a template.
- Open a GitHub Discussion or an issue for questions and ideas.