docs: comprehensive overhaul — discoverability, explore-first, and closing recurring doc-request issues#1237
Conversation
…nd location, FAQ, glossary, troubleshooting, recipes) Addresses Fission-AI#1228 (docs are fragmented and hard to discover). Additive, docs-only. The single sharpest gap from the issue thread was that nobody explains where slash commands run, hence the new "How Commands Work" page. New docs: - docs/README.md documentation home / index that maps every doc - docs/how-commands-work.md where /opsx:* (chat) vs openspec (terminal) run; "interactive mode" answered - docs/overview.md core concepts at a glance, one page - docs/faq.md consolidated common questions - docs/glossary.md every term in one place - docs/troubleshooting.md concrete fixes for concrete failures - docs/examples.md real changes start to finish (recipes) Small additive edits: - docs/getting-started.md "where do I type this?" callout + first-five-minutes + richer Next Steps - README.md Docs list points at the new home and key new pages Voice: warm, plain, bottom-line-up-front; no em-dashes in prose. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (3)
✅ Files skipped from review due to trivial changes (3)
📝 WalkthroughWalkthroughAdds new documentation pages for concepts, examples, FAQ, glossary, troubleshooting, and workflow guidance. Updates README.md, getting-started.md, and command reference pages to route users toward the explore-first flow. ChangesOpenSpec Documentation Expansion and Navigation Redesign
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related issues
Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
docs/faq.md (1)
43-43: 🧹 Nitpick | 🔵 Trivial | ⚡ Quick winFix awkward grammar in the skill/command explanation.
Line 43: "OpenSpec installs whichever your tool uses" is grammatically incomplete. "Whichever" requires an object noun.
Suggested revision: "OpenSpec installs whichever commands your tool needs."
Proposed wording fix
- Both are files OpenSpec writes so your assistant can run the workflow. Skills (`.../skills/openspec-*/SKILL.md`) are the newer cross-tool standard; commands (`.../commands/opsx-*`) are the older per-tool slash files. You don't need to pick. You just type the slash command, and OpenSpec installs whichever your tool uses. + Both are files OpenSpec writes so your assistant can run the workflow. Skills (`.../skills/openspec-*/SKILL.md`) are the newer cross-tool standard; commands (`.../commands/opsx-*`) are the older per-tool slash files. You don't need to pick. You just type the slash command, and OpenSpec installs whichever commands your tool needs.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/faq.md` at line 43, The sentence in the skill/command explanation contains a grammar error where "whichever" lacks a noun object, leaving the statement incomplete. Revise the phrase "OpenSpec installs whichever your tool uses" by adding an appropriate noun after "whichever" to complete the grammatical structure, such as "OpenSpec installs whichever commands your tool needs" or similar phrasing that provides the missing object noun.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@docs/faq.md`:
- Line 43: The sentence in the skill/command explanation contains a grammar
error where "whichever" lacks a noun object, leaving the statement incomplete.
Revise the phrase "OpenSpec installs whichever your tool uses" by adding an
appropriate noun after "whichever" to complete the grammatical structure, such
as "OpenSpec installs whichever commands your tool needs" or similar phrasing
that provides the missing object noun.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 858bb264-a68f-4ba5-a534-677f25c9ade1
📒 Files selected for processing (9)
README.mddocs/README.mddocs/examples.mddocs/faq.mddocs/getting-started.mddocs/glossary.mddocs/how-commands-work.mddocs/overview.mddocs/troubleshooting.md
Per maintainer feedback (Tabish): "the docs in general need some work, alongside making the explore option a lot more front and center." explore ships in the default core profile but every doc led with propose and treated explore as a footnote for "unclear requirements." This reframes the canonical loop as explore -> propose -> apply -> archive and gives explore real prominence. - docs/explore.md (new): dedicated "Explore First" guide. When to use it, what it does/doesn't, a full transcript, handoff to propose, tradeoffs. - getting-started.md: explore added to the flow and first-five-minutes, with a featured callout and Next Steps entry. - overview.md: explore featured in the loop and next-links. - docs/README.md: explore in the opening, pick-your-path, 30-second version, and the doc map. - how-commands-work.md: explore leads the command list with a "good rhythm" note and an optional step in the clean-first-run example. - workflows.md: new first-class "Start by exploring" pattern in the default section (was buried under expanded mode); quick-reference row strengthened. - commands.md / faq.md / glossary.md: explore featured as the place to start. - examples.md: top callout pointing at the explore recipe. - README.md: explore opens the "See it in action" demo and Quick Start, and is added to the Docs list. Docs-only and additive. No em-dashes in prose; links verified. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Pushed a follow-up commit acting on the feedback that the docs need more work and that
Still docs-only and additive. No em-dashes in prose; relative links verified. Happy to keep iterating, and as before I can split this into smaller PRs if that's easier to review. |
…tall, context limits) + sync tool list Sweep of open issues and discussions surfaced several questions good docs should answer but didn't. This adds the missing guides and fixes a stale list. New guides: - docs/existing-projects.md: adopting OpenSpec on a large brownfield codebase without documenting everything up front (addresses Fission-AI#510, Fission-AI#1100, Fission-AI#176). Delta-first framing, first-change walkthrough, onboard, importing existing requirements docs, domain organization, monorepo/workspace pointers. - docs/editing-changes.md: how to edit any artifact, update a proposal/spec after starting, go back after implementing, and reconcile manual code edits (addresses Fission-AI#684, Fission-AI#976, Fission-AI#355, Fission-AI#1188, Fission-AI#169, Fission-AI#1206). Enhancements: - installation.md: Updating + Uninstalling sections (addresses Fission-AI#308). - faq.md: new entries for existing codebases, editing artifacts, going back, reconciling manual edits, context limits / long sessions, and uninstalling (addresses Fission-AI#257 among others). - cli.md: --tools list now includes `vibe` and matches AI_TOOLS in src/core/config.ts, with a note pointing at the source (fixes Fission-AI#1213). - Wired the new guides into the docs home, getting-started, and the README. Docs-only and additive. No em-dashes in prose; links and section anchors verified. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (3)
docs/existing-projects.md (2)
27-35: 🧹 Nitpick | 🔵 Trivial | ⚡ Quick winReduce repetition of "exactly" in nearby sentences.
Lines 31 and 33 both use "exactly" within close proximity ("This is exactly what brownfield work needs" and "which is exactly when you want it thorough"). Consider rephrasing one of them using alternatives like "precisely," "this," or restructuring the sentence.
Proposed fix
-This is exactly what brownfield work needs. You're rarely building from nothing. You're adding a field, fixing a redirect, tightening a timeout. A delta lets you specify that one change precisely without first writing a 40-page spec of everything around it. +This is what brownfield work needs. You're rarely building from nothing. You're adding a field, fixing a redirect, tightening a timeout. A delta lets you specify that one change precisely without first writing a 40-page spec of everything around it.And:
-The spec for `auth/` becomes thorough only after you've made several auth changes, which is exactly when you want it thorough. +The spec for `auth/` becomes thorough only after you've made several auth changes, which is when you want it thorough.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/existing-projects.md` around lines 27 - 35, The section "Why delta-first is the whole trick" uses the word "exactly" twice in close proximity: once in the phrase "This is exactly what brownfield work needs" and again in "which is exactly when you want it thorough". To reduce repetition, rephrase one of these instances by replacing "exactly" with an alternative word like "precisely" or "this," or by restructuring the sentence to convey the same meaning without repeating the word.
11-14: 🧹 Nitpick | 🔵 Trivial | ⚡ Quick winBash command blocks need either output or no dollar signs (MD014).
Lines 12–13 and 74–75 show
$prefixes without subsequent command output. Either remove the$or add placeholder output like# output:or> openspec init installed.Proposed fix (remove `$` prefixes)
-$ cd your-existing-project -$ openspec init # adds openspec/ and your AI tool's commands +cd your-existing-project +openspec init # adds openspec/ and your AI tool's commandsSimilarly for lines 74–75:
-$ openspec config profile # select the expanded workflows -$ openspec update # apply them to this project +openspec config profile # select the expanded workflows +openspec update # apply them to this projectAlso applies to: 73-76
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/existing-projects.md` around lines 11 - 14, The bash code blocks at lines 12-13 and 74-75 contain dollar sign ($) command prompts but do not include any subsequent output or results, which violates the MD014 markdown linting rule. Remove the dollar sign prefixes from these bash command blocks in the existing-projects.md file so that the commands appear without prompts. This applies to both the cd and openspec init commands in the first block and the corresponding commands in the second block referenced at lines 73-76.docs/explore.md (1)
9-11: 🧹 Nitpick | 🔵 Trivial | ⚡ Quick winConsider alternative to "right first step" to improve word variety.
Line 11 ("Explore is the right first step more often than people expect") uses "right" where the phrase could also leverage "best," "ideal," or restructure slightly. If "right" appears elsewhere in nearby context, this will feel repetitive.
Proposed alternatives
-Explore is the right first step more often than people expect. +Explore is the best first step more often than people expect.Or:
-Explore is the right first step more often than people expect. +In most cases, explore is the right first move more often than people expect.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/explore.md` around lines 9 - 11, In the sentence "Explore is the right first step more often than people expect", replace the word "right" with a more varied alternative such as "best" or "ideal" to improve word variety and avoid repetition if "right" appears elsewhere in the nearby context. Alternatively, consider restructuring the sentence entirely to convey the same meaning while improving readability and vocabulary diversity.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/cli.md`:
- Line 110: The supported tool IDs list is out of order and does not match the
AI_TOOLS array in src/core/config.ts. Reorder the tools in the Supported tool
IDs list so that vibe appears immediately after lingma and before opencode,
instead of appearing near the end between trae and windsurf. This will ensure
the documentation accurately mirrors the source-of-truth configuration as
claimed.
---
Nitpick comments:
In `@docs/existing-projects.md`:
- Around line 27-35: The section "Why delta-first is the whole trick" uses the
word "exactly" twice in close proximity: once in the phrase "This is exactly
what brownfield work needs" and again in "which is exactly when you want it
thorough". To reduce repetition, rephrase one of these instances by replacing
"exactly" with an alternative word like "precisely" or "this," or by
restructuring the sentence to convey the same meaning without repeating the
word.
- Around line 11-14: The bash code blocks at lines 12-13 and 74-75 contain
dollar sign ($) command prompts but do not include any subsequent output or
results, which violates the MD014 markdown linting rule. Remove the dollar sign
prefixes from these bash command blocks in the existing-projects.md file so that
the commands appear without prompts. This applies to both the cd and openspec
init commands in the first block and the corresponding commands in the second
block referenced at lines 73-76.
In `@docs/explore.md`:
- Around line 9-11: In the sentence "Explore is the right first step more often
than people expect", replace the word "right" with a more varied alternative
such as "best" or "ideal" to improve word variety and avoid repetition if
"right" appears elsewhere in the nearby context. Alternatively, consider
restructuring the sentence entirely to convey the same meaning while improving
readability and vocabulary diversity.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: c8793466-d8d9-45dc-9112-16af284ba5d6
📒 Files selected for processing (15)
README.mddocs/README.mddocs/cli.mddocs/commands.mddocs/editing-changes.mddocs/examples.mddocs/existing-projects.mddocs/explore.mddocs/faq.mddocs/getting-started.mddocs/glossary.mddocs/how-commands-work.mddocs/installation.mddocs/overview.mddocs/workflows.md
✅ Files skipped from review due to trivial changes (8)
- docs/overview.md
- docs/README.md
- docs/how-commands-work.md
- README.md
- docs/glossary.md
- docs/workflows.md
- docs/getting-started.md
- docs/examples.md
|
Hi! Thanks for creating the PR for my issue. One thing I wanted to bring up: wouldn't it be nice to add this information to the main website, just like other library docs? I assume those .md doc files are meant for agents, right? |
Hi @lorenzoceglia, yes these are for the repo (humans and agents alike). Pinging @TabishB about the website copy. |
|
@clay-good Let me know if I can help :) |
TabishB
left a comment
There was a problem hiding this comment.
Thanks for all the improvements! I think this is a really good step in the right direction @clay-good
|
@lorenzoceglia We're definitely keen to add a proper docs site for OpenSpec. I'd be keen to get something set up with Fuma Docs. I wouldn't mind someone taking a stab at it to begin with. Feel free to reach out to me on discord to coordinate and/or email (tabish@openspec.dev). Or whatever other messaging platform you prefer. |
Resolve conflicts in docs/cli.md and docs/getting-started.md: - cli.md: --tools list now matches AI_TOOLS order in src/core/config.ts (lingma, vibe, opencode ...) - getting-started.md: keep both Stores and FAQ/Troubleshooting next-steps links Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The merge with main pulled in the stores rename (Fission-AI#1190), which retired the workspaces/initiatives/context-store vocabulary and deleted docs/workspaces-beta/. This updates the three docs still describing the old model so they match the new stores model, fixing the vocabulary-sweep test and dead links: - glossary.md: Workspace/Link/Context store/Initiative -> Store/Reference/ Working context/Workset; link to stores-beta/user-guide.md - README.md: replace deleted workspaces-beta/* links with the Stores User Guide and Agent Contract - existing-projects.md: reframe the multi-repo section as stores; drop the dead concepts.md#coordination-workspaces anchor Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…osing recurring doc-request issues (Fission-AI#1237) * docs: comprehensive documentation overhaul (home, mental model, command location, FAQ, glossary, troubleshooting, recipes) Addresses Fission-AI#1228 (docs are fragmented and hard to discover). Additive, docs-only. The single sharpest gap from the issue thread was that nobody explains where slash commands run, hence the new "How Commands Work" page. New docs: - docs/README.md documentation home / index that maps every doc - docs/how-commands-work.md where /opsx:* (chat) vs openspec (terminal) run; "interactive mode" answered - docs/overview.md core concepts at a glance, one page - docs/faq.md consolidated common questions - docs/glossary.md every term in one place - docs/troubleshooting.md concrete fixes for concrete failures - docs/examples.md real changes start to finish (recipes) Small additive edits: - docs/getting-started.md "where do I type this?" callout + first-five-minutes + richer Next Steps - README.md Docs list points at the new home and key new pages Voice: warm, plain, bottom-line-up-front; no em-dashes in prose. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs: make /opsx:explore front and center, plus general polish Per maintainer feedback (Tabish): "the docs in general need some work, alongside making the explore option a lot more front and center." explore ships in the default core profile but every doc led with propose and treated explore as a footnote for "unclear requirements." This reframes the canonical loop as explore -> propose -> apply -> archive and gives explore real prominence. - docs/explore.md (new): dedicated "Explore First" guide. When to use it, what it does/doesn't, a full transcript, handoff to propose, tradeoffs. - getting-started.md: explore added to the flow and first-five-minutes, with a featured callout and Next Steps entry. - overview.md: explore featured in the loop and next-links. - docs/README.md: explore in the opening, pick-your-path, 30-second version, and the doc map. - how-commands-work.md: explore leads the command list with a "good rhythm" note and an optional step in the clean-first-run example. - workflows.md: new first-class "Start by exploring" pattern in the default section (was buried under expanded mode); quick-reference row strengthened. - commands.md / faq.md / glossary.md: explore featured as the place to start. - examples.md: top callout pointing at the explore recipe. - README.md: explore opens the "See it in action" demo and Quick Start, and is added to the Docs list. Docs-only and additive. No em-dashes in prose; links verified. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs: close recurring gaps (existing projects, editing changes, uninstall, context limits) + sync tool list Sweep of open issues and discussions surfaced several questions good docs should answer but didn't. This adds the missing guides and fixes a stale list. New guides: - docs/existing-projects.md: adopting OpenSpec on a large brownfield codebase without documenting everything up front (addresses Fission-AI#510, Fission-AI#1100, Fission-AI#176). Delta-first framing, first-change walkthrough, onboard, importing existing requirements docs, domain organization, monorepo/workspace pointers. - docs/editing-changes.md: how to edit any artifact, update a proposal/spec after starting, go back after implementing, and reconcile manual code edits (addresses Fission-AI#684, Fission-AI#976, Fission-AI#355, Fission-AI#1188, Fission-AI#169, Fission-AI#1206). Enhancements: - installation.md: Updating + Uninstalling sections (addresses Fission-AI#308). - faq.md: new entries for existing codebases, editing artifacts, going back, reconciling manual edits, context limits / long sessions, and uninstalling (addresses Fission-AI#257 among others). - cli.md: --tools list now includes `vibe` and matches AI_TOOLS in src/core/config.ts, with a note pointing at the source (fixes Fission-AI#1213). - Wired the new guides into the docs home, getting-started, and the README. Docs-only and additive. No em-dashes in prose; links and section anchors verified. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs: reconcile coordinate-across-repos docs with the stores model The merge with main pulled in the stores rename (Fission-AI#1190), which retired the workspaces/initiatives/context-store vocabulary and deleted docs/workspaces-beta/. This updates the three docs still describing the old model so they match the new stores model, fixing the vocabulary-sweep test and dead links: - glossary.md: Workspace/Link/Context store/Initiative -> Store/Reference/ Working context/Workset; link to stores-beta/user-guide.md - README.md: replace deleted workspaces-beta/* links with the Stores User Guide and Agent Contract - existing-projects.md: reframe the multi-repo section as stores; drop the dead concepts.md#coordination-workspaces anchor Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: TabishB <tabishbidiwale@gmail.com> Co-authored-by: Tabish Bidiwale <30385142+TabishB@users.noreply.github.com>
Completes the documentation work begun in Fission-AI#1237 by tightening the Fumadocs site toward the quality bar of the stores user-guide: - Intro now opens problem-first ("the requirements lived only in chat"), adds an honest "How it compares" table (Spec Kit / Kiro / nothing), and frames the tradeoff in a "When the ceremony isn't worth it" callout. - New Stores guide (beta) distilled from docs/stores-beta/user-guide.md: the problem, the annotated shape, a five-minute walkthrough with real command output, a role-based story, the root-resolution order, and an honest-limitations section. Linked from Existing Projects. Verified with a clean `next build` (51 static pages, no warnings). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…page Continue the Fission-AI#1237 docs completion with a stronger product story: - Landing page now reads like a real product site: - "Works with the tools you already use" strip (15 named assistants + more) - "What a change actually looks like" — three real artifacts (proposal.md, a spec delta, tasks.md) so the workflow is concrete - "The honest middle" comparison block (Spec Kit / Kiro / no specs) - Robust hero gradient via color-mix instead of v3 theme() syntax - New Examples & Recipes page: seven copy-pasteable, narrated walkthroughs (small feature, bug fix, explore-first, parallel changes, no-behavior refactor with --skip-specs, step-by-step, onboard). Linked from the intro and getting-started. Verified: clean `next build` (54 static pages, no warnings); Tailwind opacity/color-mix utilities confirmed in the generated CSS; all internal links resolve. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…overage Final pass completing the Fission-AI#1237 documentation work. Reposition stores (beta) as the team adoption story, consistently: - README.md gains a prominent "Why teams adopt OpenSpec" section right after the demo (cross-repo features, shared requirements, plan before code), leading with stores. - Landing page gains a matching "Why teams adopt OpenSpec" section. - Docs intro gains a teams card + callout pointing at stores. - Stores page expanded with full References and Worksets technical examples (the cross-team requirements story, workset create/open). Incorporate the remaining source-doc knowledge so the site is complete: - New pages: Glossary, Troubleshooting, Multi-Language, and an Agents & Automation reference (the machine-readable --json surfaces and workflow primitives that make OpenSpec AI-native). - The Workflow page now covers ff-vs-continue, a three-dimension verify example, and the update-vs-start-fresh decision guide. - Nav restructured with a Help section; reference section gains Agents. Build hardening: `build` now runs `fumadocs-mdx && next build` so the content source is always regenerated. Clean build: 69 static pages, no warnings; all internal links verified. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* docs(website): add Fumadocs documentation site for Cloudflare Pages Add a self-contained marketing + documentation site under website/, built with Fumadocs (Next.js) and configured as a static export so it deploys directly to Cloudflare Pages with no server runtime. What's included: - A marketing landing page (hero, the two-folder model, the four core ideas, the explore→propose→apply→archive loop, and the "why"). - 13 documentation pages rewritten for clarity and delight: introduction, installation, getting started, how commands work, core concepts, the workflow, explore first, existing projects, editing a change, customization, FAQ, and a reference section (slash commands, CLI, supported tools). - Static client-side search (Orama), per-page Open Graph images, and llms.txt / llms-full.txt routes — fitting for an AI-native tool. - website/README.md with one-table Cloudflare Pages deploy settings (root: website, build: npm run build, output: out). Content is faithful to the docs/ overhaul from Fission-AI#1237, restated in a simpler, friendlier voice. Verified with a clean `next build` (48 static pages, no warnings). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs(website): sharpen the sell, add a Stores guide Completes the documentation work begun in Fission-AI#1237 by tightening the Fumadocs site toward the quality bar of the stores user-guide: - Intro now opens problem-first ("the requirements lived only in chat"), adds an honest "How it compares" table (Spec Kit / Kiro / nothing), and frames the tradeoff in a "When the ceremony isn't worth it" callout. - New Stores guide (beta) distilled from docs/stores-beta/user-guide.md: the problem, the annotated shape, a five-minute walkthrough with real command output, a role-based story, the root-resolution order, and an honest-limitations section. Linked from Existing Projects. Verified with a clean `next build` (51 static pages, no warnings). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs(website): make the value tangible — landing sections + Examples page Continue the Fission-AI#1237 docs completion with a stronger product story: - Landing page now reads like a real product site: - "Works with the tools you already use" strip (15 named assistants + more) - "What a change actually looks like" — three real artifacts (proposal.md, a spec delta, tasks.md) so the workflow is concrete - "The honest middle" comparison block (Spec Kit / Kiro / no specs) - Robust hero gradient via color-mix instead of v3 theme() syntax - New Examples & Recipes page: seven copy-pasteable, narrated walkthroughs (small feature, bug fix, explore-first, parallel changes, no-behavior refactor with --skip-specs, step-by-step, onboard). Linked from the intro and getting-started. Verified: clean `next build` (54 static pages, no warnings); Tailwind opacity/color-mix utilities confirmed in the generated CSS; all internal links resolve. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs(website): add favicon, sitemap, and robots for a complete public site - Branded SVG favicon (app/icon.svg) in the OpenSpec indigo. - Static sitemap.xml covering the home page and every doc, built from the content source and NEXT_PUBLIC_SITE_URL. - robots.txt allowing all and pointing at the sitemap. All three are emitted by the static export. Clean `next build`, 57 pages. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs: lead with stores as "why teams adopt OpenSpec"; complete docs coverage Final pass completing the Fission-AI#1237 documentation work. Reposition stores (beta) as the team adoption story, consistently: - README.md gains a prominent "Why teams adopt OpenSpec" section right after the demo (cross-repo features, shared requirements, plan before code), leading with stores. - Landing page gains a matching "Why teams adopt OpenSpec" section. - Docs intro gains a teams card + callout pointing at stores. - Stores page expanded with full References and Worksets technical examples (the cross-team requirements story, workset create/open). Incorporate the remaining source-doc knowledge so the site is complete: - New pages: Glossary, Troubleshooting, Multi-Language, and an Agents & Automation reference (the machine-readable --json surfaces and workflow primitives that make OpenSpec AI-native). - The Workflow page now covers ff-vs-continue, a three-dimension verify example, and the update-vs-start-fresh decision guide. - Nav restructured with a Help section; reference section gains Agents. Build hardening: `build` now runs `fumadocs-mdx && next build` so the content source is always regenerated. Clean build: 69 static pages, no warnings; all internal links verified. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs(website): fix docs GitHub source links + address review nits - page.tsx: prefix ViewOptionsPopover githubUrl with website/ so the "view/edit source" links resolve to website/content/docs/... instead of 404-ing on every deployed docs page (Alfred blocker). - installation.mdx: note that `yarn global add` is Classic Yarn only and point Yarn Berry users at `yarn dlx` / npm / pnpm. - index.mdx: label the comparison table's first column ("Option"). - (home)/page.tsx: use the shared docsRoute constant for all /docs links instead of hardcoded paths. Verified with `npm run build` in website/ — 69 static pages, and the built getting-started page links to blob/main/website/content/docs/... Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs(website): mirror docs/*.md into the site + auto-deploy on a cadence Make the repository's docs/*.md the single source of truth for the docs site instead of maintaining a parallel set of hand-written MDX pages that silently drift. - scripts/sync-docs.mjs mirrors ../docs into content/docs/ on every build: derives title/description, injects Fumadocs frontmatter (+ githubSource), rewrites internal *.md links to /docs routes, and emits meta.json. Pages are written as .md so <placeholders>/{braces} in the docs stay literal and never break the MDX build. - docs.sync.config.mjs is the one manifest deciding which docs publish and their slug/section/icon. content/docs/ is now generated + git-ignored; the curated .mdx pages are removed. The marketing landing page stays hand-authored. - build/dev/types:check run sync:docs first, so the site is always current. - .github/workflows/deploy-docs.yml rebuilds and deploys to Cloudflare Pages via Wrangler on push to docs/**|website/**, daily on a schedule, on demand, and as a build-only check on PRs. Needs CLOUDFLARE_API_TOKEN + CLOUDFLARE_ACCOUNT_ID secrets and the DOCS_SITE_URL variable. - source.config.ts carries githubSource so "edit this page" opens the real docs/*.md; website/README.md documents the pipeline. Verified: clean build, 23 pages generated, 78 static pages, no warnings; all internal doc links resolve; MDX-hazard docs (cli, customization) build. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(website): fall back to default site URL when NEXT_PUBLIC_SITE_URL is empty The deploy workflow passes NEXT_PUBLIC_SITE_URL from the DOCS_SITE_URL repo variable, which resolves to an empty string when unset. `?? fallback` does not catch '' (only null/undefined), so `metadataBase: new URL('')` crashed `next build` with ERR_INVALID_URL while collecting page data. Use `||` so an empty value also falls back. Verified: `NEXT_PUBLIC_SITE_URL='' npm run build` now generates all 78 static pages. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs: add reviewing, writing-specs, and team-workflow guides Fill the biggest gaps a new user hits, in the plain-language voice of the stores user guide: - reviewing-changes.md: the two-minute human review of an AI-drafted plan before /opsx:apply — what to open, in what order, and the red flags per artifact — plus the /opsx:verify pass after code. - writing-specs.md: what a strong requirement and scenario are made of, choosing ADDED/MODIFIED/REMOVED, and right-sizing a change. - team-workflow.md: how a change maps onto a branch and a pull request, reviewing spec deltas in a PR, when to archive, and parallel changes — framed as convention, since OpenSpec never touches git. Wire them into the docs map (README), the site nav (docs.sync.config.mjs), and light "next steps" cross-links from getting-started, editing-changes, and workflows. Verified: site builds clean, 26 pages, all internal links resolve. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs(website): add one-time deploy setup checklist + landing-page note Spell out the three maintainer steps that activate auto-deploy (create the openspec-docs Pages project, add CLOUDFLARE_API_TOKEN/ACCOUNT_ID secrets, merge to main), and note that the pipeline mirrors docs on build regardless. Also flag that openspec.dev is a separate Astro landing page and whether to keep/port this Fumadocs landing page is a maintainer decision. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(website): address review feedback on docs-site PR Maintainer review (TabishB) + Alfred blocker: - deploy-docs.yml: guard the Cloudflare deploy on `github.ref == refs/heads/main`. A `workflow_dispatch` on a feature branch previously passed the guard and, since wrangler hardcodes `--branch=main` (a production deploy), would overwrite the live docs site. Non-main dispatches are now build-only. Also resolves Alfred's deploy-path blocker. - package.json: drop the direct `cnfast` dependency and delete the dead `lib/cn.ts` (nothing imports it; a class-merge helper isn't used). - package.json: declare `zod` (^4.4.3) — it was a phantom dep only resolving via fumadocs-mdx's hoisted copy. Refresh the lockfile. - docs page: omit the on-page <DocsDescription>. The frontmatter description is derived from the first body paragraph, so it rendered the intro twice on every page. Kept in generateMetadata for SEO/OG. - team-workflow.md: `openspec store create` does an initial commit, so scope "never commits" to the user's project and reframe the store clause as "never clones or syncs on its own." - README.md: bump stale "20+ AI assistants" to "30+" to match the site. Verified: npm run types:check + npm run build pass, 26 docs synced, intro paragraph now renders once per page. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * chore(website): use pnpm to match the rest of the repo Per maintainer review (TabishB): the root repo is pnpm (ci.yml runs `pnpm install --frozen-lockfile` against a v9 `pnpm-lock.yaml`), but `website/` had introduced npm + a `package-lock.json`. Standardize on one package manager: - Replace website/package-lock.json with website/pnpm-lock.yaml (lockfileVersion 9.0, generated with pnpm v9 to match root). - deploy-docs.yml: add pnpm/action-setup@v4 (version 9, before setup-node, as in ci.yml), switch setup-node to `cache: pnpm` / `cache-dependency-path: website/pnpm-lock.yaml`, and `npm ci` → `pnpm install --frozen-lockfile`, `npm run build` → `pnpm run build`. - package.json scripts + README: `npm run ...` → `pnpm run ...`. website/ stays a standalone package (no pnpm-workspace.yaml), as before. Verified: `pnpm install --frozen-lockfile`, `pnpm run build`, and `pnpm run types:check` all pass — 26 docs synced, 87/87 static pages. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * chore: temporarily disable docs deploy --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: Tabish Bidiwale <30385142+TabishB@users.noreply.github.com> Co-authored-by: TabishB <tabishbidiwale@gmail.com>
Summary
A comprehensive, documentation-only overhaul addressing #1228 ("the docs are fragmented and, in practice, almost nonexistent") and the broader maintainer feedback that the docs in general need work, and
/opsx:exploreshould be a lot more front and center.The existing reference docs were actually fairly thorough, so the real problems were discoverability, a missing new-user mental model, explore being undersold, and a set of recurring questions that good docs should answer but didn't. This PR fixes all of that while staying additive (new pages plus small surgical edits; no reference doc was rewritten wholesale).
What's new
Orientation and mental model
docs/README.md— a documentation home / index that maps every doc and offers "pick your path" routes (the direct fix for "fragmented").docs/how-commands-work.md— the single biggest gap from the issue thread:/opsx:*runs in your AI chat,openspecruns in your terminal, what "interactive mode" really means, per-tool syntax, and how to confirm install. (Answers the "how do I start interactive mode?" comments directly.)docs/overview.md— core concepts on one page.docs/glossary.md— every term in one place.Explore, front and center
docs/explore.md— a dedicated "Explore First" guide. The canonical loop is reframed as explore → propose → apply → archive, and explore now leads the README demo, Quick Start, docs home, getting-started, overview, how-commands-work, and workflows (promoted out of "expanded mode," since it ships in the default profile).Closing recurring doc-request issues
docs/existing-projects.md— adopting OpenSpec on a large brownfield codebase without documenting everything up front (How can I use OpenSpec in a large existing project,what is the first step I should do? #510, if i have tla+ and srs docs, how can i create project with openspec? #1100, Question: Best practices for scaling OpenSpec in a large monorepo? #176).docs/editing-changes.md— editing any artifact, updating a proposal/spec after starting, going back after implementing, reconciling manual code edits (How to update specifications during the apply phase? #684, how to update the existing change,such as propose.md #976, How to return to the Review phase after Implement Tasks? #355, Add a command to update proposal ,design and task #1188, How should manual code edits be reconciled with OpenSpec? #169, Is there a good solution for refine proposal now? #1206).docs/faq.md,docs/troubleshooting.md— consolidated answers, including context limits / long sessions (How to use OpenSpec when context exceeds limits or requirements change after implementation? #257) and uninstalling (How to uninstall OpenSpec #308).docs/examples.md— seven real changes, start to finish.Accuracy and surgical edits
installation.md— added Updating and Uninstalling sections (How to uninstall OpenSpec #308).cli.md—--toolslist now includesvibeand matchesAI_TOOLSinsrc/core/config.ts, with a pointer to the source (docs/cli.md tool ID list out of sync with src/core/config.ts #1213).getting-started.md,commands.md,workflows.md,README.md— small additive edits: a "where do I type this?" callout, a first-five-minutes path, explore prominence, and updated docs lists.Issues addressed
Primary: #1228. Also closes or substantially answers the doc-shaped parts of: #510, #1100, #176, #684, #976, #355, #1188, #169, #1206, #257, #308, #1213. Complements (no overlap with) the open #1146 beginner-workflow guide.
Validation
git diffis limited todocs/andREADME.md; no code changed.Note to maintainers
Opened from a fork as a collaborator. Happy to split this into smaller PRs (for example, land the docs home +
how-commands-work.mdfirst) if that's easier to review. Feedback very welcome.🤖 Generated with Claude Code
Summary by CodeRabbit
/opsx:exploreearly, including “Start here when unsure” guidance and revised command-flow diagrams.