afkode / Documentation Back to Home

Afkode Documentation

Everything you need to know about planning and building features with Afkode.

What is AFK Coding?

AFK — away from keyboard.

Building software with AI today means managing the AI. You write the prompt, review the output, re-explain context when the model forgets, copy-paste between files, fix what it got wrong, and start over when the conversation drifts. The real work isn't the coding — it's the context management. Making sure the AI knows about the right files, the right patterns, the right requirements, the right tests. Every session, you rebuild this from scratch.

AFK coding separates the work that only you can do from the work a system can handle better.

Your job: describe what you want to build and make the decisions that shape the product. What should this feature do? Who is it for? What are the acceptance criteria? What's in scope and what's not? This is where your expertise matters most — the product thinking, the business context, the priorities that no AI can decide for you.

The system's job: everything else. Analyze the codebase. Plan the architecture. Break the work into tasks with the right dependencies. Assemble the exact context each task needs — the relevant requirements, the right files, the patterns to follow. Implement each task in a fresh session that never loses context, never gets confused by previous conversations, never cuts corners because it's "running low on tokens." Write real tests. Verify every acceptance criterion. Commit working code. Run for hours without intervention, with the same thoroughness on the last task as the first.

No re-explaining. No context pollution. No skipped tests. No "I'll just manually check this one." The system doesn't get tired, doesn't rush, and doesn't decide that testing isn't worth the effort. It follows the plan you approved, all the way through.

You spend your time where it creates the most value — defining what to build, talking to customers, growing your business. The engineering runs in the background, methodically and completely, until it's ready for your review.

That's AFK coding. That's what Afkode is built for.

Features, Not Chats

Most AI coding tools work in chat sessions. You open a chat, describe something, iterate back and forth. The session has no structure — just a conversation. When you start a new one, the context is gone.

Afkode works in features. In Afkode, a "feature" is any scoped piece of work — a new capability, a refactor, a batch of bug fixes, a migration, an architecture change. Whatever it is, when you define it, you're not starting a conversation. You're creating a structured unit of work with its own lifecycle:

This is why the initial definition matters. It's not a prompt that gets one response — it's the seed for an entire engineering pipeline. The clearer you define the work, the better every downstream artifact becomes.

Think of it this way: other tools let you talk to an AI about code. Afkode lets you commission a piece of engineering.

System Requirements

Download & Install

Download the latest version from afkode.ai. Drag the app to your Applications folder. The app checks for updates automatically and downloads them in the background.

Onboarding Wizard

When you first launch Afkode, a four-step wizard walks you through setup. This takes about two minutes and only happens once.

1

Welcome

A quick introduction to what Afkode does. Click Get Started to proceed.

2

Your Tools

Afkode scans your system for installed AI coding agents (Claude Code, Codex, Gemini, Kimi). You need at least one. If you don't have any, click Install next to the tool you want — Afkode handles the installation for you.

3

Project Setup

Choose Open Existing Project to select an existing git repository, or Create New Project to initialize a fresh one. Afkode validates that the directory is a git repo with at least one commit, then asks you to select your main branch.

4

Account

Sign up with email/password or Google OAuth. New accounts get a 7-day free trial with full access to all features — no credit card required.

Your First Project

A project in Afkode is a git repository on your machine. When you add a project, Afkode validates it's a proper git repo, detects the main branch, and uses it as the base for all feature branches. You can manage projects from Settings → Projects.

Important: Your main branch stays protected. All AI-generated changes happen in isolated git worktrees. Nothing is merged until you explicitly approve it.

Connecting AI Providers

After onboarding, go to Settings → Accounts to connect your AI providers. You can connect multiple providers and assign different models to different tasks.

ProviderAuthenticationHow to Connect
Claude (Anthropic)OAuth or CLI loginClick "Connect" and follow the Anthropic OAuth flow, or use an existing Claude Code CLI login
Codex (OpenAI)OAuth or CLI loginClick "Connect" and follow the OpenAI OAuth flow, or install and log in to the Codex CLI
Gemini (Google)API keyPaste your Google AI API key from the Google AI Studio
Kimi (Moonshot)CLI loginInstall the Kimi CLI and log in through their authentication flow
OpenCodeAPI keyPaste an API key for any provider supported by OpenCode (Anthropic, OpenAI, Google, etc.)

Supported Providers

Afkode works with your existing AI subscriptions or API keys. You pay your AI provider directly — Afkode charges no markup on AI usage.

OpenCode expands your options. If a model is available through OpenCode, you can use it in Afkode. This means new models from any provider become available as soon as OpenCode supports them — no Afkode update required.

Model Assignments

Afkode has independently configurable activity slots across planning, execution, and review. Each slot can be assigned to any provider and model combination. This means you can use Claude Opus for architecture decisions, Codex for implementation, Gemini for fast tasks, and Kimi for elaboration — all within the same feature.

Planning Slots (10)

SlotWhat It Does
AnalysisScans your codebase to understand patterns, structure, and conventions
Spec ContextBuilds structured specification from the analysis
CategorizationClassifies the feature and generates clarifying questions
Q&AInteractive conversation with you to clarify requirements
PRD StructureGenerates the outline of the Product Requirements Document
PRD SectionsWrites individual PRD sections in parallel
Blueprint StructureGenerates the outline of the Technical Blueprint
Blueprint SectionsWrites individual Blueprint sections in parallel
Tasks StructureGenerates the task breakdown outline
Tasks ElaborationElaborates each task with subtasks, files, and verification criteria

Execution Slots (3)

SlotWhat It Does
Task ExecutionImplements each task — writes code, runs commands
Batch QCRuns verification tests after a group of related tasks
Feature QCFinal comprehensive verification of the entire feature

Review Slots (3)

SlotWhat It Does
Q&AAnswers your questions about the implementation
Bug FixInvestigates and fixes bugs you report
MergeHandles the merge-to-main process

Multi-Model Orchestration

When a task runs, Afkode looks up the model assignment for that specific activity, resolves the provider credentials, and routes the request to the right AI backend. This happens transparently — you configure assignments once in Settings, and every feature uses them automatically.

The benefit: use your most capable (and expensive) model for the tasks that need it most, and a faster, cheaper model for everything else.

Based on extensive testing across hundreds of features, here's what we recommend for each activity. You're free to experiment, but this configuration gives the best balance of quality, speed, and cost.

