Fastify is a TypeScript workable choice for mobile app. GreatCTO auto-detects both β adds the mobile-app archetype overlay, wires mobile-app-specific gates, and runs 83 specialist agents around your existing Fastify workflow.
GreatCTO reads your package.json and detects fastify + mobile-app archetype from signals: imports, file structure, env vars, README hints.
Attaches the mobile-app archetype overlay: IAP receipt validation, App Store / Play Store policy, push token security, privacy nutrition labels. Override if your specifics differ; the defaults are sensible for Fastify-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 Fastify 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-fastify-app && npx great-cto init β scanning manifestsβ¦ found package.json β stack: fastify (TypeScript) β archetype: mobile-app β archetype + stack combo is unusual β review overlay manually β 83 agents ready $ /start "add in-app purchase verification" βΈ architect drafting ARCH-mobile-app.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 "in-app purchase verification" β auth first, schema validation, and the audit line the mobile-app reviewer requires before gate:ship opens.
// src/routes/mobile-app.ts β drafted by senior-dev, reviewed by 5 agents
export default async function routes(app: FastifyInstance) {
app.post('/mobile-app', {
preHandler: app.requireAuth, // security-officer: auth before handler
schema: { body: mobileAppSchema }, // qa-engineer: JSON-schema enforced
}, async (req, reply) => {
const result = await handle(req.body, req.user);
await app.audit.log(req.user.id, 'in-app purchase verification', result.confidence); // gate:mobile-app
return result;
});
}
mobile-app overlay.Consumer apps with IAP receipt validation.
B2B field apps with offline-first sync.
Apps with push pipelines and privacy nutrition labels.
Fastify (TypeScript) is not a typical fit for mobile app. The archetype overlay still attaches, but you may want to override defaults more aggressively. Check the mobile-app 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.