Thanks for contributing. This guide covers local setup, engineering workflow, and release expectations.
- Bun
>= 1.3.0 - Docker (required for full integration tests)
git clone https://github.com/YOUR_USERNAME/ignite.git
cd ignite
bun install
bun run buildignite/
├── packages/
│ ├── cli/ # CLI commands and UX
│ ├── core/ # Service loading, runtime, preflight, execution
│ ├── http/ # HTTP API server
│ ├── shared/ # Shared types/errors/logging
│ └── runtime-bun/ # Runtime Dockerfile assets
├── docs/ # Product and design docs
├── examples/ # Example services
├── scripts/ # Build and release scripts
└── .github/workflows # CI/CD workflows
git checkout -b feature/your-changeUse Bun for installs and scripts. Do not use npm.
bun run lint
bun run typecheck
bun run test:unit
bun run testNotes:
test:unitexcludes Docker-heavy suites.testis the full suite and requires Docker.
We use Conventional Commits:
feat:new featurefix:bug fixdocs:documentation changerefactor:non-behavioral code refactortest:test changeschore:maintenance
Example:
git commit -m "feat(cli): validate runtime version overrides"Please keep PRs scoped and include:
- clear summary
- rationale and behavioral impact
- verification commands and results
- docs updates for user-visible behavior changes
CI (.github/workflows/ci.yml) runs on pushes and PRs:
bun install --frozen-lockfile- build
- lint
- typecheck
- unit tests
- full tests (Docker)
Release job runs on v* tags and:
- verifies tag version matches
package.json - builds binaries
- publishes archives and
SHA256SUMS
bun run scripts/release.tsThe script now enforces:
- clean working tree
- branch detection (no hardcoded branch)
- pre-release checks (
lint,typecheck,test:unit)
If you discover a vulnerability, please report privately to the maintainer instead of opening a public issue.