ActivityClaudeEffortCodexEffort
PLANNING
AnalysisClaude Opus 4.7HighGPT-5.4High
Spec ContextClaude Haiku 4.5MaxGPT-5.4 MiniHigh
CategorizationClaude Haiku 4.5HighGPT-5.4 MiniHigh
Q&AClaude Opus 4.7HighGPT-5.4 MiniHigh
PRD GraphClaude Opus 4.7HighGPT-5.4High
PRD SectionsClaude Haiku 4.5MaxGPT-5.4 MiniHigh
Blueprint GraphClaude Opus 4.7HighGPT-5.4High
Blueprint SectionsClaude Opus 4.7HighGPT-5.4 MiniHigh
Task GraphClaude Opus 4.7MaxGPT-5.4XHigh
Task BreakdownClaude Haiku 4.5MaxGPT-5.4 MiniHigh
EXECUTION
TasksClaude Opus 4.7MaxGPT-5.4High
Integration Tests Claude Opus 4.7 Max GPT-5.4 High
Final Acceptance Claude Opus 4.7 Max GPT-5.4 XHigh
REVIEW
Q&AClaude Haiku 4.5HighGPT-5.4 MiniHigh
Bug FixClaude Opus 4.7HighGPT-5.4High
MergeClaude Opus 4.7HighGPT-5.4High

Why frontier models for QC? Verification is the hardest task in the entire pipeline. The QC agent must trace every acceptance criterion to a test, verify edge cases, audit test infrastructure, and produce real passing tests — not mock assertions. In our testing, Claude Opus 4.7 (Max for batch and feature QC) and GPT-5.4 (High for batch QC, XHigh for final acceptance) are the strongest options for reliably completing the full verification loop without cutting corners. If you care about the quality of the code that reaches your main branch, this is where to invest.

The Verification Loop

QC tasks don't just "write some tests." They follow a structured verification loop that ensures every requirement is actually tested:

1

Check Every Acceptance Criterion

The QC agent receives the verification requirements from planning and systematically checks each acceptance criterion against the actual implementation. It understands your project's test framework and conventions before writing a single test.

2

Write and Run Targeted Tests

For each criterion, the agent writes targeted tests — unit tests for isolated logic, integration tests for component boundaries, and e2e tests for user-facing flows. Tests match your project's existing conventions. Failing tests are investigated and fixed in place — the agent doesn't move on until they pass.

3

Report Coverage

After all tests pass, the agent audits coverage: which acceptance criteria have tests, which don't, and which edge cases are untested. Gaps are reported explicitly — not hidden. Infrastructure discoveries are captured so future tasks and features benefit from this knowledge.

For Batch QC tasks, this loop covers the tasks in that specific batch. Feature QC runs comprehensive verification across the entire feature, checking for regressions and cross-task issues.

This is why model choice matters for QC. The verification loop demands a model that can hold the full picture — requirements, criteria, existing tests, infrastructure constraints — and systematically work through each step without skipping or simplifying. In our experience, Claude Opus 4.7 Max and GPT-5.4 XHigh are the two strongest options for carrying this loop end-to-end.

How Afkode Runs AI

Afkode is a first-party integration with the native CLI tools from each AI provider. It doesn't use wrapper APIs, proxy servers, or middleware. When a task runs, Afkode spawns the provider's official CLI directly on your machine, passes it a curated prompt, and streams the output back.

What "First-Party" Means

Each supported provider ships an official command-line tool (Claude Code, Codex CLI, Gemini CLI, Kimi CLI, OpenCode). Afkode launches these tools as local subprocesses — the same binaries you could run from your terminal. No traffic is proxied through our servers. The AI runs locally, reads your files locally, and writes code locally.

The Execution Flow

1

Locate the CLI

Afkode finds the provider's CLI on your system automatically.

2

Assemble the Prompt

The context engine builds a curated prompt with exactly the right PRD sections, blueprint decisions, task details, and project learnings for this specific task.

3

Spawn the CLI

Afkode spawns the CLI as a local subprocess in your feature's worktree directory and streams the output back in real time.

4

Stream & Track Progress

As the agent works, Afkode parses the streaming output to track subtask progress, token usage, and tool activity. When the agent commits code, Afkode detects the commit and records it.

For OpenCode, the integration works slightly differently — a local background process handles communication with the provider. It runs on your machine only and is never exposed to the network.

Agent Permissions by Provider

When Afkode spawns an AI agent, it grants the agent full autonomy to complete the task without interactive prompts. This is necessary because there's no human at the keyboard during execution — the whole point is AFK coding.

Here's what each provider's agent can do:

ProviderPermissions GrantedHow
Claude Code Read files, write files, run shell commands, web search The --dangerously-skip-permissions flag auto-approves all tool use. No interactive prompts.
Codex Read files, write files, run shell commands, network access The --dangerously-bypass-approvals-and-sandbox flag disables both approval prompts and the OS-level sandbox.
Gemini Read files, write files, run shell commands The -y flag enables non-interactive mode (auto-approve all actions).
Kimi Read files, write files, run shell commands The --print flag enables non-interactive mode.
OpenCode Read files, write files, run shell commands, web search, code search, glob, grep Permissions configured in the server config: all tools set to "allow", interactive questions set to "deny".

Why full permissions? Building software requires reading files, writing code, running tests, installing dependencies, and executing build commands. If the agent had to stop and ask for permission at every step, AFK coding wouldn't be possible. The permissions are scoped to your feature's worktree — the agent operates in an isolated branch, and nothing reaches your main branch until you explicitly merge.

Safety Boundaries

Even with full permissions, several safety mechanisms are in place:

Anatomy of a Great Request

The quality of your initial feature description is the single biggest factor in the quality of the output. A clear, detailed request produces a precise PRD, a focused blueprint, and well-scoped tasks. A vague request forces the system to guess — and guesses compound through every phase.

You don't need to write a formal spec. But the more clearly you communicate what you want, why you want it, and what "done" looks like, the better the results.

The Six Elements

1

Problem & Goals

Start with why. What problem are you solving? What's broken or missing? Then state the goal.

Example: "The settings page mixes account management and AI provider setup into one section. Users can't find their subscription status or manage billing. Goal: Split into separate Account and Providers sections. Show subscription status, trial remaining, and a link to the Stripe billing portal."

2

Desired Outcome & Acceptance Criteria

Describe what "done" looks like in testable terms. If you can, list specific acceptance criteria. These flow directly into the PRD requirements and eventually into QC verification tests.

Example: "When a user on the free trial visits Settings → Account, they should see: their email, trial days remaining with a progress bar, and an 'Upgrade Now' button. Clicking 'Upgrade' opens the Stripe checkout. After payment, the status updates to 'Active' without reloading the app."

