Blitz.js is a TypeScript workable choice for web3 / defi. GreatCTO auto-detects both — adds the web3 archetype overlay, wires web3-specific gates, and runs 83 specialist agents around your existing Blitz.js workflow.
GreatCTO reads your package.json and detects blitz + web3 archetype from signals: imports, file structure, env vars, README hints.
Attaches the web3 archetype overlay: oracle review, MEV protection, upgradeability (UUPS/Diamond/Beacon) decision, multisig. Override if your specifics differ; the defaults are sensible for Blitz.js-style projects.
qa-engineer runs tsc --strict / eslint / vitest --coverage; security-officer checks for prototype pollution + XSS sinks; performance-engineer reviews bundle size + cold-start times.
Bugs you've hit before in other Blitz.js projects (connection-pool exhaustion, ORM N+1 queries, retry storms) — the agent's Step 0 includes the prior detection order. MTTR drops 94 % on second occurrence (methodology).
$ cd my-blitz-app && npx great-cto init ✓ scanning manifests… found package.json ✓ stack: blitz (TypeScript) ✓ archetype: web3 ⚠ archetype + stack combo is unusual — review overlay manually ✓ 83 agents ready $ /start "add multisig vault deposit handler" ▸ architect drafting ARCH-web3.md… ▸ pm decomposing into beads tasks… ⚐ gate:plan — your approval needed
Approve → 3 senior-devs run in parallel worktrees → 5 reviewers fan out in parallel → gate:ship → deploy. One real run walked stage-by-stage: /proof.
This is the shape of what senior-dev drafts for "multisig vault deposit handler" — auth first, schema validation, and the audit line the web3 reviewer requires before gate:ship opens.
// src/web3/mutations/createWeb3.ts — reviewed by 5 agents
import { resolver } from '@blitzjs/rpc';
export default resolver.pipe(
resolver.zod(CreateWeb3), // qa-engineer: zod schema enforced
resolver.authorize(), // security-officer: auth before handler
async (input, ctx) => {
const result = await handle(input, ctx.session.userId);
await auditLog(ctx.session.userId, 'multisig vault deposit handler', result.confidence); // gate:web3
return result;
}
);
web3 overlay.DeFi protocols with oracle strategy and MEV protection.
Token contracts with upgradeability decisions reviewed.
Custody flows with multisig and timelock enforcement.
Blitz.js (TypeScript) is not a typical fit for web3 / defi. The archetype overlay still attaches, but you may want to override defaults more aggressively. Check the web3 archetype page for the typical stack list and decide if your case is the right tool / right archetype.
No black-box "AI does it all" loop. GreatCTO is a deterministic state machine — 8 stages, 22 nodes, 2 human gates. Every node maps to a real agent on GitHub. Inspect the state machine →
$ npx great-cto init
Free, MIT, runs locally. Built as a Claude Code plugin — install with one command.
Eight stages, two human gates, four memory layers. Why this exact shape, and what I tried that didn't work.
One run, one feature, from prompt to merged PR. Time, cost, and gate-by-gate breakdown — no marketing math.
Regex vs LLM-based archetype detection, the false-positive count, and why I keep rejecting the obvious fix.
The bottleneck in agentic SDLC isn't model quality — it's process governance. Here's the state machine that closes the gap.