Forge is a self-hosted AI orchestrator that empowers developers by putting them in control. Unlike traditional AI coding tools that make decisions for you, Forge allows users to define plans and execute tasks with QA gates, ensuring code quality and reliability throughout the development process.
Deterministic AI orchestrator — you define the plan, AI executes, QA gates decide.
Self-hosted · Multi-repository · Multi-provider
Overview
Forge is a robust and deterministic orchestrator designed to put developers back in control over AI-driven coding tasks. Rather than being subject to the whims of AI, users outline a structured plan consisting of tasks, which Forge executes while maintaining rigorous quality assurance standards. This versatile tool supports multiple repositories and AI providers, making it ideal for teams looking to enhance their coding workflow without sacrificing code integrity.
Key Features
- Structured Planning: Plans are stored in a database, making them queryable, versioned, and persistent. This ensures that no session data is lost and allows for seamless review and modification.
- AI as a Tool: Forge treats AI as a tool, not a decision-maker. You define what to code and when. Forge manages the plan execution and quality checks without AI interference.
- Custom QA Gates: Users can implement custom QA gates to enforce coding standards and ensure output quality. This includes traditional CI checks integrated into the workflow.
- Flexible AI Integration: Forge supports various AI providers, allowing users to choose the best tool for their requirements, whether it's the Claude SDK, OpenAI Codex, or local models.
Functional Workflow
The Forge workflow consists of the following steps:
- Create a Plan: Plans comprise a structured set of tasks that are stored in a database.
- Task Execution: Forge invokes a chosen AI provider with a controlled context. It builds the prompt and scopes the AI's task boundaries.
- Quality Assurance: After AI generates code, the output is validated against user-defined QA gates.
- Commit or Retry: If QA succeeds, the output is committed. If it fails, Forge retries or escalates the issue for human intervention.
Example Configuration
A typical configuration for QA gates in a .forge.json file looks like this:
{
"maxRetries": 3,
"qaGates": [
{ "name": "ESLint", "command": "pnpm eslint . --ext .ts,.tsx" },
{ "name": "TypeScript", "command": "pnpm tsc --noEmit" },
{ "name": "Coverage", "command": "pnpm test:coverage" },
{ "name": "Build", "command": "pnpm build" }
]
}
Why Use Forge?
The need for a tool like Forge stems from the limitations of existing AI coding tools that often put AI in charge. With Forge, developers can maintain ownership over the coding process, ensuring that quality is upheld while still leveraging AI's ability to generate code. By establishing a deterministic process, Forge reduces the risks associated with poor AI outputs and encourages a pragmatic approach to code quality.
Conclusion
Forge is not merely an AI product; it is a framework designed to enforce discipline in AI-assisted coding. With its focus on robustness and developer control, Forge stands out as a solution for teams seeking to elevate their development processes without compromising on quality.
No comments yet.
Sign in to be the first to comment.