3

Scope Boundaries

Be explicit about what's included and what's not. This prevents scope creep and keeps tasks focused.

Example: "This includes: subscription status display, trial progress, Stripe billing portal link, and plan upgrade flow. This does NOT include: changing the auth system, adding new payment methods, or modifying the onboarding flow."

4

References to Existing Code

If you know which files, components, or patterns the feature should build on, mention them. The analysis phase discovers these too, but explicit references prevent wrong turns.

Example: "The notification bell should appear in the TopBar component (next to the Settings gear icon), matching the existing icon style. Use the same glassmorphic dropdown pattern as the user menu."

5

Edge Cases & Constraints

What should happen in unusual situations? What technical constraints exist?

Example: "If the Stripe checkout fails mid-payment, the user should see a retry button — not a broken state. The billing portal URL must be fetched fresh each time (don't cache it, it expires). Subscription status must survive app restart."

6

Data Models (Optional but Powerful)

If you have a mental model of the data structure, include it. Field names, types, constraints — even rough ones — save an entire round of guesswork.

Example: "Notification fields: id (string), type (enum: update/info/warning/error), title (max ~50 chars), message (brief preview), read (boolean), persistent (boolean, survives restart), timestamp (epoch ms)."

Examples: Good vs. Mediocre

Adding a Notification Center

Mediocre RequestGreat Request
"Add notifications to the app" "Add a notification center with a bell icon in the TopBar (before the Settings gear, matching existing icon style). Bell shows unread count badge. Clicking opens a dropdown with the 5 most recent notifications sorted by time. Each notification has a title, preview text, timestamp, dismiss button, and optional action button. Notifications persist across restart. Update-available notifications should have a 'Download' action button. Include a 'View All' link that opens a full notification modal with a list/detail split view."

Adding Multiple AI Providers

Mediocre RequestGreat Request
"Support more AI models" "Users should be able to connect multiple AI provider accounts (Claude via OAuth, Codex via OAuth, Gemini via API key, Kimi via CLI). Each account stores credentials locally. In Settings → Models, users can assign any account+model combination to each of the 16 activity slots (10 planning, 3 execution, 3 review). Key principle: no regressions to the existing native Claude path — all existing Claude code must remain untouched. New providers are additive only."

State Transitions for a Kanban Board

Mediocre RequestGreat Request
"Build a kanban board for features" "Build a kanban board with 5 lanes: To-Do, Planning, Executing, Review, and Merged. Features auto-transition between lanes based on system events: starting planning moves a card from To-Do to Planning; starting execution moves it to Executing; completing execution moves it to Review; merging moves it to Merged. Each card shows: feature title, status badge, branch name, and last-activity timestamp. Planning and Executing lanes support active/paused substates shown as a colored indicator."

Common Mistakes

The Q&A phase catches gaps. Even if your initial request isn't perfect, the system generates targeted clarifying questions based on what's missing or ambiguous. Your answers refine the scope before any code is planned. But the better your initial request, the fewer questions needed and the more precise the plan.

Feature Lifecycle Overview

Every feature in Afkode goes through a clear lifecycle:

  1. Define — You define what you want to build
  2. Plan — The system analyzes your codebase, asks clarifying questions, and generates a PRD, Technical Blueprint, and Task Breakdown
  3. Execute — Tasks are implemented one by one (or automatically in sequence), each in a fresh AI session with curated context
  4. Review — You review the results, ask questions, report bugs, and check diffs
  5. Ship — Merge to your main branch with one click

Each feature runs in its own git worktree with its own branch. Your main branch stays untouched until you explicitly merge.

Your Role vs. The Platform

Afkode is designed for AFK coding. You provide the intent; the platform handles the engineering. Here's exactly when you're needed and when you're not.

When You're Needed

MomentWhat You DoWhy It Matters
Initial request Define what you want to build. Optionally attach screenshots or files. This is the seed for everything. The clearer you are, the better the plan. See Writing a Great Request.
Q&A questions Answer 3–8 clarifying questions the system generates based on scope gaps it detected. Your answers directly shape the PRD. You can select from options or type free-form answers. You can also attach files for additional context.
Start execution Click "Execute All" to begin the task queue. One click. After this, AFK coding takes over.
Review & merge Review the results, optionally ask questions or report bugs, then approve the merge. You're the final quality gate. The system won't merge without your explicit approval.

What the Platform Does Autonomously

After your initial request and Q&A answers, the platform handles everything else without intervention:

Two interactions build an entire feature. You describe what you want (1-2 minutes), answer a few questions (2-3 minutes), click Execute, and leave. The platform plans, implements, tests, and commits — from a simple 5-task feature to a complex 50+ task build.

Planning Phase

Planning takes your feature description and produces three structured documents: a Product Requirements Document (PRD), a Technical Blueprint, and a Task Breakdown with dependencies and verification criteria. See the Planning Engine section for the full breakdown of each step.

Execution Phase

Tasks from the plan are executed in dependency order. Each task starts a fresh AI session with only the context it needs — the relevant PRD sections, blueprint decisions, file references, and learnings from previous tasks. This prevents context window pollution and ensures task 50 runs with the same precision as task 1. See Execution Engine for details.

Review & Ship

After execution completes, you can ask questions about the implementation, report bugs for the AI to fix, and review diffs. When satisfied, say "merge" and Afkode handles the git operations. See Review & Ship for the full flow.

The Kanban Board

The Kanban board is your command center. Every feature in your project is represented as a card that moves through lanes as it progresses from idea to production. Cards transition automatically based on system events — you don't need to drag them manually (though you can).

Lanes & Cards

The board has 7 lanes, each representing a stage in the feature lifecycle:

LaneWhat It MeansWhat the Card Shows
To-Do Feature saved for later. No planning started yet. Title only. Click to start planning.
Planning in Progress The 8-phase planning engine is running. Title, branch name, phase progress bar (0–7), pulsing activity dot. Shows pause/error badges if interrupted.
Planning Complete PRD, Blueprint, and Tasks are ready. Waiting for you to start execution. Title, branch name, "Ready" badge, health pills (uncommitted changes, merge readiness).
Execution in Progress Tasks are being implemented by the AI agent. Title, branch name, task progress bar ("3/8 — Add auth middleware"), pulsing dot. Shows pause/error badges if interrupted.
Execution Complete All tasks finished. Ready for review and merge. Title, branch name, "Complete" badge, health pills.
Merged to Prod Feature merged to your main branch. Shipped. Title, shipped date ("Shipped Mar 28"), receipt stats: TIME, TOKENS, TASKS. "Full Stats" button for detailed metrics.
Archived Soft-deleted. Lane is collapsible. Features can be restored. Title, "Archived" badge, Restore button.

