Builder Docs Information Architecture
Design Principle
Every page answers ONE question type. The type determines the section.
| Developer asks |
Section |
| "Set me up" |
Get Started |
| "How do I build contracts?" |
Smart Contracts (concepts + API) |
| "What tools are available?" |
Tools (reference + guides, grouped by workflow) |
| "Walk me through building X" |
Tutorials (multi-part guided learning) |
| "How do I upgrade?" |
Migration |
Sections link to each other, never duplicate content.
Final Structure
docs/builder/
│
├── get-started/ ① Onboarding (renamed from quick-start/)
│ ├── setup/
│ │ ├── installation.md midenup install
│ │ └── cli-basics.md first commands
│ └── your-first-smart-contract/
│ ├── create.md
│ ├── deploy.md
│ └── test.md
│
├── smart-contracts/ ② Concepts + API (local only, no ingested content)
│ ├── overview.md
│ ├── getting-started.md toolchain & project structure
│ ├── accounts/
│ │ └── ...existing concept pages...
│ ├── notes/
│ │ └── ...existing concept pages...
│ ├── transactions/
│ │ └── ...existing concept pages...
│ ├── api-reference.md
│ ├── types.md
│ ├── cross-component-calls.md
│ └── patterns.md
│
├── tools/ ③ Reference + Guides (by workflow)
│ ├── index.md overview of all tools
│ ├── development/
│ │ ├── midenup.md
│ │ ├── miden-cli.md
│ │ ├── cargo-miden.md
│ │ └── templates.md rust, frontend, masm
│ ├── testing/ local — moved from develop/tutorials/rust-compiler/
│ │ ├── mockchain.md (from testing.md)
│ │ ├── debugging.md (from debugging.md)
│ │ └── pitfalls.md (from pitfalls.md)
│ ├── clients/ ingested from miden-client repo
│ │ ├── rust-client/
│ │ └── web-client/
│ └── infrastructure/
│ ├── node-setup.md
│ ├── playground.md
│ └── explorer.md
│
├── tutorials/ ④ Entire miden-tutorials repo ingested here
│ ├── index.md (ingested)
│ ├── rust-client/ (ingested)
│ ├── web-client/ (ingested)
│ └── miden-bank/ (moved to tutorials repo, ingested back)
│ ├── index.md
│ ├── 00-project-setup.md
│ ├── ...
│ └── 08-complete-flows.md
│
├── migration/ ⑤
├── faq.md
└── glossary.md
What Changes vs Today
| Today |
After |
Why |
quick-start/ |
get-started/ |
Standard naming |
smart-contracts/ (mixed concepts + ref) |
smart-contracts/ (concepts + API only) |
Clean separation — examples live in tutorials/ |
develop/tutorials/ (ingested + local mixed) |
tutorials/ (all ingested from one repo) |
Single source of truth, clean ingestion |
tools/ is 1-page stub |
tools/ comprehensive, grouped by workflow |
Every tool gets a page |
Guides in develop/tutorials/rust-compiler/ |
tools/testing/ (local) |
Testing/debugging are tool-oriented, not tutorials |
develop/index.md stale version note |
Deleted |
Content is in proper sections now |
Cross-Linking Strategy
Smart contract concept pages cross-link to relevant tutorials rather than embedding examples:
smart-contracts/accounts/overview.md
→ "See tutorials for hands-on examples:"
→ links to tutorials/rust-client/counter_contract_tutorial
→ links to tutorials/web-client/counter_contract_tutorial
smart-contracts/notes/overview.md
→ links to tutorials/rust-client/mint_consume_create_tutorial
→ links to tutorials/rust-client/custom_note_how_to
tutorials/miden-bank/00-project-setup.md
→ links to tools/development/cargo-miden
→ links to smart-contracts/getting-started
tools/testing/mockchain.md
→ links to tutorials/miden-bank (examples in context)
Content Ownership
| Section |
Owner |
Source |
get-started/ |
miden-docs |
Local |
smart-contracts/ |
miden-docs |
Local |
tools/development/ |
miden-docs |
Local (cargo-miden possibly ingested from compiler repo) |
tools/testing/ |
miden-docs |
Local (moved from develop/tutorials/rust-compiler/) |
tools/clients/ |
miden-client repo |
CI ingests |
tools/infrastructure/ |
miden-docs |
Local |
tutorials/ |
miden-tutorials repo |
CI ingests entire repo |
migration/ |
miden-docs |
Local |
CI Pipeline Changes
Current (deploy-docs.yml lines 180-184, cut-versions.yml lines 184-188)
if [ -d "vendor/miden-tutorials/docs/src" ]; then
mkdir -p docs/builder/develop/tutorials
cp -r vendor/miden-tutorials/docs/src/* docs/builder/develop/tutorials/
echo "Synced miden-tutorials → docs/builder/develop/tutorials"
fi
After
if [ -d "vendor/miden-tutorials/docs/src" ]; then
mkdir -p docs/builder/tutorials
cp -r vendor/miden-tutorials/docs/src/* docs/builder/tutorials/
echo "Synced miden-tutorials → docs/builder/tutorials"
fi
That's it — one path change. No multi-target copies, no merging.
Note: The preservation comment on lines 151/155 about "NOT fully cleaned to preserve local tutorials" is no longer needed — tutorials/ will be fully ingested content, and local guides move to tools/testing/.
Implementation Phases
Phase 1: Content moves within miden-docs
- Rename
quick-start/ → get-started/
- Move
develop/tutorials/rust-compiler/{testing,debugging,pitfalls}.md → tools/testing/
- Delete
develop/ directory (all content relocated)
- Update cross-reference links
Phase 2: Move miden-bank to tutorials repo
- Move
develop/tutorials/rust-compiler/miden-bank/ → miden-tutorials repo (tutorials#165)
- Remove local miden-bank from miden-docs
Phase 3: Update CI
- Change ingestion path in
deploy-docs.yml (lines 180-184)
- Change ingestion path in
cut-versions.yml (lines 184-188)
- Remove preservation comments (lines 151/155 in both files)
- Update verification output paths
Phase 4: Cross-linking
- Add "See tutorials" links from smart-contracts concept pages to tutorials/
- Add "See concepts" links from tutorials back to smart-contracts/
- Verify all internal links resolve
Files to Update
CI pipeline files
.github/workflows/deploy-docs.yml (lines 151, 180-184, 198-199)
.github/workflows/cut-versions.yml (lines 155, 184-188, 202-203)
Cross-reference files (add tutorial links)
docs/builder/smart-contracts/index.md
docs/builder/smart-contracts/overview.md
docs/builder/smart-contracts/getting-started.md
docs/builder/smart-contracts/patterns.md
Local files to move
docs/builder/develop/tutorials/rust-compiler/testing.md → docs/builder/tools/testing/mockchain.md
docs/builder/develop/tutorials/rust-compiler/debugging.md → docs/builder/tools/testing/debugging.md
docs/builder/develop/tutorials/rust-compiler/pitfalls.md → docs/builder/tools/testing/pitfalls.md
Local files to move to tutorials repo
docs/builder/develop/tutorials/rust-compiler/miden-bank/* (11 files — see tutorials#165)
Tutorial Gaps Identified
| Gap |
Description |
Priority |
| Deploy to Testnet |
Miden-bank only uses MockChain; no on-chain deployment tutorial |
High |
| Custom Notes |
Standalone tutorial for note types beyond P2ID (swap, escrow, time-locked) |
Medium |
| Oracle Pattern |
Existed in v0.12 legacy tutorials, absent from new structure |
Medium |
| Client Integration |
Guide for using miden-client for account management & transaction submission |
High |
Builder Docs Information Architecture
Design Principle
Every page answers ONE question type. The type determines the section.
Sections link to each other, never duplicate content.
Final Structure
What Changes vs Today
quick-start/get-started/smart-contracts/(mixed concepts + ref)smart-contracts/(concepts + API only)develop/tutorials/(ingested + local mixed)tutorials/(all ingested from one repo)tools/is 1-page stubtools/comprehensive, grouped by workflowdevelop/tutorials/rust-compiler/tools/testing/(local)develop/index.mdstale version noteCross-Linking Strategy
Smart contract concept pages cross-link to relevant tutorials rather than embedding examples:
Content Ownership
get-started/smart-contracts/tools/development/tools/testing/tools/clients/tools/infrastructure/tutorials/migration/CI Pipeline Changes
Current (deploy-docs.yml lines 180-184, cut-versions.yml lines 184-188)
After
That's it — one path change. No multi-target copies, no merging.
Note: The preservation comment on lines 151/155 about "NOT fully cleaned to preserve local tutorials" is no longer needed —
tutorials/will be fully ingested content, and local guides move totools/testing/.Implementation Phases
Phase 1: Content moves within miden-docs
quick-start/→get-started/develop/tutorials/rust-compiler/{testing,debugging,pitfalls}.md→tools/testing/develop/directory (all content relocated)Phase 2: Move miden-bank to tutorials repo
develop/tutorials/rust-compiler/miden-bank/→ miden-tutorials repo (tutorials#165)Phase 3: Update CI
deploy-docs.yml(lines 180-184)cut-versions.yml(lines 184-188)Phase 4: Cross-linking
Files to Update
CI pipeline files
.github/workflows/deploy-docs.yml(lines 151, 180-184, 198-199).github/workflows/cut-versions.yml(lines 155, 184-188, 202-203)Cross-reference files (add tutorial links)
docs/builder/smart-contracts/index.mddocs/builder/smart-contracts/overview.mddocs/builder/smart-contracts/getting-started.mddocs/builder/smart-contracts/patterns.mdLocal files to move
docs/builder/develop/tutorials/rust-compiler/testing.md→docs/builder/tools/testing/mockchain.mddocs/builder/develop/tutorials/rust-compiler/debugging.md→docs/builder/tools/testing/debugging.mddocs/builder/develop/tutorials/rust-compiler/pitfalls.md→docs/builder/tools/testing/pitfalls.mdLocal files to move to tutorials repo
docs/builder/develop/tutorials/rust-compiler/miden-bank/*(11 files — see tutorials#165)Tutorial Gaps Identified
miden-clientfor account management & transaction submission