← Back to Home

The full engine, in depth.

Every part of TLM Forge, explained in plain words, each with its own page: what it does, how to use it, and why it helps. You only ever type one command, /tlmforge:build, and TLM Forge runs the right steps for your task.

New here? The basics in one minute

TLM Forge is a plugin for Claude Code. You install it once, type /tlmforge:build, and describe what you want. Instead of writing code straight away, Claude follows a disciplined process: it checks it understood you, plans, writes tests first, and has separate AI reviewers check the work before it ships. How much of that process runs depends on the size of the task.

How much process does my task get?

SizeWhat kind of changeExamplesWhat TLM Forge does
LightNo new logic. A change you can read in ten seconds.Fixing a typo, renaming something, changing a config valueClaude makes the change directly, writing a test first, and shows you a quick diagram. No reviewer agents.
MediumFixes or improves something that already exists.A bug fix, tidying up a module, adding missing testsYou approve a diagram first. Then a short written analysis of the fix, a plan that two reviewers check, tests first, and a final review by two reviewers (one more each if your change touches the UI).
DeepAdds something new, or changes how your app makes a security decision.A new feature, API endpoint, screen or integration, or a change to how login, passwords, permissions or session tokens workThe full process: diagram sign-off, a full risk audit, a reviewed plan that includes a security threat review, tests first, a final review by five reviewers (one more if your change touches the UI), and a check on a real running environment.

TLM Forge picks the size for you and tells you in one sentence. Disagree? Just say “go deeper” or “go lighter”.

What happens, step by step

StepWhat happens, in plain wordsRuns on
Size it upDecides Light, Medium or Deep and tells you in one sentence.Every task
Check understandingRestates your request and asks about anything unclear.Every task
Update the code mapRefreshes the architecture notes for the parts your change touches.Medium, Deep
Show the designDraws a diagram of the change. On Medium and Deep it waits for your OK, then you sign a short list of goals.Every task
Audit the requestDeep: lists hidden assumptions, security risks and rollback risks before any code. Medium: a short written analysis of what broke and how to fix it.Medium, Deep
Plan and review the planWrites a file-by-file plan; independent reviewers check it.Medium, Deep
Build, tests firstWrites a failing test, then the code that makes it pass, one phase at a time.Medium, Deep
Final reviewSeparate reviewers check the finished code; serious problems get fixed, test first.Medium (2 reviewers, 3 with UI), Deep (5, or 6 with UI)
Check it for realProves the feature works on a real running environment.Deep
Hand over proofA page with the working result, before and after, and a status report.Medium, Deep

What the problem labels mean

LabelWhat it meansWhat happens to it
CRITICALSerious enough to stop the work from shipping, for example a security hole.Fixed before work ships, test first. If it cannot be fixed, it is brought to you.
HIGHMust be fixed before launch.Fixed before work ships, test first.
MEDIUMShould be fixed, but does not stop the work.Written down on a list of leftovers for you, instead of looping forever.
LOWNice to fix.Written down on the same list.

Every feature, with its own page

The pipeline

The steps TLM Forge runs for you, in order, after you type /tlmforge:build and describe your task. You never start them one by one: TLM Forge picks which ones your task needs based on how big and how risky it is.

Stage 0.5: checking it understood you

Checks it understood you before writing anything

Before any code is written, TLM Forge repeats your request back in two or three sentences and lists anything it is unsure about. If a question could change the design, Claude asks you and waits. A misunderstanding costs you one reply instead of a wasted build.

Read the documentation
A "Team invites" feature request with the requirement "Invite links work for new users." highlighted, and a dotted line to a TLM Forge terminal at Stage 0.5 that restates the request, flags "[BLOCKING] Does a link expire?" and waits, with a card quoting the highlighted requirement and the footer "Nothing runs until you answer".
Stage 0: sizing the change

Checks big and risky changes harder than small ones

Before any work starts, TLM Forge sorts your task into one of three levels: Light, Medium or Deep. Small, safe changes stay fast, while new features and anything that changes how your code makes a security decision get the full set of checks. You can move the level up or down with one phrase.

Read the documentation
A two-line pull request "Keep users signed in longer" with the line "ttl = timedelta(days=30)" in src/auth/session.py highlighted, and a dotted line to a TLM Forge terminal at Stage 0 that notes it looks like Medium but touches session and token mechanics, so it goes Deep, with a card reading that a one-line change to how long a session token lives is a security decision.
Stage A: refreshing the map of your code