Card Indicators

Drag & Drop

You can drag cards between lanes to manually change status. Two rules:

Working on Multiple Features

Afkode supports true parallel development. You can plan and execute multiple features at the same time — even across different projects.

How Worktrees Create Isolation

When you start planning a feature, Afkode creates a dedicated git worktree — a full copy of your project branched from your main branch at that moment. This is important to understand:

What You Can Do Simultaneously

Switching projects doesn't stop anything. If you switch from Project A to Project B in the sidebar, any running executions in Project A continue in the background. When you switch back, the board shows the current state.

When to Use Parallel Features vs. One Bigger Feature

Parallel features work best when the features touch different parts of the codebase. When features overlap — modifying the same files, the same components, or the same logic — you'll face merge conflicts because each worktree branched from the same point and evolved independently.

Parallel is ideal for:

One bigger feature is better for:

Example: The Right Way

Good: Two separate featuresGood: One combined feature
Feature A: "Add Stripe billing portal to the account settings page"

Feature B: "Build a notification center with bell icon in the top bar"

These touch completely different areas (settings vs. top bar/notifications). No overlap. Safe to run in parallel.
Single feature: "Add filtering, sorting, and pagination to the users table. Filters should include status, role, and date range. Sorting on all columns. Pagination with 25/50/100 per page options."

All three changes touch the same table component, the same API endpoint, and the same query logic. One feature handles this cleanly. Three parallel features would produce merge conflicts on every shared file.

Example: What to Avoid

Risky: Overlapping parallel featuresBetter: Combined request
Feature A: "Add email field to user profile"
Feature B: "Add avatar upload to user profile"
Feature C: "Add timezone selector to user profile"

All three modify the same profile component, the same form schema, and likely the same database table. Each worktree branches from main at the same point and evolves the same files independently. Merging the second and third will require conflict resolution.
Single feature: "Extend the user profile with three new fields: email (with verification), avatar (with upload and crop), and timezone (with searchable dropdown). Add corresponding API fields and database columns."

Afkode is designed to handle this complexity. A 15-task feature is far better than three 5-task features that fight over the same files.

The system handles any complexity. Don't break down a feature into parallel smaller ones just because it seems big. Afkode's task graph handles 5 tasks and 50+ tasks equally well. Dependencies determine execution order. Coherence groups keep related work together. One well-scoped feature with 20 tasks produces cleaner results than four 5-task features that overlap and need manual conflict resolution.

If Features Do Overlap

If you've already started parallel features that touch the same areas, it's not a disaster. During the review and merge phase, the merge operation pulls the latest main into the feature branch. If Feature A merged first, Feature B's merge will surface any conflicts. The AI can help resolve simple conflicts, and you can handle complex ones manually. But it's always easier to avoid this by scoping features to different areas of the codebase.

Model Assignment Timing

This is an important detail to understand: model assignments are resolved at the moment each activity runs, not when a feature is created.

When you configure "Planning → PRD Structure → Claude Opus" in Settings → Models, that assignment is a global app setting. It applies to whichever feature reaches the PRD Structure phase next — not to a specific feature.

How This Works in Practice

Example 1: Changing models mid-flight

Example 2: Multiple features, same settings

Example 3: What NOT to do

Rule of thumb: Don't change model assignments while features are actively executing unless you intend for the change to affect those features. The safest time to adjust models is when no features are running, or when you're specifically targeting future features.

AI Subscriptions & Token Costs

Afkode is designed to free your time. You describe what you want, answer a few questions, and leave while the system plans, implements, and verifies your feature end to end. To do this thoroughly — deep codebase analysis, structured documents, real tests, full verification — it uses significantly more tokens than a typical interactive AI session. Here's how to set yourself up for success.

The Simple Setup

One subscription is enough — either Claude Max (Anthropic) or Codex Pro (OpenAI). With the recommended model configuration, a single subscription can typically deliver 3–5 complex features per week.

If you can only get one subscription, either Claude Max or Codex Pro can work well. Claude gives you Claude Opus 4.7 for planning, architecture, and QC at Max effort. Codex gives you GPT-5.4 for implementation and verification depth. Pick the provider you already prefer operationally — both can cover the full pipeline well with the recommended model configuration.

With two subscriptions (Claude + Codex), you get the best of both worlds: Claude Opus for architecture and planning decisions, Codex for implementation and QC. The model assignment system lets you mix them freely.

Lower-tier subscriptions are not recommended. Afkode will hit rate limits quickly on free or lower-tier plans, often before a single planning session can complete. You need the headroom of a Max or Pro subscription to let the system do its work end to end.

What Affects Token Usage

FactorLower usageHigher usage
Codebase sizeSmall project, few filesLarge monorepo, many dependencies
Feature scope5-task feature40+ task feature
Test infrastructureExisting test setup, good patternsNo tests yet, AI builds infra from scratch
QC depthSimple acceptance criteriaExtensive verification with Claude Opus 4.7 Max or GPT-5.4 XHigh

API Keys

You can also connect providers via API key or through OpenCode. API access is pay-per-token, so costs scale directly with usage. For the volume Afkode generates, subscriptions are almost always more cost-effective for regular use. API keys make sense for occasional use or accessing specific models not available through subscriptions.

How Long Things Take

Afkode is built for thoroughness, not speed. The entire point is to describe what you want and come back to a fully implemented, tested, and committed feature. The system takes its time because it's doing the work properly — analyzing patterns, generating structured plans, writing real code, and running real tests.

Planning

End-to-end planning typically takes 60–90 minutes. But you're only needed for the first 5–10 minutes — to write your feature description and answer 3–8 clarifying questions. After that, the 8-phase planning engine runs autonomously: analyzing your codebase, generating the PRD with parallel sections, building the Technical Blueprint, and breaking everything down into tasks with dependencies and verification criteria.

Execution

Execution time depends on the number of tasks and their complexity. Based on our testing:

Task TypeTypical DurationNotes
Implementation task ~10 minutes A normal coding task — reading context, writing code, committing. Simple tasks finish in 5 minutes, complex ones can take 20.
Batch QC (QC-1, QC-2...) 30–45 minutes Writing tests, running them, fixing failures, verifying acceptance criteria. Can run longer if test infrastructure needs setup.
Feature QC (FEATURE-QC) ~60 minutes Comprehensive verification across all tasks. Loads every verification file, runs full test suite, audits coverage.

