Thank you for your interest in contributing to Forge! This guide will help you get started.
- Node.js 20+
- pnpm 9+
- Git
git clone https://github.com/your-org/forge.git
cd forge
pnpm install
pnpm build
pnpm test| Package | Path | Description |
|---|---|---|
@forge-ai/cli |
packages/cli |
CLI binary — deploy, diff, rollback, validate commands |
@forge-ai/sdk |
packages/sdk |
TypeScript types and programmatic API |
@forge-ai/adapters |
packages/adapters |
Provider integrations (Anthropic, OpenAI, Ollama) |
@forge-ai/enterprise |
packages/enterprise |
Enterprise features (BUSL-1.1 licensed) |
- Check existing issues to avoid duplicate work.
- For significant changes, open an issue first to discuss the approach.
- Fork the repository and create a feature branch from
main.
- New provider adapters go in
packages/adapters/src/<provider>.tsand are re-exported frompackages/adapters/src/index.ts. - New CLI commands go in
packages/cli/src/commands/<command>.tsand are registered inpackages/cli/src/index.ts. - Shared types belong in
packages/sdk/src/types.ts. - Tests are co-located as
*.test.tsnext to the file they test.
- TypeScript strict mode — no
anyshortcuts. - ESLint and Prettier are configured. Run
pnpm lintto check. - Keep functions small and focused. Prefer clarity over cleverness.
Run the full check suite:
pnpm build && pnpm test && pnpm typecheckAll three must pass before submitting a PR.
Use clear, descriptive commit messages:
feat: add bedrock adapterfix: handle empty forge.yaml gracefullydocs: add rollback examplestest: add planner diff edge cases
- Keep PRs focused — one feature or fix per PR.
- Include a clear description of what changed and why.
- Add tests for new functionality.
- Update documentation if the public API changes.
- Ensure CI passes before requesting review.
The open-source core (MIT) includes all functionality that individual developers and small teams need. Enterprise features (BUSL-1.1) cover governance, compliance, and team management needs.
Enterprise features (packages/enterprise/) are licensed under BUSL-1.1. If you're unsure whether a contribution belongs in OSS or enterprise, open an issue to discuss.
Contributions to enterprise features are welcome but will be licensed under BUSL-1.1.
- Use GitHub Issues for bug reports and feature requests.
- Include reproduction steps, expected behavior, and actual behavior.
- For security vulnerabilities, please email security@forge-ai.dev instead of opening a public issue.
This project follows the Contributor Covenant Code of Conduct. By participating, you agree to uphold this standard.
By contributing to Forge, you agree that your contributions will be licensed under the MIT License (for core packages) or BUSL-1.1 (for enterprise packages), matching the license of the package you're contributing to.