Keeps the map of your system up to date

TLM Forge keeps a written map of how your code fits together. Before planning a Medium or Deep change, it checks which parts of your code changed since the map was last updated and rewrites only those parts. Planning and reviews then start from an accurate picture.

Read the documentation
docs/ARCHITECTURE.md open in an editor with its header block and component index, the catalog row highlighted, and a dotted line to a TLM Forge terminal at Stage A showing the doc verified at an older commit, a git diff of changed file names, catalog and search marked stale, two sections rewritten and five kept, with a card stating only those two sections were rewritten.
Stage B: your OK on the design

Shows you the design and waits for your OK

Before any code is written, TLM Forge draws two simple diagrams of how the change will work. On Medium and Deep work it waits for your reply, then asks you to sign a short written goal with a clear definition of done. On Pro, a check built into the plugin enforces the wait.

Read the documentation
Stage 1: finding hidden risks in your request

Finds the hidden risks in your request first

Before a plan is made, TLM Forge writes a risk check of your request: unstated assumptions, ways it could fail, costs and steps that cannot be undone. On Deep work, each risk is ranked and comes with a recommendation. Questions only you can answer pause the run until you reply.

Read the documentation
A feature request with "Retry the charge if a payment fails" highlighted, and a dotted line to a CRITICAL assumption from TLM Forge's Stage 1 spec audit: it doesn't say how many times or whether a customer can be charged twice, one of six findings surfaced before any code, raised as a [GATE-BLOCKING] question you answer before any code is written.
Stages 2 and 3: the plan and its review

A written plan, checked by fresh reviewers, before any code

Before Claude writes any code, TLM Forge has it write a step-by-step plan that names every file it will change and every test it will add. Then AI reviewers who did not write the plan check it for flaws, so a bad design is caught while it is still cheap to fix.

Read the documentation
A master plan file, specs/saved-cards/README.md, listing three phases with their files, signatures and test names, with line 14, "drop column orders.card_number" in Phase 2, highlighted. A dotted line runs to a TLM Forge terminal showing the Stage 2 design pass drafting the plan and the Stage 3 background plan review by architect-reviewer, tester and threat-modeler, which reports a CRITICAL at line 14, a HIGH and a MEDIUM, and ends BLOCKED_ON_USER. A card lifted from the terminal says the column drop cannot be undone and belongs in the last phase behind your approval, citing the README at line 14.
Stage 4: the build

Tests first, one small phase at a time, with proof saved

TLM Forge builds your change in small, numbered phases. In each one, tests are written first and must fail, then the code makes them pass. What counts as passing is committed before the tests run, and the real results after. Your full existing test suite runs at the end.

Read the documentation
Stage 5: the final review

Several reviewers check the finished change at once

When the build is done and all tests pass, several specialist AI reviewers read the whole change at the same time. Only serious problems (CRITICAL and HIGH) get fixed, tests first. Smaller ones go on a list for you. TLM Forge tells Claude not to commit or publish until every reviewer has reported.

Read the documentation
A pull request adds ship(order) to a payment webhook handler, and a dotted line runs from that line to a CRITICAL red-team-reviewer finding from TLM Forge's Stage 5 review wave (five reviewers in parallel): replaying the webhook ships the order twice, so the merge is held while the fix wave writes a failing test and then the fix.
Stages 3 and 5: how review results are counted

A reviewer that stays silent never counts as a pass

Every reviewer must fill in a standard results form, not just write prose. If a reviewer skips the form, or blocks the work without listing a single problem, TLM Forge counts that as a CRITICAL instead of a quiet pass. The decision comes from counting serious problems, not from the reviewer's tone.

Read the documentation
After the final review

Commits and pushes pause if code changes after review

When the final review finishes, TLM Forge records exactly which version of your code it checked. If code changes after that, a check built into the plugin stops Claude from committing, pushing or merging until the new code gets a short review. Notes and reports in the specs/ and docs/ folders still go through.

Read the documentation
A git log with the reviewed commit 3f9c2a1 highlighted below a newer commit 8b41e07 at HEAD, and a dotted line from it to a TLM Forge terminal where git push is stopped by the "Stage 5 re-review required" hook message, with a BLOCKED card saying the final audit reviewed 3f9c2a1 but HEAD is now an unreviewed commit, so the push is blocked until 8b41e07 is reviewed.
Stage 6: the live check