For a typical 10-task feature (8 implementation + 1 batch QC + 1 feature QC), expect roughly 3–4 hours of total execution time.

QC tasks can run much longer. We've seen batch QC and feature QC tasks run for up to 7 hours when dealing with complex test infrastructure, extensive acceptance criteria, or projects that need significant test setup from scratch. This is the model doing its job thoroughly — tracing every requirement to a test, running the full verification loop, and not cutting corners. This is why we strongly recommend Claude Opus 4.7 Max or GPT-5.4 XHigh for QC — both are strong choices for deep verification passes.

Total Feature Delivery

Combining planning and execution, a complex feature typically takes 5–8 hours from description to merge-ready code. Your active involvement: about 10 minutes at the start (description + Q&A) and 5–15 minutes at the end (review + merge). Everything in between runs autonomously.

This is the point of Afkode: you spend 15–25 minutes of your time, and the system does 5–8 hours of engineering work while you focus on something else. It's not fast — it's thorough.

Open Source Models

Afkode supports open source models through OpenCode and Kimi. If a model is accessible through these providers, you can use it in Afkode for any activity slot.

Open source models offer a significantly lower cost than commercial alternatives. If you're cost-conscious or working on simpler features, they can be a viable option for some activity slots — especially lightweight tasks like spec generation, categorization, or review Q&A.

That said, we want to be transparent: for complex planning, implementation, and especially QC work, current state-of-the-art commercial models still produce noticeably better results. Architecture decisions, deep codebase analysis, and thorough test verification require the strongest reasoning capabilities available today.

We believe in open source models and we actively support them because we believe they will reach parity with leading commercial models in the near future. We want our users to be ready when that happens — and to experiment freely in the meantime. The model assignment system makes it easy to try open source models on specific activities while keeping commercial models where they matter most.

A practical approach: Use commercial models (Claude, Codex) for the high-stakes activities — analysis, PRD structure, blueprint, task execution, and QC. Try open source models for lower-stakes slots like spec context, categorization, or review Q&A. This way you benefit from lower costs on routine tasks while keeping quality where it counts.

When to Use Afkode

Afkode is not the right tool for everything. It's built for work where planning, context management, and verification matter. Here's how to think about it across the spectrum of day-to-day development tasks.

ComplexityTask TypeExampleAfkode Fit
TrivialSingle-file fixFix a typo in an error message on line 42Skip — use your IDE
TrivialQuick questionExplain what this function doesSkip — ask your AI directly
SimpleSmall isolated changeAdd a loading spinner to the submit buttonSkip — faster with direct prompting
SimpleConfig changeUpdate ESLint rules to disallow console.logSkip — one file, deterministic
ModerateSingle bug fixLogin form crashes when email field is emptyBorderline — quick manually but Afkode writes tests too
ModerateRepetitive batch workAdd form validation to all 12 input forms following the same patternGood fit — consistent, no fatigue
ModerateComponent with stateBuild a notification dropdown with unread count, dismiss, and mark-all-readGood fit — multiple states, needs testing
ModerateAPI + UI featureAdd a user settings page that reads/writes from a new API endpointGood fit — crosses boundaries
ComplexMulti-component featureAdd Stripe billing: checkout, subscription status, trial tracking, billing portalGreat fit — 10-15 tasks, needs PRD alignment
ComplexAuth systemAdd Google OAuth alongside email/password with session management and rolesGreat fit — security-critical, thorough tests
ComplexFull-stack featureBuild a kanban board with drag-drop, real-time status, and 7 auto-transitioning lanesGreat fit — 20-30 tasks, heavy state management
ComplexBug batchFix 15 reported issues across settings, auth, and notificationsGreat fit — QC catches regressions across fixes
Very complexFull-stack refactorMigrate from REST to GraphQL across all 24 endpoints with backward compatPerfect fit — 40+ tasks, every layer affected
Very complexArchitecture changeSplit monolith settings page into 6 independent sections with lazy loadingPerfect fit — needs blueprint-level decisions
Very complexNew subsystemBuild a multi-provider AI orchestration system with OAuth, model assignments, and subprocess managementPerfect fit — 50+ tasks, new abstractions

The Pattern

Afkode's value increases with:

When Not to Use Afkode

Always Know What's Happening

Even though Afkode runs autonomously after your initial request, you are never in the dark. Every autonomous phase provides real-time visibility so you can verify what the system is doing at a glance — without interrupting it.

During Planning

Phase Progress Stepper

A vertical stepper on the right sidebar tracks all 8 planning phases. Each phase shows one of four states:

Connecting lines between phases change color as work progresses — green for completed, gradient for the active transition, gray for what's ahead.

Live Content Streaming

During the early phases (analysis, spec, categorization, Q&A), the AI's output streams into the chat panel as real-time message bubbles. You can read the analysis, see the specification being formed, and watch questions being generated — all as it happens.

Parallel Section Generation (PRD & Blueprint)

When the PRD and Blueprint generate in phases 5 and 6, the view switches to a split-pane document viewer:

Session Timer

An elapsed timer in the sidebar header shows how long planning has been running, updated every second.

During Execution

Task Sidebar (Always Visible)

The right sidebar shows every task in the feature with a clear status icon:

At a glance, you can see what's done, what's running, and what's left. The sidebar also shows a live elapsed timer and running token counts (input and output) for the current task.

Subtask Progress (Live)

Inside the executing task view, every subtask is listed with real-time status updates. As the AI works through subtasks, each one transitions from pending (empty checkbox) to in-progress (spinning indicator) to completed (green checkmark). The view auto-scrolls to follow the active subtask so you always see what's happening right now.

Streaming AI Output

The AI's response streams into the center panel as it works — you can read its reasoning, see the code it's writing, and watch commands being executed in real time. Each chunk appears as a finalized message bubble with full markdown rendering.

Navigate Freely Without Losing Context

While a task executes, you can:

The task sidebar with controls (pause, resume, stop) remains visible in all views, so you always have access to execution status and actions regardless of what panel you're looking at.

Nothing is hidden. Between the phase stepper, section progress, subtask checklist, streaming output, token chart, and completed task diffs — every action the system takes is visible in real time or reviewable after the fact. You can verify the work at any level of detail: a quick glance at the sidebar for status, or a deep dive into the execution log to see every file read and shell command.

How Planning Works

The planning engine follows a structured 8-step process. Each step produces specific outputs that feed the next. All state is persisted to a local database, so planning survives app crashes and restarts.

Step 1: Initialization

