Turn any repository into an AI-ready context pack — AGENTS.md, .cursorrules, CLAUDE.md, copilot-instructions.md and a spec, generated from your actual tree.
Paste a file tree. Deterministic extraction runs first and always succeeds; the model-assisted pass is optional. Nothing you paste is stored.
ContextForge converts a repository snapshot into the instruction files that AI coding agents read before they touch your code. You paste a file tree; it returns AGENTS.md, .cursorrules, CLAUDE.md, .github/copilot-instructions.md, GEMINI.md and a spec document.
The pipeline has two stages. Stage one is deterministic: a parser reads the tree and any key files you provide and infers package manager, language, framework, test runner, CI, entry points and directory conventions. Stage two is optional and model-assisted: an LLM turns those facts into readable prose with constraints and examples.
Because stage one never depends on the model, the product degrades honestly. No API key means a rule-based draft, labelled as such — never a fake AI response.
| Copying a template repo verbatim | It describes someone else's stack. The agent follows it confidently and wrongly. |
| Stating conventions the repo does not follow | Worse than an empty file — the agent trusts the stated rule over the code. |
| Omitting build/test/lint commands | The agent guesses commands, fails, then improvises. Always state exact commands. |
| No forbidden-paths section | Nothing stops the agent editing migrations, generated code, or lockfiles. |
| Writing it once and never updating | Context files rot. Re-run the generator when the stack changes. |
| Assuming every agent reads every file | Cursor reads .cursorrules; Claude Code reads CLAUDE.md; Copilot reads .github/copilot-instructions.md. Ship the right file per tool. |
| Starting point | Extracted from your real tree and config files | Blank file, copied from a template repo |
| Stack detection | Package manager, framework, test runner, CI inferred from files | You remember to write it |
| Coverage | Checks for build/test/lint commands, naming, forbidden paths | Whatever you remembered that day |
| Consistency | Same checklist every run, scored 0-100 | Varies by author |
| Time to first draft | Seconds | 30-90 minutes per repo |
Do not commit the generated files unread. A context file that states conventions your repo does not follow is worse than no context file. ContextForge labels every inferred fact as inferred so you can correct it.
Prices in USD. Subscriptions are billed by our merchant of record, Waffo. Cancel any time from your Waffo receipt link.
ContextForge is a generator that turns a snapshot of your repository into the instruction files coding agents read — AGENTS.md, .cursorrules, CLAUDE.md, .github/copilot-instructions.md — plus a machine-readable spec of the detected stack.
You paste a file tree and optionally a few key files. A deterministic extractor infers package manager, framework, language, test runner, CI system, entry points and directory conventions. An optional model-assisted pass turns those facts into prose. The extractor never depends on the model, so a missing API key degrades to a rule-based draft instead of failing silently.
No. The request is processed to produce a response and is not persisted. ContextForge has no database and no repository connector — it only reads what you paste into the form.
The endpoint fails closed. With no API key you get HTTP 503 with an explicit error code; if the upstream model call fails you get 502; if the fair-use quota is exhausted you get 429. You never receive a fabricated "AI-generated" result — a rule-based draft is always labelled source: rule-based.
Cursor (.cursorrules), Claude Code (CLAUDE.md), OpenAI Codex (AGENTS.md), GitHub Copilot (.github/copilot-instructions.md), Gemini (GEMINI.md), and a generic AGENTS.md fallback that most tools read.
$19 per month for the Starter plan, $190 per year (equivalent to $15.83 per month, saving $38 — about two months free). Team is $49 per month or $490 per year. Enterprise is custom-priced via email.
It is an accurate restatement of what you pasted, and clearly-marked inference where it had to guess. Facts inferred from filenames are labelled inferred; facts read from package.json or CI config are labelled detected. Treat the output as a first draft to review.