{"slug": "archify", "title": "Archify", "summary": "Archify v2.17.0-dev.1, a Node.js rendering and validation system for Cursor, Claude Code, Codex CLI, and OpenCode, compiles typed JSON IR into self-contained HTML/SVG system maps with five diagram types, four presets, dark/light themes, and Before/Delta/After comparison for architecture changes. The tool, which requires no repository and works in any agent chat, supports exports to PNG, SVG, WebM, and 1200×630 share cards, and is sponsored by APINEBULA and EverMind's Raven harness.", "body_md": "**English** · [简体中文](/tt-a1i/archify/blob/main/README_ZH.md)\n\n**Turn a codebase or system description into a polished, interactive system map — directly in chat.**\n\nArchify is a Node.js rendering and validation system for Cursor, Claude Code, Codex CLI, and OpenCode. Agents produce typed JSON IR; Archify deterministically compiles it into HTML/SVG.\n\n- **Open it and present** — five diagram types, four presets, dark/light themes, built-in brand marks, and finite motion\n- **Review architecture changes before merge** — compare two validated snapshots as Before / Delta / After, with exact added, removed, changed, moved, and rerouted facts\n- **Every interaction stays grounded** — search nodes, optionally open revision-verified source, trace upstream/downstream authored reach and exact routes, compare roles, and play guided stories without inventing topology\n- **One file, ready to trust and share** — typed JSON IR and deterministic checks produce self-contained HTML plus PNG, SVG, WebM, and 1200×630 share cards\n\n**Current development version:** `v2.17.0-dev.1`. See [Changelog](/tt-a1i/archify/blob/main/CHANGELOG.md#unreleased).\n\n**[Project page](https://tt-a1i.github.io/archify/)** · **[Scenario guide](https://tt-a1i.github.io/archify/guide.html)** · [Proof Lab](https://tt-a1i.github.io/archify/gallery.html)\n\n```\nnpx skills add tt-a1i/archify -g\n```\n\nUsing Cursor? Open the [agent-aware quick start](https://tt-a1i.github.io/archify/start.html?agent=cursor&type=architecture) for exact global and project commands.\n\n**No repository is required:** describe the system in any agent chat.\n\n| **[APINEBULA](https://apinebula.ai/ref/wywnaATT)** | APINEBULA sponsors Archify with one API for Claude, GPT, Gemini, and more. [Register through Archify](https://apinebula.ai/ref/wywnaATT) and use**`Archify`** for**10% off** . | \n| **[EverMind](https://github.com/EverMind-AI) · [Raven](https://github.com/EverMind-AI/Raven)** | EverMind sponsors Archify and builds memory infrastructure for agents. Its [**Raven**](https://github.com/EverMind-AI/Raven) harness supports Archify as a Skill for verified, interactive system maps. | \n\nWant to sponsor Archify? [Contact us by email.](mailto:2801884530@qq.com)\n\nThese are generated Archify artifacts, not product mockups. Click a frame to open its live, shareable state.\n\n**Three real generated artifacts.** Signal Flow · Blueprint · Classic · [open the interactive Proof Lab ↗](https://tt-a1i.github.io/archify/gallery.html)\n\n| Guided story | Route probe | Semantic lens | \n|---|---|---|\n| Play one finite named chapter. | Inspect the shortest authored directed path. | Compare real traffic between semantic roles. | \n\nThe [Proof Lab](https://tt-a1i.github.io/archify/gallery.html) contains all 11 checked-in scenarios, their JSON sources, named views, and validation receipts.\n\nArchify traced [`mco-org/mco`](https://github.com/mco-org/mco) at `9f1a1cf` and produced this checked map. **[Open it ↗](https://tt-a1i.github.io/archify/cases/mco-runtime.architecture.html?theme=dark&present=1#view=dispatch-path)** · [trace reach ↗](https://tt-a1i.github.io/archify/cases/mco-runtime.architecture.html?theme=dark#focus=router&reach=downstream) · [typed source](/tt-a1i/archify/blob/main/docs/cases/mco-runtime.architecture.json)\n\nSame diagram, two themes, one click to switch:\n\n| Dark | Light | \n|---|---|\n\nThe Export menu copies PNG to the clipboard and downloads static or motion formats:\n\nUse **Copy Share Card** when you want a canonical 1200×630 image for a README, release, or social post.\n\nAfter tracing a route, **Export → Route Share Card** downloads that authored path as a 1200×630 PNG with the full diagram retained for context.\n\nAfter tracing authored `Upstream` or `Downstream` reach, **Export → Reach Share Card** captures that exact reading without claiming runtime impact.\n\nOpen [`examples/web-app.html`](/tt-a1i/archify/blob/main/examples/web-app.html) locally to try the complete viewer.\n\n```\nnpx skills add tt-a1i/archify -g\n```\n\nFor an explicit, non-interactive Cursor install:\n\n```\nnpx -y skills add tt-a1i/archify --skill archify --agent cursor --global --copy --yes\n```\n\nTo try without installing:\n\n```\nnpx skills use tt-a1i/archify@archify --agent codex\n```\n\n[DSH community opt-in](/tt-a1i/archify/blob/main/integrations/deepseek-harness/README.md): `dsh plugin --profile web add @tt-a1i/archify-dsh@0.1.0`\n\nThe [agent switcher](https://tt-a1i.github.io/archify/start.html?agent=cursor&type=architecture) covers `cursor`, `codex`, `claude-code`, and `opencode`. For Raven's manual ZIP install, extract [` archify.zip`](/tt-a1i/archify/blob/main/archify.zip) into `~/.raven/workspace/skills`; it yields `~/.raven/workspace/skills/archify`. Raven is not a switcher target.\n\nArchify may GET the fixed stable manifest solely to show an optional reminder; it never downloads or installs updates. Successful checks wait about 72 hours (±20%); active use retries failures after 6, then 24 hours. The server sees normal HTTP metadata (IP and time), but receives no version, Agent, project data, prompts, account/device ID, or ETag. You decide whether and when to update. Set `ARCHIFY_UPDATE_CHECK_DISABLED=1` to disable networking and reminder-state writes.\n\n``` php\nUse Archify to draw: Browser -> API -> Redis cache -> PostgreSQL fallback.\n```\n\nFor source evidence, open a repository and ask:\n\n```\nAnalyze this repository, then use archify to create a high-level runtime architecture diagram.\nShow 8–12 core components, one primary path, external dependencies, and trust boundaries.\nPut supporting detail in cards instead of adding more edges.\n```\n\nContinue with focused requests such as `add Redis`, `move auth to the left`, or `highlight the rollback path`. Archify keeps the typed source available for targeted iteration.\n\n| Type | Best for | Include in your prompt | \n|---|---|---|\n| **Architecture** | Components, services, storage, boundaries | Scope, core components, primary path | \n| **Workflow** | CI/CD, approvals, tool calls, runbooks | Participants, order, branches, exceptions | \n| **Sequence** | API calls, cache fallback, auth, async traces | Callers, callees, returns, timing | \n| **Data Flow** | Pipelines, lineage, PII, consumers | Sources, transforms, stores, boundaries | \n| **Lifecycle** | States, retries, waits, terminal outcomes | States, events, retry and cancellation paths | \n\nArchitecture's optional `deployment-ownership` profile fails closed when authored owners, region placement, private database scope, or named crossings are missing; it is never implicit and does not inspect live infrastructure. See the [checked deployment proof](https://tt-a1i.github.io/archify/gallery.html#proof-deployment-ownership).\n\nFor design or PR review, Architecture Delta compares validated Before / Delta / After snapshots with a machine receipt. Select an authored change or play one finite, viewer-only Review; it infers no impact, risk, or merge safety.\n\n`node archify/bin/archify.mjs compare architecture base.json head.json architecture-delta.html --json`\n\nNot sure which one fits? Use the [interactive scenario guide](https://tt-a1i.github.io/archify/guide.html), or ask the zero-dependency CLI:\n\n```\nnode archify/bin/archify.mjs guide \"Show an API request with Redis cache miss\"\nnode archify/bin/archify.mjs guide \"Map Kafka topics, consumer groups, replay, and DLQ\" --json\n```\n\nWorkflow keeps the happy path clear across lanes:\n\nSequence explains one interaction over time:\n\nData Flow makes movement and sensitivity boundaries explicit:\n\nLifecycle separates progress, waits, retries, and terminal outcomes:\n\nArchitecture examples: [`web-app`](/tt-a1i/archify/blob/main/examples/web-app.html) · [` Archify pipeline`](/tt-a1i/archify/blob/main/examples/archify-repo.html) · [` grid placement`](/tt-a1i/archify/blob/main/examples/archify-repo-grid.html) · `desktop agent`\n\n- **Layout judgment over generic auto-layout** — the agent chooses hierarchy, spacing, routes, and emphasis; shared automatic endpoints spread deterministically instead of piling arrows on one midpoint.\n- **Typed JSON IR** — every renderer-backed mode has a schema and reproducible source.\n- **Atomic validation before delivery** — schema, layout, HTML/SVG, route, and label-to-route clearance checks must all pass before a showcase artifact replaces the last known good output.\n- **Failures come with a repair receipt** —`validate --json` and`deliver --json` return stable rule codes, the exact subject, measured evidence, and only supported repair controls instead of a Node stack or an unstructured retry guess.\n- **Last-good live preview** — an optional desktop loop watches one JSON file, refreshes only after the latest candidate passes every gate, and keeps the previous verified diagram visible when a save is incomplete or invalid.\n- **Truthful interaction** — focus, upstream/downstream reach, exact routes, role comparison, and stories reuse authored nodes and relationships instead of inventing topology or claiming runtime impact.\n- **Source evidence, only when requested** — Evidence-backed Architecture nodes mark themselves`SRC n` and open Git-verified files and line ranges pinned to one public commit; ordinary artifacts stay source-free.\n- **Portable by default** — the result is one HTML file; exports remain full-diagram and free of temporary viewer state.\n\nArchify is not a general-purpose drawing editor or a Mermaid theme. It turns technical intent into a communication artifact.\n\n| Step | What happens | \n|---|---|\n| **Generate** | The agent creates typed JSON IR from your description. | \n| **Validate** | Bundled validators and layout rules check the source; failures identify the exact local repair in machine-readable JSON. | \n| **Preview (optional)** | A loopback-only desktop session watches one source and reloads only verified revisions; failures keep the last-good artifact. | \n| **Deliver** | A same-directory candidate is rendered and checked; only a passing artifact atomically replaces the target, then optional `--open` launches that exact file. | \n| **Iterate** | The agent updates the source while unrelated structure stays stable. | \n\nUseful repository commands:\n\n```\ncd archify\nnode bin/archify.mjs doctor\nnode bin/archify.mjs demo /tmp/archify-demo\nnode bin/archify.mjs guide \"Show CI/CD checks, approval, deploy, and rollback\"\nnode bin/archify.mjs validate workflow examples/agent-tool-call.workflow.json --quality showcase --json\nnode bin/archify.mjs preview workflow examples/agent-tool-call.workflow.json /tmp/workflow.html --quality showcase\nnode bin/archify.mjs deliver workflow examples/agent-tool-call.workflow.json /tmp/workflow.html --quality showcase --open --json\n```\n\n`preview` is an explicit loopback-only desktop mode: it watches one JSON file on a random `127.0.0.1` port, keeps the last verified output through failures, stops with Ctrl-C, and adds no generated-HTML runtime. Use `--no-open` for tests or manual URL opening.\n\n`deliver --open` is an opt-in one-shot handoff after commit. Opener failure preserves success; JSON remains on stdout and the absolute fallback path goes to stderr.\n\nOn failure, `validate --json` and `deliver --json` emit one JSON object. Apply only each `diagnostics[]` subject's `supportedFixes`, within the Skill's two correction rounds; visual review remains separate.\n\nSettings:\n\n```\n{\n  \"meta\": {\n    \"locale\": \"en\",\n    \"animation\": \"trace\",\n    \"visual_preset\": \"signal-flow\"\n  }\n}\n```\n\n`meta.locale=en|zh-CN` localizes page title, Legend, states/errors, a11y, HTML/SVG `lang`—never authored content. Otherwise omit; preserve requested-language copy; disclose English fallback. Static omits `animation`; `classic` defaults.\n\n| Action | Control | \n|---|---|\n| Open the factual Diagram Guide | `?` | \n| Find and focus a semantic node | `/` | \n| Trace upstream/downstream authored reach | Focus a node → `Upstream` /`Downstream` | \n| Probe a directed route and inspect its journey | `R` or`PATH` | \n| Compare one or two semantic roles | `L` or`LENS` | \n| Open the live overview radar | `M` or`MAP` | \n| Play a guided story / change chapter | `P` /`[``]` | \n| Enter Presentation Stage | `F` | \n| Choose visual style ( `S` cycles) / toggle theme / open Export | `S` /`T` /`E` | \n| Zoom or reset | `+` /`-` /`0` | \n\nStable links can restore `#focus=<id>`, `#focus=<id>&reach=upstream|downstream`, `#relation=<id>`, `#route=<source>~<target>`, `#lens=<kind>~<kind>`, and `#view=<view-id>`. Reader-driven motion is finite, respects `prefers-reduced-motion`, and never enters canonical exports.\n\nThe complete generation and viewer contract lives in [`archify/SKILL.md`](/tt-a1i/archify/blob/main/archify/SKILL.md).\n\n| Surface | Install location or method | Capability | \n|---|---|---|\n| **Raven** | Manual ZIP into `~/.raven/workspace/skills` →`~/.raven/workspace/skills/archify` | Full renderer + validation workflow | \n| **Claude Code** | `~/.claude/skills/` or`.claude/skills/` | Full renderer + validation workflow | \n| **Codex CLI** | `~/.agents/skills/` or`.agents/skills/` | Full renderer + validation workflow | \n| **opencode** | `~/.config/opencode/skills/` ,`.opencode/skills/` , or`.agents/skills/` | Full renderer + validation workflow | \n| **Claude.ai** | Upload `archify.zip` under Settings → Capabilities → Skills | Depends on Node.js access in the sandbox | \n| **Project Knowledge** | Upload `archify.zip` to the project | Prompt-driven architecture fallback | \n| **DeepSeek Harness** | Opt-in: `dsh plugin --profile web add @tt-a1i/archify-dsh@0.1.0` . Invoke:`Use the archify skill to map this repository's runtime architecture.` Remove:`dsh plugin --profile web remove @tt-a1i/archify-dsh` . | Community integration for developer-preview `@deepseek-ai/dsh@0.1.0-rc.6` ; Node`^22.19.0 \\|\\| >=24.0.0` ; not an official DeepSeek product. No telemetry. Shell files need exact workspace paths, not Web Produced Files.[Details](/tt-a1i/archify/blob/main/integrations/deepseek-harness/README.md) . | \n\nAutomatic Mermaid parsing, general-purpose auto-layout, hosted sharing, and WYSIWYG editing are intentionally outside the current scope.\n\n[MIT](/tt-a1i/archify/blob/main/LICENSE) — free to use, modify, and distribute.\n\nIssues, pull requests, and real-world diagrams are welcome. Start with the [contribution guide](/tt-a1i/archify/blob/main/CONTRIBUTING.md), use the reproducible bug form for failures, or submit a validated diagram through the [community showcase form](https://github.com/tt-a1i/archify/issues/new?template=showcase.yml). · [LINUX DO](https://linux.do)", "url": "https://wpnews.pro/news/archify", "canonical_source": "https://github.com/tt-a1i/archify", "published_at": "2026-09-07 05:54:09+00:00", "updated_at": "2026-09-07 06:26:30.560130+00:00", "lang": "en", "topics": ["developer-tools", "ai-tools", "ai-agents"], "entities": ["Archify", "Cursor", "Claude Code", "Codex CLI", "OpenCode", "APINEBULA", "EverMind", "Raven"], "alternates": {"html": "https://wpnews.pro/news/archify", "markdown": "https://wpnews.pro/news/archify.md", "text": "https://wpnews.pro/news/archify.txt", "jsonld": "https://wpnews.pro/news/archify.jsonld"}}