Sets up the workspace for the feature. No AI interaction happens here.

Step 2: Codebase Analysis

The AI explores your project to understand how it's built before writing any plans. This is what allows the system to generate plans that work with your codebase instead of against it.

Produces: A pattern catalog that all subsequent phases reference — ensuring the PRD, Blueprint, and Tasks align with how your project actually works.

Step 3: Specification

Generates a structured specification that captures the technical scope of the feature based on the analysis.

Produces: A technical specification that becomes the foundation for both the PRD and the Blueprint.

Step 4: Categorization

Classifies the feature and generates targeted clarification questions based on what's missing or ambiguous in your request.

Produces: A set of focused questions designed to fill scope gaps before any documents are written.

Step 5: Q&A

An interactive conversation where you answer the system's clarifying questions. This is the only phase that requires your input.

Produces: Your answers, which directly shape the requirements, architecture decisions, and task scope in the next three phases.

Step 6: PRD Generation

Generates the Product Requirements Document — the "what to build" specification. This is where your feature description and Q&A answers become formal, traceable requirements.

Produces: A complete requirements document where every requirement is identifiable, traceable, and testable.

Step 7: Blueprint Generation

Generates the Technical Blueprint — the "how to build" architecture document. This translates the PRD's requirements into concrete implementation decisions.

Produces: An architecture document that tells the execution engine exactly how to implement each requirement — which patterns to follow, which components to create, and how they connect.

Step 8: Task Breakdown

Breaks the feature into executable tasks with subtasks, dependencies, and verification criteria. This is what the execution engine actually runs.

Produces: A complete task graph with dependencies, coherence groups (related subtasks that must stay together), and verification criteria ready for execution.

Coverage verification checks that every requirement in the PRD is covered by at least one task. Gaps are reported, not hidden.

How Context Works

This is the core of what makes Afkode different from simply prompting an AI. Instead of dumping your entire codebase into a chat window, Afkode assembles exactly the right context for each task.

Each task receives a curated briefing assembled from your planning documents — only the requirements, architecture decisions, and project context relevant to that specific task. The system knows exactly which pieces of the plan each task needs and filters out everything else.

No guesswork. No hoping the model remembers. No irrelevant context cluttering the window.

Fresh Session Per Task

Each task starts a brand new AI session with its curated context. No accumulated conversation. No context window pollution. No degradation.

Task 50 runs with the same precision as task 1 because the context engine knows exactly what each task needs. Previous task outputs don't bleed into subsequent tasks — only the explicit learnings captured in the runtime journal carry forward.

Acceptance Criteria → Tests

During planning, every requirement gets acceptance criteria. During task generation, these criteria are mapped to specific verification steps.

When QC tasks run, they systematically check each criterion against the implementation, write targeted tests (unit, integration, and e2e), and report coverage — which criteria passed, which have gaps.

Batch QC tasks (QC-1, QC-2) verify groups of related tasks. The final Feature QC runs comprehensive verification across the entire feature, checking for regressions and cross-task issues.

Runtime Journal

Two files capture learnings during execution and persist them for future tasks:

Operational Journal

Captures context from every previous task — decisions made, deferred work, issues encountered and how they were resolved, and integration notes. Each task reads this journal before starting and updates it before committing, so the next task knows what came before.

Testing Knowledge Base

Captures test infrastructure discoveries that save future tasks time — undocumented prerequisites, incorrect existing instructions, anti-patterns in existing tests, and environment setup steps. This knowledge accumulates over time, so later tasks and features don't hit the same walls.

Compounding Knowledge

The more you build, the smarter the system gets — but not through fine-tuning or hidden training. Knowledge compounds through persistent artifacts:

Feature 10 benefits from everything learned during features 1–9. The system gets smarter with every feature you build — not through training or fine-tuning, but through persistent, structured knowledge that each fresh AI session reads before starting work.

How Execution Works

Execution takes the task breakdown from planning and implements each task using your configured AI provider. Tasks auto-proceed through the entire queue — once you click "Execute All," you can leave.

  1. Tasks load from the database in dependency order
  2. The context seed is assembled with the relevant PRD sections, blueprint decisions, and task details
  3. A fresh AI session is started with the curated context
  4. The AI implements subtasks sequentially, reporting progress as it goes
  5. On completion, changes are committed to the feature branch
  6. The next task starts automatically — no manual intervention needed

While a task is executing, you can watch in real time: the subtask checklist updates as each step completes, and the AI's tool activity (file reads, writes, shell commands) streams live. Or you can close the app entirely — execution state is persisted and resumes on restart.

Task Ordering & Dependencies

Tasks run in execution order, determined during planning based on dependencies. A task won't start until its dependencies are complete.

Coherence groups are sets of subtasks that must be implemented together because they're tightly coupled. For example, a database migration and the code that uses the new schema should be in the same coherence group to avoid broken intermediate states.

Completed Task View

When a task finishes, the completed view gives you full transparency into what was built. You can review any completed task at any time by clicking it in the tasks sidebar.

Metrics

A summary grid at the top shows key stats for the task:

Subtask Checklist

Every subtask defined during planning is shown with a green checkmark when completed. This lets you verify that the AI actually addressed every step in the plan, not just the easy ones.

Commit Details

Each completed task produces a git commit. The view shows:

Full Code Diff

Below the commit info, a full unified diff shows every line of code that was added, modified, or removed — per file, with syntax-highlighted line-by-line changes. Green lines are additions, red lines are deletions. This is the same diff format you'd see in a pull request.

Execution Log (3 Tabs)

The execution log provides deep visibility into how the AI worked:

Everything is reviewable. You never have to guess what the AI did. The diff shows every code change, the tool log shows every action, and the thinking tab shows the reasoning. If something looks wrong, you can report it as a bug in the review phase and the AI will investigate and fix it.

QC & Verification Tasks

The planning engine automatically inserts verification tasks at integration boundaries:

TypeWhen It RunsWhat It Does
QC-1, QC-2...After a group of related implementation tasksWrites tests for the group, verifies acceptance criteria, checks for regressions
FEATURE-QCAfter all tasks and batch QCs completeRuns comprehensive tests and audits full acceptance criteria coverage

QC tasks use the same verification YAML files that trace back to PRD requirements. Every acceptance criterion (AC-*) has specific testing notes and edge cases that guide the QC agent through the verification loop. We strongly recommend Claude Opus 4.7 Max or GPT-5.4 XHigh for the QC slots — see recommended models for details.

Pause, Resume & Cancel

