Workflow
The system of record for software engineering.
Design it. Build it. Verify it.
Keep design docs, architecture, decisions and what each work session found in one record. Engineers and coding agents work from the same plan, pick up what earlier sessions learned, and review what the evidence supports.
Free includes architecture docs, MCP access and ten design docs within Free plan limits. Unlimited design docs start on Team.
Fictional example · recreated ArchDocs views
The next session can pick up what the last one found
Ten services are moving off an old API field. Claude Code finds a nightly worker the plan missed: remove the field and its invoice export breaks. ArchDocs keeps that finding with the plan, so the next engineer or agent gets it when they ask for context.
One finding, two sessions
Claude Code · run by Priya Raman
Tuesday01Found
invoice-worker still reads customer_name. Removing the field would break its nightly invoice export.
ArchDocs Work Log · DD-0031
Next: Keep customer_name until invoice-worker reads customer. Add a contract test.
Codex · run by Sam Okafor
Wednesday02Retrieved
Codex asks ArchDocs for the migration context with get_task_context.
Returned context · DD-0031
Keep customer_name in the response until invoice-worker reads customer.
Constraint · from E-7 · Proposed by an agent
03Acted
Kept customer_name and added the missing invoice-worker contract test in #215.
View context details
Claude Code run by Priya Raman
- Found
- invoice-worker reads customer_name in jobs/export_invoices.py. It is not in the plan.
- Consequence
- Step 3 would break the nightly invoice export.
- Next
- Keep customer_name until invoice-worker reads customer. Add a contract test for invoice-worker.
Captured as a constraint
E-7Keep customer_name in the response until invoice-worker reads customer.
Who moves invoice-worker to customer?
Prompt
Continue DD-0031: move Orders tocustomer, then removecustomer_name.
Requests context over MCP
get_task_context
task: "Move Orders to customer and remove customer_name"
repo: { fullName: "example/accounts-api", paths: ["src/accounts/"] }
designDocId: "8c1e…" (DD-0031)Returned (excerpt)
Decisions and constraints
- E-7
Keep
customer_namein the response until invoice-worker readscustomer.DD-0031 CONSTRAINT · captured from E-7 on DD-0031 (Work Log)
Proposed
Current
DD-0031 · Replace customer_name in the Accounts API response
CurrentApproved by a person
Open questions
- Q2
Q2 · Who moves invoice-worker to
customer?Open
Acceptance criteria
AC-3 · invoice-worker exports invoices without
customer_namePendingAC-4 · All ten original consumers have migration evidence
Pending
Next action
Moves Orders to customer in #214. Leaves customer_name in place because of the E-7 constraint, and adds the missing invoice-worker contract test in #215. Records both as E-9.
Context is requested, not injected. The ArchDocs MCP server asks agents to request it before they plan a change, and people open the same records on the Context page. A proposed constraint is a record for the next session to weigh, not an enforced rule, so Verify it checks what the work actually did.
Work logs come with design docs on every plan. Task context is on Team, Business and Enterprise. GitHub pull requests and checks are on Business and Enterprise.
Design it
Map the system your team actually runs
Draw services, queues, databases and APIs once, then reuse them on every diagram. Archdocs shows what depends on each one, from the docs your team keeps.
- Endpoint cards, data models, sequence diagrams and cloud blocks on one canvas.
- One object per service, so a rename or new owner updates every diagram that uses it.
- Every diagram is YAML you can review in Git, with a pull request check that flags docs that may be stale.
Plan · Architecture docs, shared objects and the MCP server are on every plan.
- Object
- Bookings DB
- Kind
- Datastore
- Engine
- PostgreSQL 16
- Change
Dispatch Service doc
Booking Lifecycle doc
Refunds Service doc
Bookings DB is PostgreSQL 16 in all three docs.
Changing Bookings DB affects 9 objects across 7 docs.Example
Design it
Decide before you build, and keep the reasons
A design doc holds the spec, the open questions and the decision, next to the services it changes. Decision records keep the options you rejected and why.
- Open questions stay open until a person answers them.
- Decision records show the considered options and what superseded them.
- Named reviewers approve the spec, and later edits are recorded as amendments.
- An AI reviewer checks the spec against your other docs and code before people review it, and you can post its findings as comments.
Plan · Ten design docs on Free; unlimited design docs on Team and above. Review and approvals on Business and Enterprise. AI review on Team and above.
Product screenshots from the DD-0031 example, the same fictional migration as the demo above. Open the example
See how design docs workBuild it
Give people and coding agents the same plan
The implementation plan lists the changes and tasks. Engineers work from it in Archdocs, and coding agents read the same spec, plan and open questions over MCP.
- Agents get the open questions with the plan, and Archdocs tells them to ask rather than decide.
- Evidence an agent submits is labeled as the agent's report until a person reviews it.
- Agents ask for a task's context before they start, and leave a handoff when they stop.
- Send plan tasks to Linear when your team tracks work there. Linear is on Business and Enterprise, in early access.
Plan · The MCP server is on every plan. Ten design docs on Free; unlimited design docs on Team and above.
Product screenshots from the DD-0031 example, the same fictional migration as the demo above. Open the example
See how agents use ArchdocsVerify it
Review what landed against the plan
Compare the planned changes with the changes your team and agents recorded, next to pull requests and checks from GitHub.
- Gaps show both ways: planned work with no recorded change, and changes nobody planned.
- Pull request and check results come from GitHub.
- Acceptance criteria say what has to be true, and each piece of evidence shows where it came from.
Plan · Plan versus actual on every plan. GitHub evidence on Business and Enterprise. Acceptance criteria on every plan, up to 10 per design doc on Free.
Product screenshots from the DD-0031 example, the same fictional migration as the demo above. Open the example
See how verification worksBuild it
Pick up where the last session stopped
Each design doc keeps a work log of what was done, what's blocked and what comes next, with every entry marked as reported by a person or an agent. When someone picks the task up, they ask for its context and get the decisions, open questions and history linked to that work.
- Handoffs list what's done, what's blocked and what's next, with a resume prompt for the next session.
- Commits cited in an entry are checked against GitHub when Archdocs can read the repository.
- Task context labels every record with who approved it and how it was found.
- Agents ask for it over MCP; people use the Context page. Records you can't open are left out.
Plan · Work logs come with design docs on every plan. Task context is on Team, Business and Enterprise.
Worked example above: E-7 is recorded in session one, returned by get_task_context in session two, and checked as AC-3 in Verify it.
Follow the findingTemplates
Start from a working example
Founder note
Why I built ArchDocs
I built ArchDocs so a service is defined once and used in every document that needs it. Design docs, decisions and recorded changes now build on those same objects.
Aylon, founder of ArchDocs
Read my noteFAQ
Frequently asked questions
Is it free?
Yes. Free covers up to three people, ten architecture docs, shared objects, the MCP server and ten design docs. Team adds unlimited design docs and task context. Business adds reviews, approvals and GitHub evidence.
See pricing and plan limitsWe write design docs in markdown already. Why change?
Markdown works well for many teams. Archdocs becomes useful when decisions, open questions, architecture references, and implementation records need to stay connected across people and changes. You can import a markdown plan as is.
Isn't this one more thing to maintain?
Shared objects reduce duplicate edits. People and agents can contribute records, and supported integrations add signals about work and documentation that may need review. Your team still decides what is correct.
Do we keep GitHub and Linear?
Yes. Code stays in GitHub and work tracking stays in Linear. Archdocs links pull requests, checks and issues to the design doc they belong to, so the engineering record points at those tools instead of replacing them. GitHub is on Team and above; Linear is on Business and Enterprise, in early access.
How small can we start?
With one proposal. Write it as a design doc, mention the services it changes, and record the work as it lands. Free includes ten design docs and ten architecture docs.
Read the MCP setup guideWhy not build this ourselves?
You could keep a folder of docs and a script or two. The work that lasts is maintaining permissions, history, authority labels, attribution, connectors and evidence over time, for people and agents at once. That is what Archdocs maintains for you.
Can we take our data with us?
Diagrams export as SVG, PNG or PDF, and every diagram is YAML you can copy. A design doc exports as markdown, whole or one variation at a time, including work log entries. The audit log exports as CSV or JSON. Approvals, acceptance criteria results and decision records are not included in those exports today.
Does it work with my AI tools?
Yes, if your client supports remote MCP servers with OAuth. Connect to https://mcp.archdocs.io/mcp and sign in through your browser. The agent can read and update architecture docs, write design docs and decisions, record changes, add work log entries and ask for a task's context (task context is on Team and above).
How does the next person or agent pick up the work?
From the design doc's work log. The latest handoff says what's done, what's blocked and what's next, and task context gathers the approved decisions, open questions and history linked to the work. Agents get the same over MCP. Work logs come with design docs on every plan. Task context is on Team, Business and Enterprise.
Where is my data stored?
Architecture documents are stored in PostgreSQL in the United States. The API and database run on Northflank, the web apps run on Vercel, and uploaded files are stored in Cloudflare R2.
Start
Start with one engineering change.
Explore the architecture editor for free, or see how Design Docs connect a proposal, its decisions, and the record of the work.