Thanks for contributing to CloudBurn.
- Node.js 24+
- pnpm 10+
pnpm install
pnpm buildpnpm install runs the root prepare script and installs the Husky git hooks for
the repo. If you installed with scripts disabled, run:
pnpm preparepnpm verifyThis runs lint, typecheck, and test across the monorepo.
See docs/ARCHITECTURE.md for the full package graph and responsibility matrix.
The dependency direction is cli -> sdk -> rules. No reverse imports.
- Add TSDoc docstrings to all exports. Document purpose, parameters, and return values.
See docs/guides/adding-a-rule.md for the full end-to-end walkthrough covering file placement, createRule, dataset dependencies, tests, and registration.
Write .changeset/<slug>.md files directly for user-facing package changes. Published packages: cloudburn (cli), @cloudburn/sdk, @cloudburn/rules.
One changeset file per package — never list multiple packages in one file.
Do not run the versioning step in feature PRs. Versioning happens in the automated
release PR on main.
Maintainer-only release scripts:
pnpm changeset:version
pnpm releaseUse Conventional Commits with package scope:
feat(sdk): add S3 lifecycle rule support
fix(rules): correct evaluator for CLDBRN-AWS-EBS-1
refactor(cli): simplify output formatter
Types: feat|fix|refactor|build|ci|chore|revert|docs|style|perf|test.
- Use a conventional commit title matching the primary change (e.g.
feat(sdk): short description). - Fill in
.github/pull_request_template.md. - Link related issues.
- Include what you tested.
Use GitHub issue forms:
- Bug Report
- Feature Request
Security disclosures should not be filed as public issues.