All execution state is persisted to the database. If the app crashes mid-execution, you can resume when it restarts.

Git Worktrees

Every feature runs in its own git worktree — an isolated copy of your repository with its own branch. This means:

Worktrees are created inside a .worktrees/ directory in your project root. Configuration files (like .env) are automatically symlinked from your main repo so the worktree can run without re-installing dependencies.

Branch Management

Feature branches follow the pattern feat/<feature-slug>. If a branch name already exists, a numeric suffix is added automatically (e.g., feat/auth-2).

During execution, each task produces at least one commit with a descriptive message. You can see all commits in the review panel.

Force push protection: Afkode scans all AI responses for force push commands and blocks them. The AI cannot force-push to any branch.

Worktree Cleanup

Worktrees are cleaned up automatically by a background health check that runs every hour:

Review Flow

After execution completes, the review panel opens with a summary of what was built — duration, tokens used, files modified, cost, and a visual diff breakdown. From here, you interact with the AI through a single unified chat. Just type naturally.

Behind the scenes, Afkode classifies every message you send into one of three intents and routes it to the right session with the right context:

What You SayDetected IntentWhat Happens
"Why did you use this approach?"
"Explain the auth flow"
"What does this component do?"
Q&ARead-only session. AI reads code and planning docs to answer. No code changes.
"There's a bug in the login form"
"Fix the broken test"
"This crashes when I click submit"
Bug FixAI investigates, explains root cause, waits for your confirmation, then applies an atomic fix.
"Let's merge"
"Ship it"
"Push to main"
MergeAI reviews commits, presents summary, asks for explicit approval, then merges and pushes.

You don't need to think about which mode you're in. The classification happens automatically based on what you say, and the conversation flows naturally as a single thread. If you ask a question, then report a bug, then merge — it all appears in one continuous timeline.

Intent Detection

The system uses a multi-tier classification approach:

  1. AI classification — Your message is analyzed to determine intent with a confidence score. If confidence is high, the result is used immediately.
  2. Pattern matching — If AI classification is slow or uncertain, keyword patterns are used as a fast fallback (e.g., "fix", "bug", "error" → bugfix; "what", "why", "how" → Q&A; "merge", "ship", "push" → merge).
  3. Context continuation — For very short messages ("yes", "ok", "do it"), the system looks at the recent conversation to inherit the intent from what you were just discussing.

Context Awareness Across Intents

Each intent session builds on the ones before it:

This means by the time you say "merge," the AI has complete awareness of your questions, any bugs you reported and how they were fixed, and the current state of the branch.

Ask Questions

The Q&A session is read-only — the AI can read your code and planning documents to answer questions, but it cannot modify any files. This gives you a safe way to understand the implementation before deciding what to do next.

The AI has access to:

Ask things like: "Walk me through the auth flow", "Why didn't you use the existing UserService?", "What would break if I removed this component?"

Report Bugs

The Bug Fix session follows a structured protocol designed to prevent reckless changes:

1

Read & Investigate

The AI reads the relevant files, test results, and your bug description to understand the issue in context.

2

Explain Root Cause

Before touching any code, the AI explains what it found and what it plans to do. You see the diagnosis before any fix is applied.

3

Wait for Confirmation

The AI does not make changes until you confirm the plan. This is a hard rule — no code is modified without your explicit go-ahead.

4

Apply Atomic Fix

Once confirmed, the fix is applied as a small, focused change. The AI keeps fixes minimal to avoid introducing new issues.

If you had a Q&A conversation before reporting the bug, the bug fix session knows about it. Context from your questions carries forward so you don't need to repeat yourself.

Merge to Main

When you're satisfied with the implementation, say "merge", "ship it", or "let's push". The merge flow has built-in safety at every step:

1

Review Summary

The AI reviews all commits on the feature branch, checks git status, and presents a summary of what will be merged. It also incorporates any Q&A or bug fix context from your review session.

2

Explicit Approval Required

The merge does not proceed until you explicitly approve it. The system looks for clear approval words ("yes", "proceed", "go ahead", "do it", "ship it") and recognizes rejections ("no", "wait", "not yet", "cancel"). Ambiguous messages are not treated as approval.

3

Merge & Push

On approval, the AI merges the latest main into the feature branch (to catch any new upstream changes), resolves simple conflicts if possible, and pushes to your remote. The commit hash and push status are recorded.

4

Status Report

You see the final commit hash, branch name, and whether the push succeeded or failed. If the push fails, you get the full error to troubleshoot.

Force push is blocked. Afkode scans all AI responses for force push commands (--force, -f, --force-with-lease) and blocks them before execution. The AI cannot force-push to any branch under any circumstances. All attempts are logged.

Session Continuity

Review sessions persist across app restarts. If you close the app mid-conversation and reopen it later, the full conversation history is restored and the AI picks up where you left off — including all context from prior Q&A and bug fix discussions. Your review progress is never lost.

Testing Your Changes Locally

Before merging, you can test the feature manually by running your project from the worktree directory. The worktree is a full copy of your project with the feature's changes applied — you can cd into it and run it like you normally would.

Merge & Deployment

When you say "merge" in the review chat, Afkode merges the feature branch into your main branch and pushes to your remote repository. That's where Afkode's job ends.

Deployment is not handled by Afkode. Every project deploys differently — Vercel, AWS, Docker, manual scripts, CI/CD pipelines — and Afkode doesn't make assumptions about yours. What you get is tested, committed, merged code on your main branch, ready for whatever deployment process you have.

Recommended: auto-deploy from main. Set up automatic deployment from your main branch so that when Afkode merges and pushes, your changes deploy automatically. Most platforms support this out of the box — Vercel deploys on push to main, GitHub Actions can trigger on merge, Railway and Render redeploy on new commits. This way, the workflow is: describe → plan → execute → review → merge → live.

How Afkode Compares

Most AI coding tools offer planning, context management, and testing — but the implementations are very different. The tables below break down each dimension so you can see exactly where the approaches diverge.

Based on publicly available documentation as of April 9, 2026. AI coding tools evolve fast — if you spot something outdated, let us know.

What happens after you describe a feature?

DimensionAfkodeDevinCursorReplitCodexClaude CodeConductor
What do you get? Full pipeline Session outline Session outline Session outline Session outline Session outline
Task ordering Dep. graph Parallel split
Quality checkpoints Auto-placed

green platform handles it   amber partial automation   gray manual or not available

Properly scoping a feature means analyzing the codebase, identifying dependencies between tasks, placing QC checkpoints, and producing architectural decisions — before any code runs. For a non-trivial feature, this is hours of senior engineering work. In practice, most sessions start with a loose description and the AI figures out architecture on the fly, discovering problems mid-build.

