Proposed Zed Documentation Information Architecture
This document outlines a proposed restructuring of Zed's documentation to improve discoverability, separate task-oriented content from reference material, and better serve users with different goals (new users, migrating users, power users).
Proposed IA Structure
# Get Started
- Welcome # Hub page with job-to-be-done cards
- Installation
- Your First 10 Minutes in Zed # True quickstart: open project β write code β use AI β run
- Key Concepts # Mental models: workspaces, buffers, panels, command palette
# Quickstarts # Task-focused, 5-10 min each
- Set Up AI in Zed
- Work on a Remote Server
- Configure Your Language
- Customize Zed to Feel Like Home
# Coming From... # Migration guides
- VS Code
- Vim / Neovim
- JetBrains
- Cursor
# AI # Key differentiator - prominent placement
- Overview
- Agent Panel
- Tools
- External Agents
- Inline Assistant
- Edit Prediction
- Text Threads
- Rules
- Model Context Protocol
- Configuration
- LLM Providers
- Agent Settings
- Subscription
- Billing
- Models
- Plans and Usage
# Working with Code # Daily workflow, organized by job
- Overview # Walkthrough: open β edit β navigate β run β commit
- Editing Code
- Code Completions
- Snippets
- Formatting & Linting
- Diagnostics & Quick Fixes
- Multibuffers
- Finding & Navigating
- Command Palette
- File Finder & Project Search
- Go to Definition & Symbol Search
- Outline Panel
- Running & Testing
- Tasks
- Terminal
- Debugger
- REPL
- Git
# Collaboration
- Overview
- Channels
- Private Calls
# Remote Development
- Overview
- SSH Connections
- Dev Containers
# Languages
- Overview # Hub with capability tags (LSP, Debug, Format, etc.)
- Configuring Languages
- Toolchains
- Popular Languages # Curated, workflow-focused
- Python
- JavaScript / TypeScript
- Rust
- Go
- C / C++
- All Languages # Searchable/filterable reference
# Customization # Personalization, organized by goal
- Overview # "Customize in 5 minutes" + how settings work
- Appearance
- Themes
- Icon Themes
- Fonts & Visual Tweaks
- Keybindings
- Custom Key Bindings
- Vim Mode
- Helix Mode
- Snippets
# Extensions
- Overview
- Installing Extensions
- Developing Extensions
- Extension Capabilities
- Extension Types
- Language Extensions
- Theme Extensions
- Icon Theme Extensions
- Debugger Extensions
- Slash Command Extensions
- Agent Server Extensions
- MCP Server Extensions
# Reference # Lookup-only, not for reading
- All Settings
- All Actions
- Default Key Bindings
- CLI Reference
- Environment Variables
- Glob Patterns
# Platform Support
- macOS
- Windows
- Linux
# Account & Privacy
- Sign In
- Privacy and Security
- Telemetry
# Troubleshooting
- Common Issues
- Performance
- Update
- Uninstall
# Developing Zed
- Contributing
- Building from Source
- macOS
- Linux
- Windows
- FreeBSD
- Local Collaboration
- Using Debuggers
- Glossary
- Release Notes
Deep Dive: Working with Code
This section replaces the current "Using Zed" catch-all. Instead of listing features, it's organized around what users are trying to accomplish in their daily workflow.
Design Principles
- Overview as workflow guide: The overview page walks through a typical session (open project β write code β find things β run/test β commit), linking to detailed pages
- Group by job, not feature: "Finding & Navigating" groups file finder, symbol search, go-to-definition, and outline because they all serve the job of "I need to find something"
- Progressive disclosure: Start with the common case, link to advanced topics
Proposed Structure
Working with Code
Overview
βββ "A day in Zed" walkthrough
βββ Links to each sub-section
βββ Quick tips for common tasks
Editing Code
βββ Code Completions (LSP, AI-powered, snippets integration)
βββ Snippets (creating, using, language-specific)
βββ Formatting & Linting (format on save, linter integration)
βββ Diagnostics & Quick Fixes (error navigation, code actions)
βββ Multibuffers (what they are, when to use them)
Finding & Navigating
βββ Command Palette (the hub for everything)
βββ File Finder & Project Search (fuzzy find, ripgrep, filters)
βββ Go to Definition & Symbol Search (LSP navigation, workspace symbols)
βββ Outline Panel (file structure, breadcrumbs)
Running & Testing
βββ Tasks (defining, running, task templates)
βββ Terminal (integrated terminal, shell integration)
βββ Debugger (breakpoints, stepping, variables, DAP)
βββ REPL (interactive development, Jupyter-style)
Git
βββ Staging & committing
βββ Branches
βββ Diff view
βββ Blame & history
βββ (future: GitHub integration)
What This Replaces
| Current "Using Zed" Item | New Location |
|---|---|
| Multibuffers | Working with Code β Editing Code |
| Command Palette | Working with Code β Finding & Navigating |
| Command-line Interface | Reference β CLI Reference |
| Outline Panel | Working with Code β Finding & Navigating |
| Code Completions | Working with Code β Editing Code |
| Collaboration | Collaboration (top-level section) |
| Git | Working with Code β Git |
| Debugger | Working with Code β Running & Testing |
| Diagnostics | Working with Code β Editing Code |
| Tasks | Working with Code β Running & Testing |
| Remote Development | Remote Development (top-level section) |
| Dev Containers | Remote Development |
| Environment Variables | Reference |
| REPL | Working with Code β Running & Testing |
Deep Dive: Customization
This section replaces "Configuration" and reframes it around user goals rather than settings categories.
Design Principles
- Start with outcomes: Users don't want to "configure settings" β they want Zed to look and feel a certain way
- Quick wins first: Overview page shows how to customize the essentials in 5 minutes
- Explain the system: Help users understand how settings work (JSON, project vs global, settings UI, deep links)
- Separate appearance from behavior: Visual customization is different from keybinding customization
Proposed Structure
Customization
Overview
βββ "Customize Zed in 5 minutes" quick guide
βββ How settings work (JSON, project vs global, settings UI)
βββ Using settings deep links
βββ Links to detailed sections
Appearance
βββ Themes (installing, switching, creating)
βββ Icon Themes
βββ Fonts & Visual Tweaks (UI density, status bar, tab bar, etc.)
Keybindings
βββ Custom Key Bindings (understanding the keymap, common customizations)
βββ Vim Mode (setup, differences from native vim, customization)
βββ Helix Mode (setup, key differences)
Snippets
βββ Using snippets
βββ Creating custom snippets
βββ Language-specific snippets
What This Replaces
| Current "Configuration" Item | New Location |
|---|---|
| Configuring Zed | Reference β All Settings |
| Configuring Languages | Languages β Configuring Languages |
| Key bindings | Customizationβ Keybindings |
| All Actions | Reference β All Actions |
| Snippets | Customizationβ Snippets |
| Themes | Customizationβ Appearance |
| Icon Themes | Customizationβ Appearance |
| Visual Customization | Customizationβ Appearance |
| Vim Mode | Customizationβ Keybindings |
| Helix Mode | Customizationβ Keybindings |
Key Insight: Settings Reference vs. Customization Guide
The current configuring-zed.md is a reference (lookup all 200+ settings). That belongs in the Reference section.
"Making Zed Yours" is a guide that helps users accomplish goals:
- "I want Zed to look like my old editor" β Themes, fonts
- "I want to use my vim muscle memory" β Vim Mode
- "I want to change what β+P does" β Custom Key Bindings
The guide pages should link to the reference when users need to look up specific settings.
Summary of Changes
| Current | Proposed | Rationale |
|---|---|---|
| Getting Started (5 items) | Get Started (4) + Quickstarts (4) + Coming From... (4) | Split welcome/install from task-focused quickstarts and migration guides |
| Configuration (9 items, front-loaded) | Customization(goal-oriented) + Reference | Users want outcomes, not settings; reference is for lookup |
| Using Zed (14 items, catch-all) | Working with Code (job-organized) + Collaboration + Remote Dev | Group by workflow: editing, navigating, running, git |
| AI (section 5) | AI (section 4) | Promote key differentiator |
| Language Support (60+ flat list) | Languages with Popular grouping + filterable All Languages | Reduce cognitive load, highlight common languages |
| No Reference section | Reference (6 items) | Explicitly label lookup-only content |
| Troubleshooting in Getting Started | Troubleshooting as dedicated section | Easier to find when users need help |
Content Gaps: New Pages Needed
Get Started & Quickstarts
welcome.md- Hub page with job-to-be-done cardsfirst-10-minutes.md- True quickstart walkthroughconcepts.md- Mental models for Zedquickstarts/ai-setup.mdquickstarts/remote-dev.mdquickstarts/language-setup.mdquickstarts/customize.md
Migration Guides
migration/vscode.mdβmigration/vim.mdmigration/jetbrains.mdmigration/cursor.md
Working with Code
working-with-code/overview.md- "A day in Zed" walkthroughworking-with-code/editing/formatting-linting.mdworking-with-code/navigating/file-finder.mdworking-with-code/navigating/symbols.md
Customization
customization/overview.md- "Customize in 5 minutes" + how settings workcustomization/appearance/fonts-visual.md
Platform Support
platforms/macos.md(currently missing)
Reference
reference/default-keybindings.md
Pages to Rework
| Page | Changes Needed |
|---|---|
configuring-zed.md |
Relabel as "All Settings" reference, add on-page filtering |
all-actions.md |
Add filtering by category (Agent, Editor, Git, etc.) |
languages.md |
Transform into filterable hub with capability tags |
quick-start.md |
Rewrite as true 5-10 minute walkthrough |
Doc Types
Each page should be labeled with a type for clarity:
| Type | Purpose | Example |
|---|---|---|
| Quickstart | 5-10 min, end-to-end task | "Set Up AI in Zed" |
| Guide | Deeper task-oriented content | "Vim Mode" |
| Concept | Explanatory, mental models | "Key Concepts" |
| Reference | Lookup-only, tables/lists | "All Settings" |