New features are tested on a real system, not fakes

On Deep work (new capabilities or security changes), Claude tests the change on a real deployed copy of your app instead of fakes, and saves the results with the commands to rerun them. If you ask, a separate checker that never saw the code tests each goal and reports what fails.

Read the documentation
A checkout's Order confirmed page on a dev site with "1 charge · $108.00" highlighted, and a dotted line to a PASS card from TLM Forge's Stage 6 live verification, run as a dedicated test user on the deployed dev environment: after a dropped connection and a retry the customer was charged once, with the evidence recorded in E2E_VERIFICATION.md.
Stage 7: the wrap-up

Every run ends with proof you can open and look at

At the end of a Medium or Deep run, TLM Forge gives you one page of proof: a version you can run, screenshots or real output, and before and after views wherever a before exists. Claude also writes a status report with the leftover issues and saves lessons for the next feature.

Read the documentation
A proof pack manifest, specs/cards/proof/manifest.json, with the before screenshot path "before/checkout.png" on line 8 highlighted and captions for base e93a6c7 and HEAD 8b41e07. A dotted line runs to a TLM Forge terminal at Stage 7: before captured from the base commit in a detached worktree, after from HEAD with the same steps, proof_pack.py building index.html, STATUS.md listing two residual items, learnings.md appended and the proof pack opened. A card lifted from the terminal says the before shot came from the base commit and the after shot from HEAD, side by side, citing the manifest at line 8.

On demand

Extra tools and controls you use by simply asking Claude in plain English, whenever you want them.

Built for teams

Features for teams: a written record of every decision on a GitHub issue, and checks that make sure the design step really happened.

The review council

Eight specialist AI reviewers. Each one looks at your work for one kind of problem only, starting fresh without the conversation that produced the code, so it judges the work rather than the intentions behind it.

A master plan file, specs/retries/README.md, open in an editor with line 7, http.retry_with_backoff(charge, tries=3), highlighted. A dotted line runs to a card lifted out of a TLM Forge terminal running the Stage 3 plan review: the architect-reviewer gives the verdict NEEDS REVISION with a CRITICAL hallucinated API on line 7, a HIGH scope creep finding for a strategy registry on line 12, and a MEDIUM note that phase 2 lists no tests, then routes the plan-level CRITICAL as BLOCKED_ON_USER. The card says the helper is not in the HTTP client version the repo pins, so phase 1 is built on a call that does not exist, and leaves the choice to you: revise the plan or accept.
Review team

A senior design reviewer for Claude's plans

On bigger tasks, this agent writes the plan for the change, and a fresh copy of it then reviews that plan. It hunts for made-up functions, invented libraries, needless complexity and work nobody asked for. On Deep work, such as a new feature, it also checks the finished change at the end.

Read the documentation
A Python file, billing/customers.py, open in an editor where get_customer looks up a customer and, on line 11, silently calls Customer.create(email), which is highlighted. A dotted line runs to a card lifted out of a TLM Forge terminal running the Stage 5 review wave: the code-reviewer warm-starts from the Stage 5 brief on the feature's diff, gives the verdict NEEDS REVISION with two CRITICAL findings on line 11, a lookup that creates and a new branch with no test, and a MEDIUM magic value on line 17, writes final_audit_code-reviewer.json, and holds commits until the fix wave runs. The card explains that a reader expects a lookup and no test covers the create branch.
Review team

A code reviewer that reads the code around the change

The code-reviewer checks the finished change the way a careful senior engineer would. It wants tests for every change, code that does what its name says, and new code that fits your repo's existing patterns. It runs once, at the final review, and matches every changed file to its tests.

Read the documentation
A carryover file, tester_edge_cases.json, open in an editor with four edge cases written at plan review; the entry for EC3, "Pay tapped twice", expected to produce exactly one charge, is highlighted. A dotted line runs to a card lifted out of a TLM Forge terminal running the tester in the Stage 5 review wave: it uses the file as its floor and cites the saved suite run, finds EC1, EC2 and EC4 covered at unit or integration level, flags EC3 as CRITICAL with no test at any layer, gives the verdict FIX BEFORE SHIPPING, writes a test stub for EC3 and treats HIGH and above as a hard block.
Review team

A tester that asks "what happens when..." for every change

The tester has one job: find what can go wrong, and make sure a test proves it won't. It reviews the plan on Medium and Deep work. On Deep work it also writes down the edge cases the build must test, then checks at the final review that each one really has a test.