In Afkode, this analysis runs automatically. The system reads your codebase, generates a PRD, a Technical Blueprint, and a dependency-ordered task graph — typically in minutes. Decisions are made upfront and available to every downstream system.

Who’s responsible for getting context right?

DimensionAfkodeDevinCursorReplitCodexClaude CodeConductor
Where does context come from? Auto-assembled You maintain You maintain Agent-scoped Per prompt You maintain Inherited
Is it tailored per task? Per-task filtered Same for all Same for all Per sub-agent Same for all Same for all Inherited
Your setup work None Ongoing Ongoing Automatic Per prompt Ongoing Inherited

green platform handles it   amber partial automation   gray manual or not available

Getting context right for one task is manageable. Getting it right for 50 tasks in a row is a curation problem — you'd need to identify which requirements, architecture decisions, and files are relevant to each specific task, filtering out everything else. That's 50 manual curation decisions per feature. In practice, every task gets the same broad context file, or the AI searches the codebase and hopes for the best.

In Afkode, context is derived per task from the planning documents. The system knows which PRD sections and blueprint decisions are relevant to task 17 vs task 38 — and filters accordingly. No files to maintain, no prompts to craft, no curation decisions from you.

Does quality hold up as the feature grows?

DimensionAfkodeDevinCursorReplitCodexClaude CodeConductor
Who scopes the work? Plan-defined User-defined User-defined User + platform User-defined User + model User + platform
Is scope consistent? Consistent Variable Variable Variable Variable Variable Variable
Who prepares context? Auto-assembled You maintain You maintain Agent-scoped Per prompt You maintain Inherited

green platform handles it   amber partial automation   gray manual or not available

Keeping 50 tasks consistent means tracking which decisions were made in earlier tasks, what the original architecture specified, and ensuring new tasks don't contradict earlier ones. This requires holding more information in coherent form than any single conversation can contain. In long sessions, the AI gradually loses track — not because it's bad, but because context windows are finite. By task 30, the model may contradict decisions from task 5 without either of you noticing.

In Afkode, the planning engine defines task boundaries. Each task gets a fresh session loaded with curated context from the same planning documents. The operational journal carries forward explicit decisions — but not the noise. Task 50 works from the same authoritative source as task 1.

How do you know it built what you asked for?

DimensionAfkodeDevinCursorReplitCodexClaude CodeConductor
Who writes the tests? Auto-generated On request On request Browser tests Runs existing On request Inherited
Are tests linked to requirements? Req. traced
When does QC happen? Auto-scheduled You trigger You trigger You trigger You trigger

green platform handles it   amber partial automation   gray manual or not available

Systematic test coverage means writing tests that trace to every acceptance criterion, scheduling them at the right points, and verifying coverage across the entire feature — not just the parts you remember to check. This is thorough, time-intensive work, and it's the first thing that gets cut under time pressure. In most tools, testing happens when you think to ask for it, and covers what you think to specify.

In Afkode, QC tasks are generated from the acceptance criteria defined during planning and placed at strategic points in the task graph. Every requirement traces to a test. Coverage happens systematically — not when someone remembers.

Does today’s feature make tomorrow’s smarter?

DimensionAfkodeDevinCursorReplitCodexClaude CodeConductor
Learnings within a feature Auto-captured
Learnings across features Auto-compounds You maintain You maintain You maintain

green platform handles it   amber partial automation   gray manual or not available

After each task, valuable things are discovered — how the test infrastructure works, undocumented prerequisites, decisions that affect later tasks. Capturing this means reviewing what was learned, writing it down, and making sure future tasks actually read it. Across 50 tasks and 10 features, that's hundreds of manual capture-and-deliver decisions. In practice, teams rediscover the same setup issues feature after feature.

In Afkode, an operational journal captures decisions and integration notes during execution. A testing knowledge base captures infrastructure discoveries across features. Both are included in each task's curated briefing automatically — no manual capture, no manual delivery.

How much model configuration do you manage?

DimensionAfkodeDevinCursorReplitCodexClaude CodeConductor
How are models assigned? Configure once You select You select No control One model Plan vs Execute Per agent
Routing granularity Per phase (6+) Single model Single model Single model Single model Plan vs Execute Per agent
Provider flexibility Any provider Optional BYOK Platform-locked Optional BYOK One provider One provider Any provider

green platform handles it   amber partial automation   gray manual or not available

Different phases have genuinely different requirements — deep reasoning for architecture, speed for implementation, analytical rigor for verification. Matching the right model to each phase means evaluating tradeoffs, switching models between tasks, and managing API keys across providers. Per feature, every time. In practice, teams pick one model and use it for everything — overpaying for simple tasks or under-powering critical ones.

In Afkode, you configure model assignments once — e.g. Claude Opus 4.7 for architecture, Sonnet 4.6 for implementation, and Claude Opus 4.7 Max or GPT-5.4 XHigh for verification. The system routes each phase automatically. Right model, right job, zero per-task overhead.

The System Loop

Individually, each capability above has value. Together, they form a reinforcing chain where each one feeds the next.

Planning Context Assembly Fresh Sessions QC & Testing Knowledge

Knowledge feeds back into context assembly for the next task. Multi-model routing amplifies planning and verification quality.

Planning produces structured documents. Context assembly derives per-task briefings from them. Fresh sessions load that curated context instead of degraded conversation history. QC tasks run with full precision at any position in the sequence because each one starts fresh. Testing discoveries persist in a knowledge base that the context engine includes in subsequent briefings.

This chain is what makes the individual capabilities interdependent. Without structured planning, there is nothing to assemble context from. Without context assembly, fresh sessions start blank. Without consistent QC, the knowledge base captures unreliable data. Without the knowledge base, every feature starts from zero. Each piece exists because the others need it.

Quick Reference

A simplified yes/no view across all features. The per-section tables above show more nuance. See the interactive table on the landing page for the visual version.

Based on publicly available documentation as of April 9, 2026.

Feature AfkodeDevinCursorReplitCodexClaude CodeConductor
Deep autonomous planning
Automatic per-task context assembly
Autonomous testing with requirement tracing
No context rot
Compounding codebase knowledge
Autonomous multi-task execution
Fresh session per task
Multi-model orchestration per feature
Autonomous git operations
Visual kanban board
Git worktree per feature
Crash recovery & resume
Code stays on your machine
Desktop app, local code
Uses your existing AI subscriptions