Software Intelligence Runtime for AI-native development.
Keep models replaceable. Make software continuously converge toward its intended design โ with evidence.
wcode turns Design State, Software Graph, Traceability, Risk, Verification, Evidence, and Reconciliation into the durable layer around AI-generated software. Code and Git remain first-class implementation artifacts, but the primary control plane becomes what the software should be, what it actually is, what changed, what is risky, and what evidence proves the result.
Models are execution providers, not the product core. Claude, ChatGPT, Grok, Mistral, coding agents, and future models connect through Remote MCP as replaceable builders/reviewers while wcode owns the local software-intelligence state and security boundary.
Design State ยท Software Graph ยท Verification Mesh ยท Evidence & Risk ยท Reconciliation.
Website & User Docs ยท Releases ยท Software Intelligence ยท ไธญๆ ยท Agent Integrations ยท Product Scopes ยท Development
Live terminal dashboard โ local health, public tunnel readiness, OAuth pairing, MCP activity, and workspace tasks in one view.
Browser setup โ connect a model executor and inspect the active local runtime.
Architecture overview โ desired vs actual component dependencies, observed drift, evidence and implementation coverage in one view.
Project Observatory end to end โ architecture overview, requirement detail, current changes, code statistics, and graph history on one page.
Project Observatory, local authorization, and detailed workspace intelligence.
AI coding is getting better at producing code. The harder problem is keeping a software system aligned with its intended design while models, humans, tests, dependencies, and runtime behavior keep changing. wcode is built for that control problem.
| Design-first | Structured .wcode Design State makes requirements, architecture, constraints, acceptance criteria, and decisions machine-operable desired state. |
| Software Digital Twin | Software Graph models files, symbols, relationships, tests, configuration, and progressively richer semantic/runtime facts with explicit provenance. |
| Traceability & Drift | Requirement โ design โ implementation โ verification chains expose missing coverage and design/implementation drift. |
| Risk-adaptive Verification | Deterministic checks, independent reviewers, disagreement, and real Property/Mutation/Fuzz/Runtime-Canary stage executors scale with risk instead of using one fixed gate. |
| Evidence-driven | Verification results retain producer, revision, policy, confidence, and disagreement instead of disappearing into chat history. |
| Reconciliation-oriented | The central primitive is convergence from Desired State to Actual State, not just another edit_file() loop. |
| Model-neutral | Remote MCP is the executor interface. Models can change without changing the durable software-intelligence model. |
| Local-first security | Workspace isolation, bounded tools, no-shell execution policy, OAuth, and atomic hash-guarded writes stay underneath every agent. |
Human intent / Design State
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ wcode Software Intelligence โ
โ โ
โ Design State โ Software Graph โ
โ โ โ โ
โ โโ Traceability / Drift โโ โ
โ โผ โ
โ Impact โ Risk โ Reconciliation Plan โ
โ โ โ
โ โผ โ
โ Verification โ Evidence โ
โโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโ
โ MCP: builders/reviewers
โผ
replaceable AI models
โ
โผ
Git + Runtime
Runs on macOS, Linux, and Windows.
macOS / Linux
curl -fsSL https://raw.githubusercontent.com/francis-du/wcode/main/install.sh | shWindows PowerShell
irm https://raw.githubusercontent.com/francis-du/wcode/main/install.ps1 | iexwcode --workspace "$PWD"That is the normal setup. wcode automatically starts the local MCP server, a managed HTTPS tunnel, OAuth, the terminal dashboard, and a client-neutral Setup Hub. The default --tunnel-provider auto policy tries Cloudflare Quick Tunnel first, then falls back to localhost.run and Pinggy when startup, URL discovery, or the instance-matched public health check fails. The SSH-based fallbacks require no account; use --tunnel-provider cloudflare|localhost-run|pinggy to force one provider. The browser opens one page where you choose your AI client and reuse the same /mcp endpoint.
The runtime keeps the machine out of idle system sleep while it is serving, without preventing the display from sleeping or the screen from locking. Pass --allow-sleep to opt out. Manual sleep and laptop-lid sleep remain operating-system decisions.
The public endpoint is supervised. A managed tunnel candidate is accepted only after /healthz returns the current wcode instance ID; auto moves to the next provider when that check fails. If the active tunnel process later exits or the public health check fails three consecutive times, wcode shuts down the complete runtime cleanly and starts it again with the original arguments. Temporary tunnel URLs can change after restart, so use the new MCP URL shown by the refreshed TUI and reconnect the client. For an endpoint that survives restarts, pass a stable reverse-proxy URL with --public-url.
From another terminal, the running instance can be controlled without finding or killing processes manually:
wcode restart
wcode stopThese requests use a random local control token stored in a per-user runtime file. Restart restores the terminal/TUI state, stops the server and owned tunnel, and then launches the complete original command again; stop performs the same cleanup without relaunching it.
Need more than one repository root?
wcode \
--workspace ~/Code/backend \
--workspace ~/Code/frontendThe everyday CLI stays intentionally small. Common overrides are --public-url, --read-only, --no-exec, --no-open, --no-monitor, and --allow-sleep; advanced trust and scheduler controls are kept out of the default help surface.
wcode uses MCP as the model/executor access layer. Local coding agents can use the new wcode --workspace <repo> mcp-stdio transport; cloud/web connectors keep using Streamable HTTP + OAuth. The same Harness, Workspace policy, Tools, Prompts, Resources, 2026 Tasks, Software Intelligence, and Evidence runtime sit behind both transports.
Reusable workflow guidance is available as a small non-executable Agent Skill / Agent Plugin package:
wcode --workspace "$PWD" agent-plugin --output wcode-agent-pluginThe package contains Agent Plugins 1.0 metadata, Claude-compatible metadata, a ZCode marketplace/manifest, and skills/wcode-software-intelligence/SKILL.md. It intentionally contains no hooks, scripts, credentials, or implicit MCP Workspace. ZCode's declarative MCP entry uses its explicit ${CLAUDE_PROJECT_DIR} variable; other clients configure MCP separately.
Start with the unified Documentation. The single maintained source for vendor-specific plugin, Skill, MCP, installation, and diagnostic commands is Code Agent Integrations. The website's client matrix has a separate, narrow purpose: remote transport, OAuth, and provider-plan compatibility. It does not duplicate Code Agent plugin installation instructions.
wcode does not bypass provider billing or plan limits. Model calls remain subject to the AI client's own subscription, Credits, token/message limits, rate limits, or BYOK provider billing.
Independent work can fan out, but the scheduler models which workspace paths each child reads, creates, mutates, moves, or deletes before it runs. Overlapping read/write paths and parent/child dependencies are ordered; same-file apply_edits children with the same SHA-256 can be coalesced when their ranges do not conflict, while unsafe overlaps are rejected. Bulk tools reduce MCP round trips. The adaptive default concurrency is CPUร12, clamped to 96โ192 slots, with a hard Harness maximum of 256.
An interactive terminal gets a compact dashboard automatically: connection state, MCP URL, pairing code, workspace activity, running tools, queue pressure, and throughput. Press O to reopen the Setup Hub.
โญ WC wcode โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ โ MCP client connected https://โฆ/mcp โ
โ SLOTS 3 / 96 ยท VERIFY CODE 381204 ยท LIVE โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
Use --no-monitor when you want plain logs.
The agent gets project context, Tree-sitter symbol navigation, exact search, bounded text/media reads, Git-aware change review, and project-native verification. read_media is metadata-first and only emits image/audio MCP content when the current client explicitly advertises matching multimodal support; unknown capability fails closed instead of guessing from a model brand. This lets capable models navigate a repository precisely before requesting broad context.
The syntax index supports 22 language modes: Bash, C, C++, C#, CSS, Dart, Elixir, Go, HTML, Java, JavaScript, Lua, OCaml, OCaml Interface, PHP, Python, R, Ruby, Rust, Swift, TypeScript, and TSX. The same canonical surface now feeds the first-party LSP layer and the Language Quality Matrix. wcode never collapses this to one โsupportedโ badge: syntax, semantic, format, lint, type/static analysis, test, security, Property, Mutation, Fuzz, and Runtime-Canary coverage are reported separately, including unavailable tools and explicit gaps. See Language Quality.
Software Intelligence is available through four first-class surfaces: model-neutral MCP tools, local wcode intelligence / wcode verification CLI views, the live TUI (I for Intelligence, W for the Project Observatory), and the token-protected /intelligence Project Observatory. MCP remains the executor interface rather than the product boundary.
Add .wcode/project.yaml and .wcode/design/ when you want design-aware traceability. A connected agent can call design_init to bootstrap sparse Design State safely: only project/product documents are created initially, while requirements/components/constraints/acceptance/decisions stay absent until there is meaningful desired state to declare. Existing design files are never overwritten. The wcode repository itself already contains a dogfood Design State.
wcode also has one canonical Product Scope registry for its own capability boundaries: runtime, integrations, workspace, design, graph, semantics, traceability, risk, verification, evidence, reconciliation, and experience. workspace_info and project_context expose the registry, every MCP Tool carries dev.wcode/productScopes metadata, and clients can read the same model from wcode://runtime/product-scopes. scope_status applies the registry to the selected repository and reports per-scope source counts plus bounded unmapped supported-source paths. Passing scopes to software_context narrows source/symbol navigation to recognized product roots; semantic_query.scopes filters scoped semantic facts while leaving unscoped facts global. Freeform business/domain scopes remain supported. See Product Scopes.
Local inspection does not require an MCP client:
wcode --workspace "$PWD" intelligence
wcode --workspace "$PWD" intelligence --check --json
wcode --workspace "$PWD" verification
wcode --workspace "$PWD" verification --plan-id VP-...intelligence --check is the fail-closed repository/release gate: it exits non-zero when Design State is uninitialized/invalid, any RequirementโComponent / DesignโImplementation / AcceptanceโVerification dimension is below 100%, or a required Convention policy reports an error. Product Scope auditing is also a hard gate when the repository Design State explicitly declares CONSTRAINT-PRODUCT-SCOPE-CANONICAL; otherwise the wcode-specific 12-scope mapping remains informative for third-party repositories. Convention warnings remain advisory.
Repository-aware language servers and verification-stage executors require explicit operator trust. With the normal interactive TUI or protected Project Observatory, the first not-yet-approved risky operation fails closed with a local authorization request; approve that request, then retry the operation. The resulting session grant is tied to that exact operation fingerprint. Use --allow-risky-exec only when you intentionally want to pre-authorize repository-aware execution process-wide, for example:
wcode --workspace "$PWD" --allow-risky-exec intelligence --refresh-semantic
wcode --workspace "$PWD" --allow-risky-exec verification --plan-id VP-... --execute-stagessemantic_provider_status covers all 22 syntax-indexed languages and reports exactly which real LSP providers are installed and runnable. First-party LSP facts carry source hashes and are classified fresh / stale; stale semantic facts are excluded from graph/context/impact until refreshed. Refreshes are revision-cached from source hashes, provider binary metadata, and index bounds, so unchanged semantic inputs do not restart the language server. Missing language servers fall back to honest Tree-sitter precision=syntax; they are never reported as semantic. language_quality_status adds repository-aware formatter/linter/type/static/test/security discovery on the same language surface, and language_quality_run executes only repository-declared, available, check-only providers through the trusted authorization boundary and records current-revision Evidence. verification_executor_status remains the advanced Property/Mutation/Fuzz/Runtime registry.
While the runtime TUI is open, press I for the live Software Intelligence overlay and W to open the protected Project Observatory. Pending authorization requests appear directly in the TUI; use โ/โ to select one request, Y to approve only that request, and N to deny it. The Project Observatory's access panel exposes the same pending-request decisions plus runtime project and command authorization management. Its primary control loop is wcode's own model: Desired State โ Actual State โ Change โ Proof โ Convergence. Browse every Requirement/feature, inspect functional intent, component responsibilities and declared dependencies, compare them with current code-derived implementation/dependency relationships, see current-revision Evidence and Verification readiness without mixing stale history, then inspect convergence blockers, ADRs/constraints, mapped Git changes, and architecture revisions. Repository code statistics remain visible underneath. The generic Software Graph stays a low-level intelligence API rather than the primary โball graphโ UI.
Recommended flow:
workspace_info โ scope_status โ design_status โ project_context โ choose Product Scope(s) โ software_context(scopes=...)
โ
implement with symbol/read/edit tools
โ
review_changes โ drift_status โ impact_analysis โ risk_status
โ
reconciliation_plan โ verification_plan โ verify_project โ evidence_status
The runtime now exposes:
- Product Scopes: one canonical registry drives source architecture, context filtering, semantic scope aliases, convention classification, MCP Tool metadata, and agent discovery.
scope_statusaudits actual repository coverage and unmapped source;software_context.scopesnarrows recognized wcode capability roots;semantic_query.scopesfilters scoped facts; the full registry is available inworkspace_infoand thewcode://runtime/product-scopesMCP Resource. - Desired State & semantics:
design_init,design_status,traceability_status, scoped/budget-awaresoftware_context, plus a persistent Semantic Registry (semantic_status,semantic_query,semantic_record,semantic_confirm,semantic_retire).software_contextincludes a boundedgraph_contextneighborhood scored from task text, confirmed semantic expansion, requested scopes, and matched symbol paths, so agents receive relevant semantic/runtime relationships instead of only lexical symbol matches. Conversation/model semantics stay candidates until explicit human confirmation. - Repository conventions:
project_contextincludes a bounded convention report, andconvention_statusexposes the full cross-language policy/findings view: detected languages, file-naming findings, architecture-domain classification, Product Scope mapping/gaps, unclassified root source files, oversized source modules, flat Rust domain growth, counts, and truncation state. - 22-language semantic providers:
semantic_provider_status/semantic_provider_refreshauto-detect real LSP servers for every language supported by the syntax indexโfrom Bash/C/C++/C#/Go/Rust/Java/Swift to Python/Ruby/PHP/Elixir/Dart/OCaml/R and JS/TS/HTML/CSS. Real Document Symbol, Call Hierarchy, and Implementation facts enter the graph asprecision=semantic; unchanged revisions are reused without relaunching the server, stale source-hash revisions are excluded, and unavailable servers remain explicit syntax fallback. - Language Quality Matrix:
project_contextandlanguage_quality_statusexpose per-language syntax/semantic/format/lint/type/static/test/security/advanced-stage coverage. Repository package scripts and native/configured tools are first-class providers; missing dimensions remain gaps.language_quality_runis intentionally check-only and records revision-exact Evidence. Provider families and execution rules are documented in Language Quality. - Software Digital Twin:
software_graphoverlays declared Design State, Tree-sitter facts, fresh first-party LSP facts, and externally imported SCIP/compiler/runtime facts while preserving per-edge provenance;graph_provider_import,graph_provider_status,graph_history,graph_query, and boundedgraph_diffprovide durable provider-neutral ingestion, historical queries, and meaningful Node/Edgeadded / removed / changeddeltas. - Change intelligence:
review_changesnow adds deterministic maintainability signals for a file crossing the 1,000-line review boundary, at least 400 net new lines concentrated in one source file, and large changes spanning at least three Product Scopes; those findings feedrisk_statusalongside drift and graph-aware transitive impact. See Maintainability Review Policy. - Reconciliation execution:
reconciliation_execution_status,reconciliation_claim,reconciliation_submit, andreconciliation_retryturn plans into resumable dependency-aware execution state. Source edits still flow through wcode's normal hash-guarded coding tools rather than an unsafe hidden patch executor. - Verification Mesh: persistent
verification_plan/ reviewer jobs, blindverification_claim/verification_submit, repository-nativelanguage_quality_status/language_quality_run,verification_executor_status/verification_execute_stagesfor discovered or.wcode/executors.yamlProperty/Mutation/Fuzz/Runtime-Canary runners, externalverification_stage_submit, explicitverification_approve, stale-revision detection, history, and readiness-awareverification_status. Medium-and-higher risk plans include a dedicated blindmaintainabilityreviewer with capabilitymaintainability_review; correctness approval does not replace that structural review. Stage readiness is fail-closed across the latest result from every producer (Fail > Disagree > Inconclusive > Pass), and automatic execution runs every applicable available runner rather than letting one late Pass hide another runner's failure. - MCP 2026 long-running Tasks: clients that opt into
io.modelcontextprotocol/taskson a request can runsemantic_provider_refreshandverification_execute_stagesasynchronously. Task handles are persisted before return, scoped to the OAuth client fingerprint, pollable throughtasks/get, and cancellable throughtasks/cancel; clients without the extension keep the existing synchronous behavior. - Evidence:
evidence_statusreads immutable per-workspace deterministic, model-review, disagreement, stage, human-approval, and reconciliation evidence that survives runtime restarts.
A useful instruction for a connected coding agent is:
Before editing, inspect
workspace_info,scope_status,design_status, andproject_context, resolve any relevant unmapped-source architecture debt, choose the Product Scope(s) that bound the task, then usesoftware_contextwith thosescopes. After the change, runreview_changes,drift_status,impact_analysis, andrisk_status; treatmaintainability-*findings as structural signals rather than style nits. Create areconciliation_planif gaps remain, satisfy any required independentmaintainability_review, run the recommended verification, and finish withevidence_status.
Evidence, Verification Plan/Job state, Semantic Facts, Graph Provider revisions, Software Graph history/diffs, Reconciliation Plans, and Reconciliation execution state are persisted per workspace in wcode's user-level state directory and survive runtime restarts. MCP Task records are also durable, but a Task that was still working when the runtime process was replaced is marked failed rather than pretending its worker survived; OAuth state is still a separate runtime boundary. Risk remains intentionally derived from current Design/Git/Code state. Property/Mutation/Fuzz/Runtime stages can be executed through wcode's cross-language executor registry or supplied by an external system; every result must carry a real command/artifact digest before it can clear readiness. Tree-sitter remains syntax precision. First-party LSP adapters only emit precision=semantic after a real language server responds, and external SCIP/compiler/runtime providers retain their own explicit provenance. Language servers and test tools are discovered from the host rather than bundled, so support never means an unavailable executable is silently treated as installed.
See Software Intelligence or ไธญๆๆๆกฃ for Design State examples, exact reviewer capability names, MCP arguments, limitations, and an end-to-end dogfood workflow.
A compact toolbox instead of a remote shell:
design ยท software context ยท conventions ยท graph ยท traceability ยท search ยท symbols ยท read ยท edit ยท impact ยท risk ยท reconciliation ยท verification ยท evidence
Writes are atomic and hash-guarded. delete_path is deliberately exceptional: it can remove only a regular file or an empty directory after an exact one-shot authorization in the local TUI or protected WebUI. File deletion also requires the current SHA-256; recursive deletion, workspace-root deletion, protected paths, symlink aliases, and hard-linked files remain blocked.
Starting wcode opens a client-neutral Setup Hub. It shows the shared MCP URL and links to Grok, Claude, ChatGPT, Mistral, plus the full compatibility guide. There are no provider-specific wcode startup commands.
wcode uses Remote MCP over HTTPS with OAuth 2.1/PKCE and keeps compatibility with modern and established MCP clients. It does not depend on a model vendor API or a vendor-specific agent protocol.
Cloud-hosted AI clients cannot reach localhost, so wcode creates a temporary HTTPS endpoint with a managed tunnel. The default auto policy health-verifies Cloudflare and falls back to localhost.run and Pinggy; use --tunnel-provider โฆ to force one provider. If you already have a stable reverse proxy, pass --public-url https://โฆ instead.
The TUI and /healthz keep tunnel, OAuth, MCP connectivity, and task status observable when something goes wrong.
Each process has an independent instance ID, local port, OAuth state, health monitor, and owned managed-tunnel child when tunneling is enabled. Startup waits until the public health response matches that instance before presenting its MCP URL, so multiple wcode --port โฆ processes can run without sharing readiness state.
The default policy is narrow on purpose:
- only configured workspace roots are visible;
- common credentials, VCS internals, path traversal, and symlink escapes are blocked;
- edits are bounded, atomic, and SHA-256 guarded;
- deletion is restricted to
delete_path: regular files or empty directories only, after an exact one-shot local TUI or protected WebUI authorization; files also require their current SHA-256, and recursive/root/protected/symlink/hard-link deletion is permanently blocked; - commands run without a shell; a small safe set is pre-authorized, other model-requested bare executable names require explicit per-Workspace human approval, and repository-controlled execution can additionally require an exact
RiskyExecutionapproval or the process-wide--allow-risky-exectrust expansion; narrowly validatedgit add, message-onlygit commit, and explicitgit push <remote> <refspec>shapes may use that exact approval path, while force/delete/reset/restore-style mutation remains blocked; shell interpreters and path-bearing program names remain blocked; - OAuth uses PKCE, constrained redirects, resource-bound tokens, and rotating refresh tokens.
See the full Security Model and Development for implementation details.
Keep intent explicit. Keep evidence durable. Keep models replaceable.