Read the documentation
A phase spec, specs/retries/phase-2-retry-table.md, open in an editor listing the files to be modified, the tests to be added and a rollback table; the row "migrate payments 0006, 2 min, data risk None" on line 13 is highlighted. A dotted line runs to a card lifted out of a TLM Forge terminal running the phase-auditor in the Stage 5 review wave: in its own detached git worktree it runs rollbacks in reverse phase order, runs python manage.py migrate payments 0006, finds the payments_retryattempt table still there and reports phase 2's rollback as a CRITICAL executed-fail, reports phase 1's rollback and GOAL.md proof 1 as executed-pass, and gives the verdict DO_NOT_SHIP.
Review team

An auditor that runs your undo steps, not just reads them

The phase-auditor checks one thing: did Claude deliver exactly what each part of the plan promised? It compares the promised files, tests and checks against what actually changed. Then it runs every undo step itself, in a separate copy of your repo. An undo step that does not undo is a critical finding.

Read the documentation
A pull request titled "Let customers download invoices" with the line "invoice = Invoice.get(id)" highlighted, and a dotted line to a TLM Forge terminal running the Stage 5 review wave (code-reviewer, tester, phase-auditor, red-team-reviewer, architect-reviewer). The red-team-reviewer reports a CRITICAL at line 18, "any user reads any invoice", and a MEDIUM at line 19. A lifted card reads: change the id in the URL and Invoice.get(id) returns another customer's invoice; login is checked, ownership never is. Source billing/routes.py, line 18, BLOCKED until resolved.
Review team

A last check that attacks your code like a hacker would

On Deep work, this reviewer reads your finished code as a malicious user who knows it well. It looks for real ways in, such as one customer reading another customer's data. Every top-severity finding must name the exact file, the line and how the attack works.

Read the documentation
A master plan file, specs/report-links/README.md, with step 3 "Email the link, token in the URL" highlighted, and a dotted line to a TLM Forge terminal: the request "build share links for reports", "Going Deep: a new sharing flow", and Stage 3 plan review in the background with architect, tester and threat-modeler. The threat-modeler lists a CRITICAL "email treated as private", a HIGH "link not tied to recipient" and a MEDIUM "report titles in logs", then BLOCKED_ON_USER, plan-level. A lifted card reads: the plan assumes email is private; mail archives keep the URL, so anyone with a copy can open the report. Source line 6, plan revised before it ships.
Review team

Spot security mistakes baked into the plan itself

On Deep work, this reviewer reads the written plan as the build begins. It asks one question: what does this design take for granted that an attacker could break? Caught early, the fix is usually a plan change, not a rewrite.

Read the documentation
A component file, src/SavedCards.tsx, with the line "<TrashIcon />" inside a delete button highlighted, and a dotted line to a TLM Forge terminal running the Stage 5 review wave: the diff has UI files, so ux-reviewer joins. It reports a CRITICAL at line 25, "icon button has no name", a HIGH at line 24, "delete has no undo", a MEDIUM at line 20, "no empty state", and VERDICT: NEEDS REVISION. A lifted card reads: the delete button is only <TrashIcon />; a screen reader just says "button", so no one knows it removes a card. Source src/SavedCards.tsx, line 25.
Review team

Catch accessibility and design slips on changed screens

When a task changes what users see, TLM Forge adds a reviewer for the screens. It looks for buttons a screen reader cannot name, missing empty or error states, and broken platform rules. Each issue comes with the file, the line and a fix.

Read the documentation
A plan file, specs/search/README.md, with the cost line "Embeddings: about $5 a month" highlighted, and a dotted line to a TLM Forge terminal where the user types "use tlmforge:general-purpose on the plan" and the agent runs a cross-cutting review: VERDICT NEEDS REVISION, a CRITICAL cost finding "no source for estimate", warnings "free tier hides real cost", "revert keeps backfill" and "SEARCH_KEY not in runbook", and "report only, no files changed". A lifted card reads: "about $5 a month" cites no pricing page, and nothing says what it costs at ten times the traffic. Source line 4, NEEDS REVISION.
Review team, on request

An on-request check for cost, deployment and docs

This reviewer checks a plan for what the specialist reviewers skip: cost guesses with no source, deployments nobody else could run, and docs that do not match the code. TLM Forge never starts it on its own. You run it by asking for it by name.

Read the documentation