
Issues in.Code out.
Put your backlog through the forge. FragonForge turns labeled issues into merge requests ready for your review. The agent builds. You review.
1 repository · 100 runs/month
Your own API key · No credit card
- Label an issue
- Agent builds & tests
- Review the merge request
In the forge you already use
01The production line
From backlog to built.
Label an issue
Write the issue the way you would for a colleague. Add the trigger label. FragonForge receives the webhook, verifies its signature, and queues a run.
The agent works in an isolated sandbox
Each run starts a fresh Kubernetes job with a hardened runtime (Kata VMs on every plan). The sandbox holds a clone of your repository and the toolchains, and nothing else. No credentials, no network egress except one authenticated gateway.
It runs your tests
The sandbox ships real toolchains, not mocks: dotnet test, pytest, phpstan, rubocop, and more. The agent runs your test suite against its own change and iterates on failures. One condition today: your dependencies have to be in the repository already, because the sandbox has no route to a package registry.
You review the merge request
FragonForge pushes a branch, opens a merge request with a description of what it did and why, and comments on the original issue. It never merges on its own unless you explicitly allow it: autonomous merge is an opt-in that applies only to steps whose quality gate is green, and it stays off by default. Your review process stays exactly where it was: in the MR.
CSV export crashes when a column header is empty. ExportService.WriteHeader throws a NullReferenceException when a report column has no display name.
Fix: handle empty column headers in CSV export
fix/412-empty-csv-header → main
@@ ExportService.WriteHeader @@- writer.Write(col.DisplayName.Trim());+ writer.Write(col.DisplayName?.Trim() ?? "");
Closes #412. WriteHeader now emits an empty cell for unnamed columns; two regression tests cover the repro.
02The product
Inside the forge.
A working product surface built from the same interface language as the site. Switch views to follow a run, inspect the dashboard, or watch a pipeline move.
Demo workspace
INBOX
Needs you
Nothing needs you
No run is waiting on a decision from you right now.
Happening now
2 running tasksCreate API Program.cs with DI, EF, CORS, OpenAPI, and auth setup
northstar/ledgerRunning2026-09-09 19:00StopImplement meme queue and settings templates
orbit/checkoutRunning2026-09-09 19:00StopThis month
Runs this month
52/5000
Spend this month
$0.00
Projected month end
$0.00
at the current rate
Explore the dashboard, follow a task, or inspect a pipeline. Every screen is a constructed preview using the FragonForge UI system, with illustrative demo data.
03Deep planning
Big ideas. Built in sequence.
The orchestrator is what you use when the work is bigger than one issue: a feature, a module, or a whole app built from an empty repository. Describe the goal; a discovery stage clones and scans your repository, an architecture stage drafts a design you approve, and decomposition is validated step by step: acceptance criteria, files to touch, and tests to add are required for every step, or the plan is regenerated.
Then the pipeline runs. Each step goes through the normal loop in its own sandbox and lands as a merge request, in dependency order, with you as the gate between stages. A failed step retries from the earliest failed point, not from scratch.
goal shipped · 6/6 merge requests merged
04Your infrastructure
Your forge. Your way of working.
Works with your forge, not just github.com
Most coding agents assume github.com and stop there. Your code might live on a self-managed GitLab, on GitHub Enterprise, on a self-hosted Gitea or Forgejo, or on plain gitlab.com or github.com. FragonForge connects to all of them: you supply the API endpoint and a token per organization, and it is validated live against your host when you save it.
Bitbucket Cloud is the narrowest integration, and differently shaped: Bitbucket has no issue labels, so the trigger there is the pull request itself. Opened and updated pull requests run analysis automatically, a comment on a pull request dispatches agent feedback, and auto-fix pull requests still start from the dashboard. The label-an-issue loop does not exist on Bitbucket, by design rather than by backlog.
The limit
FragonForge is a hosted service and connects to your forge from our infrastructure, so an instance that is only reachable inside your private network cannot be connected today. On the Enterprise plan, a deployment on your own hardware can be arranged by agreement.
Three ways to pay for the model
Every paid plan includes a monthly FragonForge AI budget in euros: 7.50 on Solo, 25 on Team, 75 on Business. Runs draw on it as they use models, so you can start without opening an API account anywhere. When the budget is used up, runs pause and wait for the reset rather than failing or charging you something you did not agree to; an Owner can turn on an opt-in overrun limit if they would rather runs keep going. Free carries no budget.
Or connect your own API key for Anthropic, OpenAI, Google, OpenRouter, Mistral, Groq, DeepSeek, or any OpenAI-compatible endpoint. Model spend then goes on your existing contract, under the data processing terms you already negotiated with your provider, and we never resell or mark up tokens.
The third way is a subscription you already pay for. Connect a ChatGPT Plus, Pro, Team, or Business plan as your seat and the runs you start spend that plan instead. OpenAI only for now; automated triggers and the planning stage keep using the organization key.
The subscription itself pays for orchestration, isolation, code search, and collaboration. Which path a repository uses is stated in its settings, so a run never bills against something you did not expect.
The guarantee
A repository set to your key always spends your key: an organization without one fails closed, it never silently borrows someone else's.
connected providers
- Anthropic
- OpenAI
- OpenRouter
- Mistral
- Groq
- DeepSeek
- Custom (OpenAI-compatible)
Billed by your provider, on your contract. Encrypted per organization (AES-GCM), rotatable per provider. A ChatGPT plan can stand in for the OpenAI key on the runs you start yourself.
Isolation is the product
Running an AI agent against your codebase means running untrusted code. We treat it with the same posture as a CI runner, and we built the product around that fact.
Every run executes in its own Kubernetes job with a hardened runtime, non-root, from a digest-pinned, vulnerability-scanned image. Network egress is default-deny; the only way out is a single gateway that authenticates every call with a per-run token, revoked when the run ends. The sandbox holds no credentials: clone, push, and merge request calls happen outside it, and your LLM key is attached at the egress proxy, never inside the sandbox.
Read the security architecture →kubernetes job
created per run, destroyed after
kata runtime
per-run VM boundary, separate guest kernel
default-deny egress
one gateway, authenticated per run
zero credentials inside
git and LLM auth stay on the control plane
05More than the loop
Built to hold up.
01
Quality gate
The quality gate draws from a catalog of 34 analysis tools, almost all of them community analyzers you already know. A baseline-aware gate blocks only new findings, and findings can flow straight into auto-fix merge requests. The AI review adds the blast radius of the change and the callers it resolved, and says so when it cannot map the diff instead of showing an empty one.
- analysis complete
- 0 new findings
- blast radius: 3 callers
02
Code search, not a pasted repository
The agent searches an index instead of guessing. Structural search over symbols, callers and callees is on every plan, Free included; semantic search is the paid addition. The index is scoped to your organization and deleted when you leave.
34
analysis tools available
9
AST-aware languages
06Pricing
A plan for your workload.
Every paid plan carries a monthly FragonForge AI budget in euros, so a run needs no API key of your own. Bring your own key instead and that provider bills you, never us.
Free
EUR 0
No AI budget, 1 repo, 1 seat, 100 runs/month
View planSolo
EUR 29 /month
EUR 7.50 AI budget, 3 repos, 1 seat, semantic code search
View planTeam
EUR 99 /month
EUR 25 AI budget, 10 repos, 10 seats, 8 parallel runs
View planBusiness
EUR 299 /month
EUR 75 AI budget, 30 repos, 30 seats, 16 parallel runs
View planReady when you are
Give your backlog
a way forward.
Start with one repository and one issue.
See what comes out of the forge.
Free plan: 1 repository · 100 runs/month
Your own API key · No credit card