specweave 0.11.0 → 0.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +1 -1
- package/CLAUDE.md +131 -144
- package/README.md +48 -21
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +21 -70
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/hooks/lib/git-diff-analyzer.d.ts +89 -0
- package/dist/hooks/lib/git-diff-analyzer.d.ts.map +1 -0
- package/dist/hooks/lib/git-diff-analyzer.js +226 -0
- package/dist/hooks/lib/git-diff-analyzer.js.map +1 -0
- package/dist/hooks/lib/prepare-reflection-context.d.ts +42 -0
- package/dist/hooks/lib/prepare-reflection-context.d.ts.map +1 -0
- package/dist/hooks/lib/prepare-reflection-context.js +123 -0
- package/dist/hooks/lib/prepare-reflection-context.js.map +1 -0
- package/dist/hooks/lib/reflection-config-loader.d.ts +45 -0
- package/dist/hooks/lib/reflection-config-loader.d.ts.map +1 -0
- package/dist/hooks/lib/reflection-config-loader.js +132 -0
- package/dist/hooks/lib/reflection-config-loader.js.map +1 -0
- package/dist/hooks/lib/reflection-parser.d.ts +33 -0
- package/dist/hooks/lib/reflection-parser.d.ts.map +1 -0
- package/dist/hooks/lib/reflection-parser.js +419 -0
- package/dist/hooks/lib/reflection-parser.js.map +1 -0
- package/dist/hooks/lib/reflection-prompt-builder.d.ts +56 -0
- package/dist/hooks/lib/reflection-prompt-builder.d.ts.map +1 -0
- package/dist/hooks/lib/reflection-prompt-builder.js +239 -0
- package/dist/hooks/lib/reflection-prompt-builder.js.map +1 -0
- package/dist/hooks/lib/reflection-storage.d.ts +64 -0
- package/dist/hooks/lib/reflection-storage.d.ts.map +1 -0
- package/dist/hooks/lib/reflection-storage.js +305 -0
- package/dist/hooks/lib/reflection-storage.js.map +1 -0
- package/dist/hooks/lib/run-self-reflection.d.ts +43 -0
- package/dist/hooks/lib/run-self-reflection.d.ts.map +1 -0
- package/dist/hooks/lib/run-self-reflection.js +203 -0
- package/dist/hooks/lib/run-self-reflection.js.map +1 -0
- package/dist/hooks/lib/types/reflection-types.d.ts +164 -0
- package/dist/hooks/lib/types/reflection-types.d.ts.map +1 -0
- package/dist/hooks/lib/types/reflection-types.js +73 -0
- package/dist/hooks/lib/types/reflection-types.js.map +1 -0
- package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.d.ts +89 -0
- package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.d.ts.map +1 -0
- package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.js +226 -0
- package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.js.map +1 -0
- package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.d.ts +60 -0
- package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.d.ts.map +1 -0
- package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.js +201 -0
- package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.js.map +1 -0
- package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.d.ts +42 -0
- package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.d.ts.map +1 -0
- package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.js +123 -0
- package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.js.map +1 -0
- package/dist/plugins/specweave/lib/hooks/reflection-config-loader.d.ts +45 -0
- package/dist/plugins/specweave/lib/hooks/reflection-config-loader.d.ts.map +1 -0
- package/dist/plugins/specweave/lib/hooks/reflection-config-loader.js +132 -0
- package/dist/plugins/specweave/lib/hooks/reflection-config-loader.js.map +1 -0
- package/dist/plugins/specweave/lib/hooks/reflection-parser.d.ts +33 -0
- package/dist/plugins/specweave/lib/hooks/reflection-parser.d.ts.map +1 -0
- package/dist/plugins/specweave/lib/hooks/reflection-parser.js +419 -0
- package/dist/plugins/specweave/lib/hooks/reflection-parser.js.map +1 -0
- package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.d.ts +56 -0
- package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.d.ts.map +1 -0
- package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.js +239 -0
- package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.js.map +1 -0
- package/dist/plugins/specweave/lib/hooks/reflection-storage.d.ts +64 -0
- package/dist/plugins/specweave/lib/hooks/reflection-storage.d.ts.map +1 -0
- package/dist/plugins/specweave/lib/hooks/reflection-storage.js +305 -0
- package/dist/plugins/specweave/lib/hooks/reflection-storage.js.map +1 -0
- package/dist/plugins/specweave/lib/hooks/run-self-reflection.d.ts +43 -0
- package/dist/plugins/specweave/lib/hooks/run-self-reflection.d.ts.map +1 -0
- package/dist/plugins/specweave/lib/hooks/run-self-reflection.js +203 -0
- package/dist/plugins/specweave/lib/hooks/run-self-reflection.js.map +1 -0
- package/dist/plugins/specweave/lib/hooks/sync-living-docs.d.ts +27 -0
- package/dist/plugins/specweave/lib/hooks/sync-living-docs.d.ts.map +1 -0
- package/dist/plugins/specweave/lib/hooks/sync-living-docs.js +116 -0
- package/dist/plugins/specweave/lib/hooks/sync-living-docs.js.map +1 -0
- package/dist/plugins/specweave/lib/hooks/translate-file.d.ts +59 -0
- package/dist/plugins/specweave/lib/hooks/translate-file.d.ts.map +1 -0
- package/dist/plugins/specweave/lib/hooks/translate-file.js +350 -0
- package/dist/plugins/specweave/lib/hooks/translate-file.js.map +1 -0
- package/dist/plugins/specweave/lib/hooks/translate-living-docs.d.ts +13 -0
- package/dist/plugins/specweave/lib/hooks/translate-living-docs.d.ts.map +1 -0
- package/dist/plugins/specweave/lib/hooks/translate-living-docs.js +175 -0
- package/dist/plugins/specweave/lib/hooks/translate-living-docs.js.map +1 -0
- package/dist/plugins/specweave/lib/hooks/types/reflection-types.d.ts +164 -0
- package/dist/plugins/specweave/lib/hooks/types/reflection-types.d.ts.map +1 -0
- package/dist/plugins/specweave/lib/hooks/types/reflection-types.js +73 -0
- package/dist/plugins/specweave/lib/hooks/types/reflection-types.js.map +1 -0
- package/dist/plugins/specweave/lib/hooks/update-tasks-md.d.ts +29 -0
- package/dist/plugins/specweave/lib/hooks/update-tasks-md.d.ts.map +1 -0
- package/dist/plugins/specweave/lib/hooks/update-tasks-md.js +203 -0
- package/dist/plugins/specweave/lib/hooks/update-tasks-md.js.map +1 -0
- package/dist/plugins/specweave-ado/lib/ado-board-resolver.d.ts +94 -0
- package/dist/plugins/specweave-ado/lib/ado-board-resolver.d.ts.map +1 -0
- package/dist/plugins/specweave-ado/lib/ado-board-resolver.js +219 -0
- package/dist/plugins/specweave-ado/lib/ado-board-resolver.js.map +1 -0
- package/dist/plugins/specweave-ado/lib/ado-client-v2.d.ts +124 -0
- package/dist/plugins/specweave-ado/lib/ado-client-v2.d.ts.map +1 -0
- package/dist/plugins/specweave-ado/lib/ado-client-v2.js +382 -0
- package/dist/plugins/specweave-ado/lib/ado-client-v2.js.map +1 -0
- package/dist/plugins/specweave-ado/lib/ado-client.d.ts +112 -0
- package/dist/plugins/specweave-ado/lib/ado-client.d.ts.map +1 -0
- package/dist/plugins/specweave-ado/lib/ado-client.js +257 -0
- package/dist/plugins/specweave-ado/lib/ado-client.js.map +1 -0
- package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.d.ts +40 -0
- package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.d.ts.map +1 -0
- package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.js +370 -0
- package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.js.map +1 -0
- package/dist/plugins/specweave-ado/lib/project-selector.d.ts +42 -0
- package/dist/plugins/specweave-ado/lib/project-selector.d.ts.map +1 -0
- package/dist/plugins/specweave-ado/lib/project-selector.js +211 -0
- package/dist/plugins/specweave-ado/lib/project-selector.js.map +1 -0
- package/dist/plugins/specweave-github/lib/github-board-resolver.d.ts +54 -0
- package/dist/plugins/specweave-github/lib/github-board-resolver.d.ts.map +1 -0
- package/dist/plugins/specweave-github/lib/github-board-resolver.js +122 -0
- package/dist/plugins/specweave-github/lib/github-board-resolver.js.map +1 -0
- package/dist/plugins/specweave-github/lib/github-client-v2.d.ts +104 -0
- package/dist/plugins/specweave-github/lib/github-client-v2.d.ts.map +1 -0
- package/dist/plugins/specweave-github/lib/github-client-v2.js +408 -0
- package/dist/plugins/specweave-github/lib/github-client-v2.js.map +1 -0
- package/dist/plugins/specweave-github/lib/github-client.d.ts +10 -0
- package/dist/plugins/specweave-github/lib/github-client.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/github-client.js +24 -0
- package/dist/plugins/specweave-github/lib/github-client.js.map +1 -1
- package/dist/plugins/specweave-github/lib/github-hierarchical-sync.d.ts +29 -0
- package/dist/plugins/specweave-github/lib/github-hierarchical-sync.d.ts.map +1 -0
- package/dist/plugins/specweave-github/lib/github-hierarchical-sync.js +268 -0
- package/dist/plugins/specweave-github/lib/github-hierarchical-sync.js.map +1 -0
- package/dist/plugins/specweave-github/lib/index.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/index.js.map +1 -1
- package/dist/plugins/specweave-github/lib/repo-selector.d.ts +49 -0
- package/dist/plugins/specweave-github/lib/repo-selector.d.ts.map +1 -0
- package/dist/plugins/specweave-github/lib/repo-selector.js +216 -0
- package/dist/plugins/specweave-github/lib/repo-selector.js.map +1 -0
- package/dist/plugins/specweave-github/lib/subtask-sync.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/subtask-sync.js.map +1 -1
- package/dist/plugins/specweave-github/lib/task-parser.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/task-parser.js.map +1 -1
- package/dist/plugins/specweave-github/lib/task-sync.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/task-sync.js.map +1 -1
- package/dist/plugins/specweave-github/lib/types.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/types.js.map +1 -1
- package/dist/plugins/specweave-jira/lib/jira-board-resolver.d.ts +50 -0
- package/dist/plugins/specweave-jira/lib/jira-board-resolver.d.ts.map +1 -0
- package/dist/plugins/specweave-jira/lib/jira-board-resolver.js +84 -0
- package/dist/plugins/specweave-jira/lib/jira-board-resolver.js.map +1 -0
- package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.d.ts +33 -0
- package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.d.ts.map +1 -0
- package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.js +206 -0
- package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.js.map +1 -0
- package/dist/plugins/specweave-jira/lib/project-selector.d.ts +42 -0
- package/dist/plugins/specweave-jira/lib/project-selector.d.ts.map +1 -0
- package/dist/plugins/specweave-jira/lib/project-selector.js +216 -0
- package/dist/plugins/specweave-jira/lib/project-selector.js.map +1 -0
- package/dist/plugins/specweave-jira/lib/reorganization-detector.d.ts +67 -0
- package/dist/plugins/specweave-jira/lib/reorganization-detector.d.ts.map +1 -0
- package/dist/plugins/specweave-jira/lib/reorganization-detector.js +252 -0
- package/dist/plugins/specweave-jira/lib/reorganization-detector.js.map +1 -0
- package/dist/plugins/specweave-jira/lib/setup-wizard.d.ts +29 -0
- package/dist/plugins/specweave-jira/lib/setup-wizard.d.ts.map +1 -0
- package/dist/plugins/specweave-jira/lib/setup-wizard.js +219 -0
- package/dist/plugins/specweave-jira/lib/setup-wizard.js.map +1 -0
- package/dist/src/adapters/adapter-base.d.ts +71 -0
- package/dist/src/adapters/adapter-base.d.ts.map +1 -0
- package/dist/src/adapters/adapter-base.js +139 -0
- package/dist/src/adapters/adapter-base.js.map +1 -0
- package/dist/src/adapters/adapter-interface.d.ts +149 -0
- package/dist/src/adapters/adapter-interface.d.ts.map +1 -0
- package/dist/src/adapters/adapter-interface.js +8 -0
- package/dist/src/adapters/adapter-interface.js.map +1 -0
- package/dist/src/adapters/adapter-loader.d.ts +91 -0
- package/dist/src/adapters/adapter-loader.d.ts.map +1 -0
- package/dist/src/adapters/adapter-loader.js +238 -0
- package/dist/src/adapters/adapter-loader.js.map +1 -0
- package/dist/src/adapters/agents-md-generator.d.ts +48 -0
- package/dist/src/adapters/agents-md-generator.d.ts.map +1 -0
- package/dist/src/adapters/agents-md-generator.js +193 -0
- package/dist/src/adapters/agents-md-generator.js.map +1 -0
- package/dist/src/adapters/claude/adapter.d.ts +128 -0
- package/dist/src/adapters/claude/adapter.d.ts.map +1 -0
- package/dist/src/adapters/claude/adapter.js +415 -0
- package/dist/src/adapters/claude/adapter.js.map +1 -0
- package/dist/src/adapters/claude-md-generator.d.ts +78 -0
- package/dist/src/adapters/claude-md-generator.d.ts.map +1 -0
- package/dist/src/adapters/claude-md-generator.js +307 -0
- package/dist/src/adapters/claude-md-generator.js.map +1 -0
- package/dist/src/adapters/codex/adapter.d.ts +50 -0
- package/dist/src/adapters/codex/adapter.d.ts.map +1 -0
- package/dist/src/adapters/codex/adapter.js +316 -0
- package/dist/src/adapters/codex/adapter.js.map +1 -0
- package/dist/src/adapters/cursor/adapter.d.ts +98 -0
- package/dist/src/adapters/cursor/adapter.d.ts.map +1 -0
- package/dist/src/adapters/cursor/adapter.js +406 -0
- package/dist/src/adapters/cursor/adapter.js.map +1 -0
- package/dist/src/adapters/doc-generator.d.ts +69 -0
- package/dist/src/adapters/doc-generator.d.ts.map +1 -0
- package/dist/src/adapters/doc-generator.js +247 -0
- package/dist/src/adapters/doc-generator.js.map +1 -0
- package/dist/src/adapters/gemini/adapter.d.ts +50 -0
- package/dist/src/adapters/gemini/adapter.d.ts.map +1 -0
- package/dist/src/adapters/gemini/adapter.js +281 -0
- package/dist/src/adapters/gemini/adapter.js.map +1 -0
- package/dist/src/adapters/generic/adapter.d.ts +86 -0
- package/dist/src/adapters/generic/adapter.d.ts.map +1 -0
- package/dist/src/adapters/generic/adapter.js +338 -0
- package/dist/src/adapters/generic/adapter.js.map +1 -0
- package/dist/src/cli/commands/abandon.d.ts +13 -0
- package/dist/src/cli/commands/abandon.d.ts.map +1 -0
- package/dist/src/cli/commands/abandon.js +15 -0
- package/dist/src/cli/commands/abandon.js.map +1 -0
- package/dist/src/cli/commands/import-docs.d.ts +21 -0
- package/dist/src/cli/commands/import-docs.d.ts.map +1 -0
- package/dist/src/cli/commands/import-docs.js +146 -0
- package/dist/src/cli/commands/import-docs.js.map +1 -0
- package/dist/src/cli/commands/init-multiproject.d.ts +11 -0
- package/dist/src/cli/commands/init-multiproject.d.ts.map +1 -0
- package/dist/src/cli/commands/init-multiproject.js +202 -0
- package/dist/src/cli/commands/init-multiproject.js.map +1 -0
- package/dist/src/cli/commands/init.d.ts +9 -0
- package/dist/src/cli/commands/init.d.ts.map +1 -0
- package/dist/src/cli/commands/init.js +1205 -0
- package/dist/src/cli/commands/init.js.map +1 -0
- package/dist/src/cli/commands/install.d.ts +9 -0
- package/dist/src/cli/commands/install.d.ts.map +1 -0
- package/dist/src/cli/commands/install.js +127 -0
- package/dist/src/cli/commands/install.js.map +1 -0
- package/dist/src/cli/commands/list.d.ts +8 -0
- package/dist/src/cli/commands/list.d.ts.map +1 -0
- package/dist/src/cli/commands/list.js +119 -0
- package/dist/src/cli/commands/list.js.map +1 -0
- package/dist/src/cli/commands/migrate-to-multiproject.d.ts +37 -0
- package/dist/src/cli/commands/migrate-to-multiproject.d.ts.map +1 -0
- package/dist/src/cli/commands/migrate-to-multiproject.js +189 -0
- package/dist/src/cli/commands/migrate-to-multiproject.js.map +1 -0
- package/dist/src/cli/commands/migrate-to-profiles.d.ts +25 -0
- package/dist/src/cli/commands/migrate-to-profiles.d.ts.map +1 -0
- package/dist/src/cli/commands/migrate-to-profiles.js +350 -0
- package/dist/src/cli/commands/migrate-to-profiles.js.map +1 -0
- package/dist/src/cli/commands/pause.d.ts +13 -0
- package/dist/src/cli/commands/pause.d.ts.map +1 -0
- package/dist/src/cli/commands/pause.js +15 -0
- package/dist/src/cli/commands/pause.js.map +1 -0
- package/dist/src/cli/commands/qa.d.ts +54 -0
- package/dist/src/cli/commands/qa.d.ts.map +1 -0
- package/dist/src/cli/commands/qa.js +98 -0
- package/dist/src/cli/commands/qa.js.map +1 -0
- package/dist/src/cli/commands/resume.d.ts +12 -0
- package/dist/src/cli/commands/resume.d.ts.map +1 -0
- package/dist/src/cli/commands/resume.js +14 -0
- package/dist/src/cli/commands/resume.js.map +1 -0
- package/dist/src/cli/commands/status.d.ts +12 -0
- package/dist/src/cli/commands/status.d.ts.map +1 -0
- package/dist/src/cli/commands/status.js +23 -0
- package/dist/src/cli/commands/status.js.map +1 -0
- package/dist/src/cli/commands/switch-project.d.ts +13 -0
- package/dist/src/cli/commands/switch-project.d.ts.map +1 -0
- package/dist/src/cli/commands/switch-project.js +91 -0
- package/dist/src/cli/commands/switch-project.js.map +1 -0
- package/dist/src/cli/commands/validate-jira.d.ts +35 -0
- package/dist/src/cli/commands/validate-jira.d.ts.map +1 -0
- package/dist/src/cli/commands/validate-jira.js +112 -0
- package/dist/src/cli/commands/validate-jira.js.map +1 -0
- package/dist/src/cli/commands/validate-plugins.d.ts +41 -0
- package/dist/src/cli/commands/validate-plugins.d.ts.map +1 -0
- package/dist/src/cli/commands/validate-plugins.js +171 -0
- package/dist/src/cli/commands/validate-plugins.js.map +1 -0
- package/dist/src/cli/helpers/issue-tracker/ado.d.ts +57 -0
- package/dist/src/cli/helpers/issue-tracker/ado.d.ts.map +1 -0
- package/dist/src/cli/helpers/issue-tracker/ado.js +243 -0
- package/dist/src/cli/helpers/issue-tracker/ado.js.map +1 -0
- package/dist/src/cli/helpers/issue-tracker/github.d.ts +65 -0
- package/dist/src/cli/helpers/issue-tracker/github.d.ts.map +1 -0
- package/dist/src/cli/helpers/issue-tracker/github.js +426 -0
- package/dist/src/cli/helpers/issue-tracker/github.js.map +1 -0
- package/dist/src/cli/helpers/issue-tracker/index.d.ts +22 -0
- package/dist/src/cli/helpers/issue-tracker/index.d.ts.map +1 -0
- package/dist/src/cli/helpers/issue-tracker/index.js +314 -0
- package/dist/src/cli/helpers/issue-tracker/index.js.map +1 -0
- package/dist/src/cli/helpers/issue-tracker/jira.d.ts +61 -0
- package/dist/src/cli/helpers/issue-tracker/jira.d.ts.map +1 -0
- package/dist/src/cli/helpers/issue-tracker/jira.js +404 -0
- package/dist/src/cli/helpers/issue-tracker/jira.js.map +1 -0
- package/dist/src/cli/helpers/issue-tracker/types.d.ts +107 -0
- package/dist/src/cli/helpers/issue-tracker/types.d.ts.map +1 -0
- package/dist/src/cli/helpers/issue-tracker/types.js +16 -0
- package/dist/src/cli/helpers/issue-tracker/types.js.map +1 -0
- package/dist/src/cli/helpers/issue-tracker/utils.d.ts +112 -0
- package/dist/src/cli/helpers/issue-tracker/utils.d.ts.map +1 -0
- package/dist/src/cli/helpers/issue-tracker/utils.js +247 -0
- package/dist/src/cli/helpers/issue-tracker/utils.js.map +1 -0
- package/dist/src/core/agent-model-manager.d.ts +52 -0
- package/dist/src/core/agent-model-manager.d.ts.map +1 -0
- package/dist/src/core/agent-model-manager.js +120 -0
- package/dist/src/core/agent-model-manager.js.map +1 -0
- package/dist/src/core/brownfield/analyzer.d.ts +86 -0
- package/dist/src/core/brownfield/analyzer.d.ts.map +1 -0
- package/dist/src/core/brownfield/analyzer.js +365 -0
- package/dist/src/core/brownfield/analyzer.js.map +1 -0
- package/dist/src/core/brownfield/importer.d.ts +76 -0
- package/dist/src/core/brownfield/importer.d.ts.map +1 -0
- package/dist/src/core/brownfield/importer.js +287 -0
- package/dist/src/core/brownfield/importer.js.map +1 -0
- package/dist/src/core/config-manager.d.ts +47 -0
- package/dist/src/core/config-manager.d.ts.map +1 -0
- package/dist/src/core/config-manager.js +136 -0
- package/dist/src/core/config-manager.js.map +1 -0
- package/dist/src/core/cost-tracker.d.ts +108 -0
- package/dist/src/core/cost-tracker.d.ts.map +1 -0
- package/dist/src/core/cost-tracker.js +281 -0
- package/dist/src/core/cost-tracker.js.map +1 -0
- package/dist/src/core/credentials-manager.d.ts +107 -0
- package/dist/src/core/credentials-manager.d.ts.map +1 -0
- package/dist/src/core/credentials-manager.js +457 -0
- package/dist/src/core/credentials-manager.js.map +1 -0
- package/dist/src/core/i18n/language-detector.d.ts +29 -0
- package/dist/src/core/i18n/language-detector.d.ts.map +1 -0
- package/dist/src/core/i18n/language-detector.js +143 -0
- package/dist/src/core/i18n/language-detector.js.map +1 -0
- package/dist/src/core/i18n/language-manager.d.ts +101 -0
- package/dist/src/core/i18n/language-manager.d.ts.map +1 -0
- package/dist/src/core/i18n/language-manager.js +232 -0
- package/dist/src/core/i18n/language-manager.js.map +1 -0
- package/dist/src/core/i18n/language-registry.d.ts +44 -0
- package/dist/src/core/i18n/language-registry.d.ts.map +1 -0
- package/dist/src/core/i18n/language-registry.js +234 -0
- package/dist/src/core/i18n/language-registry.js.map +1 -0
- package/dist/src/core/i18n/locale-manager.d.ts +62 -0
- package/dist/src/core/i18n/locale-manager.d.ts.map +1 -0
- package/dist/src/core/i18n/locale-manager.js +137 -0
- package/dist/src/core/i18n/locale-manager.js.map +1 -0
- package/dist/src/core/i18n/system-prompt-injector.d.ts +33 -0
- package/dist/src/core/i18n/system-prompt-injector.d.ts.map +1 -0
- package/dist/src/core/i18n/system-prompt-injector.js +131 -0
- package/dist/src/core/i18n/system-prompt-injector.js.map +1 -0
- package/dist/src/core/i18n/types.d.ts +151 -0
- package/dist/src/core/i18n/types.d.ts.map +1 -0
- package/dist/src/core/i18n/types.js +11 -0
- package/dist/src/core/i18n/types.js.map +1 -0
- package/dist/src/core/increment/limits.d.ts +68 -0
- package/dist/src/core/increment/limits.d.ts.map +1 -0
- package/dist/src/core/increment/limits.js +224 -0
- package/dist/src/core/increment/limits.js.map +1 -0
- package/dist/src/core/increment/metadata-manager.d.ts +114 -0
- package/dist/src/core/increment/metadata-manager.d.ts.map +1 -0
- package/dist/src/core/increment/metadata-manager.js +320 -0
- package/dist/src/core/increment/metadata-manager.js.map +1 -0
- package/dist/src/core/increment/status-commands.d.ts +43 -0
- package/dist/src/core/increment/status-commands.d.ts.map +1 -0
- package/dist/src/core/increment/status-commands.js +277 -0
- package/dist/src/core/increment/status-commands.js.map +1 -0
- package/dist/src/core/increment-status.d.ts +72 -0
- package/dist/src/core/increment-status.d.ts.map +1 -0
- package/dist/src/core/increment-status.js +227 -0
- package/dist/src/core/increment-status.js.map +1 -0
- package/dist/src/core/model-selector.d.ts +57 -0
- package/dist/src/core/model-selector.d.ts.map +1 -0
- package/dist/src/core/model-selector.js +115 -0
- package/dist/src/core/model-selector.js.map +1 -0
- package/dist/src/core/phase-detector.d.ts +62 -0
- package/dist/src/core/phase-detector.d.ts.map +1 -0
- package/dist/src/core/phase-detector.js +229 -0
- package/dist/src/core/phase-detector.js.map +1 -0
- package/dist/src/core/plugin-loader.d.ts +131 -0
- package/dist/src/core/plugin-loader.d.ts.map +1 -0
- package/dist/src/core/plugin-loader.js +421 -0
- package/dist/src/core/plugin-loader.js.map +1 -0
- package/dist/src/core/project-manager.d.ts +127 -0
- package/dist/src/core/project-manager.d.ts.map +1 -0
- package/dist/src/core/project-manager.js +524 -0
- package/dist/src/core/project-manager.js.map +1 -0
- package/dist/src/core/project-structure-detector.d.ts +92 -0
- package/dist/src/core/project-structure-detector.d.ts.map +1 -0
- package/dist/src/core/project-structure-detector.js +289 -0
- package/dist/src/core/project-structure-detector.js.map +1 -0
- package/dist/src/core/qa/qa-runner.d.ts +16 -0
- package/dist/src/core/qa/qa-runner.d.ts.map +1 -0
- package/dist/src/core/qa/qa-runner.js +404 -0
- package/dist/src/core/qa/qa-runner.js.map +1 -0
- package/dist/src/core/qa/quality-gate-decider.d.ts +53 -0
- package/dist/src/core/qa/quality-gate-decider.d.ts.map +1 -0
- package/dist/src/core/qa/quality-gate-decider.js +268 -0
- package/dist/src/core/qa/quality-gate-decider.js.map +1 -0
- package/dist/src/core/qa/risk-calculator.d.ts +126 -0
- package/dist/src/core/qa/risk-calculator.d.ts.map +1 -0
- package/dist/src/core/qa/risk-calculator.js +247 -0
- package/dist/src/core/qa/risk-calculator.js.map +1 -0
- package/dist/src/core/qa/types.d.ts +315 -0
- package/dist/src/core/qa/types.d.ts.map +1 -0
- package/dist/src/core/qa/types.js +8 -0
- package/dist/src/core/qa/types.js.map +1 -0
- package/dist/src/core/rfc-generator-v2.d.ts +149 -0
- package/dist/src/core/rfc-generator-v2.d.ts.map +1 -0
- package/dist/src/core/rfc-generator-v2.js +399 -0
- package/dist/src/core/rfc-generator-v2.js.map +1 -0
- package/dist/src/core/sync/bidirectional-engine.d.ts +110 -0
- package/dist/src/core/sync/bidirectional-engine.d.ts.map +1 -0
- package/dist/src/core/sync/bidirectional-engine.js +356 -0
- package/dist/src/core/sync/bidirectional-engine.js.map +1 -0
- package/dist/src/core/sync/folder-mapper.d.ts +71 -0
- package/dist/src/core/sync/folder-mapper.d.ts.map +1 -0
- package/dist/src/core/sync/folder-mapper.js +168 -0
- package/dist/src/core/sync/folder-mapper.js.map +1 -0
- package/dist/src/core/sync/profile-manager.d.ts +72 -0
- package/dist/src/core/sync/profile-manager.d.ts.map +1 -0
- package/dist/src/core/sync/profile-manager.js +338 -0
- package/dist/src/core/sync/profile-manager.js.map +1 -0
- package/dist/src/core/sync/profile-selector.d.ts +52 -0
- package/dist/src/core/sync/profile-selector.d.ts.map +1 -0
- package/dist/src/core/sync/profile-selector.js +179 -0
- package/dist/src/core/sync/profile-selector.js.map +1 -0
- package/dist/src/core/sync/profile-validator.d.ts +52 -0
- package/dist/src/core/sync/profile-validator.d.ts.map +1 -0
- package/dist/src/core/sync/profile-validator.js +225 -0
- package/dist/src/core/sync/profile-validator.js.map +1 -0
- package/dist/src/core/sync/project-context.d.ts +81 -0
- package/dist/src/core/sync/project-context.d.ts.map +1 -0
- package/dist/src/core/sync/project-context.js +354 -0
- package/dist/src/core/sync/project-context.js.map +1 -0
- package/dist/src/core/sync/rate-limiter.d.ts +116 -0
- package/dist/src/core/sync/rate-limiter.d.ts.map +1 -0
- package/dist/src/core/sync/rate-limiter.js +308 -0
- package/dist/src/core/sync/rate-limiter.js.map +1 -0
- package/dist/src/core/sync/time-range-selector.d.ts +48 -0
- package/dist/src/core/sync/time-range-selector.d.ts.map +1 -0
- package/dist/src/core/sync/time-range-selector.js +224 -0
- package/dist/src/core/sync/time-range-selector.js.map +1 -0
- package/dist/src/core/types/config.d.ts +90 -0
- package/dist/src/core/types/config.d.ts.map +1 -0
- package/dist/src/core/types/config.js +37 -0
- package/dist/src/core/types/config.js.map +1 -0
- package/dist/src/core/types/increment-metadata.d.ts +120 -0
- package/dist/src/core/types/increment-metadata.d.ts.map +1 -0
- package/dist/src/core/types/increment-metadata.js +138 -0
- package/dist/src/core/types/increment-metadata.js.map +1 -0
- package/dist/src/core/types/plugin.d.ts +283 -0
- package/dist/src/core/types/plugin.d.ts.map +1 -0
- package/dist/src/core/types/plugin.js +49 -0
- package/dist/src/core/types/plugin.js.map +1 -0
- package/dist/src/core/types/sync-profile.d.ts +403 -0
- package/dist/src/core/types/sync-profile.d.ts.map +1 -0
- package/dist/src/core/types/sync-profile.js +55 -0
- package/dist/src/core/types/sync-profile.js.map +1 -0
- package/dist/src/hooks/lib/types/reflection-types.d.ts +125 -0
- package/dist/src/hooks/lib/types/reflection-types.d.ts.map +1 -0
- package/dist/src/hooks/lib/types/reflection-types.js +54 -0
- package/dist/src/hooks/lib/types/reflection-types.js.map +1 -0
- package/dist/src/integrations/ado/ado-client.d.ts +127 -0
- package/dist/src/integrations/ado/ado-client.d.ts.map +1 -0
- package/dist/src/integrations/ado/ado-client.js +416 -0
- package/dist/src/integrations/ado/ado-client.js.map +1 -0
- package/dist/src/integrations/jira/jira-client.d.ts +139 -0
- package/dist/src/integrations/jira/jira-client.d.ts.map +1 -0
- package/dist/src/integrations/jira/jira-client.js +386 -0
- package/dist/src/integrations/jira/jira-client.js.map +1 -0
- package/dist/src/integrations/jira/jira-incremental-mapper.d.ts +75 -0
- package/dist/src/integrations/jira/jira-incremental-mapper.d.ts.map +1 -0
- package/dist/src/integrations/jira/jira-incremental-mapper.js +474 -0
- package/dist/src/integrations/jira/jira-incremental-mapper.js.map +1 -0
- package/dist/src/integrations/jira/jira-mapper.d.ts +105 -0
- package/dist/src/integrations/jira/jira-mapper.d.ts.map +1 -0
- package/dist/src/integrations/jira/jira-mapper.js +494 -0
- package/dist/src/integrations/jira/jira-mapper.js.map +1 -0
- package/dist/src/metrics/calculators/change-failure-rate.d.ts +22 -0
- package/dist/src/metrics/calculators/change-failure-rate.d.ts.map +1 -0
- package/dist/src/metrics/calculators/change-failure-rate.js +70 -0
- package/dist/src/metrics/calculators/change-failure-rate.js.map +1 -0
- package/dist/src/metrics/calculators/deployment-frequency.d.ts +20 -0
- package/dist/src/metrics/calculators/deployment-frequency.d.ts.map +1 -0
- package/dist/src/metrics/calculators/deployment-frequency.js +61 -0
- package/dist/src/metrics/calculators/deployment-frequency.js.map +1 -0
- package/dist/src/metrics/calculators/lead-time.d.ts +22 -0
- package/dist/src/metrics/calculators/lead-time.d.ts.map +1 -0
- package/dist/src/metrics/calculators/lead-time.js +82 -0
- package/dist/src/metrics/calculators/lead-time.js.map +1 -0
- package/dist/src/metrics/calculators/mttr.d.ts +21 -0
- package/dist/src/metrics/calculators/mttr.d.ts.map +1 -0
- package/dist/src/metrics/calculators/mttr.js +60 -0
- package/dist/src/metrics/calculators/mttr.js.map +1 -0
- package/dist/src/metrics/dora-calculator.d.ts +28 -0
- package/dist/src/metrics/dora-calculator.d.ts.map +1 -0
- package/dist/src/metrics/dora-calculator.js +117 -0
- package/dist/src/metrics/dora-calculator.js.map +1 -0
- package/dist/src/metrics/github-client.d.ts +51 -0
- package/dist/src/metrics/github-client.d.ts.map +1 -0
- package/dist/src/metrics/github-client.js +133 -0
- package/dist/src/metrics/github-client.js.map +1 -0
- package/dist/src/metrics/report-generator.d.ts +17 -0
- package/dist/src/metrics/report-generator.d.ts.map +1 -0
- package/dist/src/metrics/report-generator.js +403 -0
- package/dist/src/metrics/report-generator.js.map +1 -0
- package/dist/src/metrics/types.d.ts +112 -0
- package/dist/src/metrics/types.d.ts.map +1 -0
- package/dist/src/metrics/types.js +10 -0
- package/dist/src/metrics/types.js.map +1 -0
- package/dist/src/metrics/utils/percentile.d.ts +25 -0
- package/dist/src/metrics/utils/percentile.d.ts.map +1 -0
- package/dist/src/metrics/utils/percentile.js +46 -0
- package/dist/src/metrics/utils/percentile.js.map +1 -0
- package/dist/src/metrics/utils/tier-classifier.d.ts +61 -0
- package/dist/src/metrics/utils/tier-classifier.d.ts.map +1 -0
- package/dist/src/metrics/utils/tier-classifier.js +100 -0
- package/dist/src/metrics/utils/tier-classifier.js.map +1 -0
- package/dist/src/testing/test-generator.d.ts +117 -0
- package/dist/src/testing/test-generator.d.ts.map +1 -0
- package/dist/src/testing/test-generator.js +370 -0
- package/dist/src/testing/test-generator.js.map +1 -0
- package/dist/src/types/cost-tracking.d.ts +43 -0
- package/dist/src/types/cost-tracking.d.ts.map +1 -0
- package/dist/src/types/cost-tracking.js +8 -0
- package/dist/src/types/cost-tracking.js.map +1 -0
- package/dist/src/types/model-selection.d.ts +53 -0
- package/dist/src/types/model-selection.d.ts.map +1 -0
- package/dist/src/types/model-selection.js +12 -0
- package/dist/src/types/model-selection.js.map +1 -0
- package/dist/src/utils/agents-md-compiler.d.ts +68 -0
- package/dist/src/utils/agents-md-compiler.d.ts.map +1 -0
- package/dist/src/utils/agents-md-compiler.js +420 -0
- package/dist/src/utils/agents-md-compiler.js.map +1 -0
- package/dist/src/utils/auth-helpers.d.ts +58 -0
- package/dist/src/utils/auth-helpers.d.ts.map +1 -0
- package/dist/src/utils/auth-helpers.js +108 -0
- package/dist/src/utils/auth-helpers.js.map +1 -0
- package/dist/src/utils/auto-install.d.ts +47 -0
- package/dist/src/utils/auto-install.d.ts.map +1 -0
- package/dist/src/utils/auto-install.js +211 -0
- package/dist/src/utils/auto-install.js.map +1 -0
- package/dist/src/utils/claude-cli-detector.d.ts +75 -0
- package/dist/src/utils/claude-cli-detector.d.ts.map +1 -0
- package/dist/src/utils/claude-cli-detector.js +285 -0
- package/dist/src/utils/claude-cli-detector.js.map +1 -0
- package/dist/src/utils/cost-reporter.d.ts +58 -0
- package/dist/src/utils/cost-reporter.d.ts.map +1 -0
- package/dist/src/utils/cost-reporter.js +224 -0
- package/dist/src/utils/cost-reporter.js.map +1 -0
- package/dist/src/utils/docs-preview/config-generator.d.ts +46 -0
- package/dist/src/utils/docs-preview/config-generator.d.ts.map +1 -0
- package/dist/src/utils/docs-preview/config-generator.js +377 -0
- package/dist/src/utils/docs-preview/config-generator.js.map +1 -0
- package/dist/src/utils/docs-preview/docusaurus-setup.d.ts +38 -0
- package/dist/src/utils/docs-preview/docusaurus-setup.d.ts.map +1 -0
- package/dist/src/utils/docs-preview/docusaurus-setup.js +177 -0
- package/dist/src/utils/docs-preview/docusaurus-setup.js.map +1 -0
- package/dist/src/utils/docs-preview/index.d.ts +7 -0
- package/dist/src/utils/docs-preview/index.d.ts.map +1 -0
- package/dist/src/utils/docs-preview/index.js +7 -0
- package/dist/src/utils/docs-preview/index.js.map +1 -0
- package/dist/src/utils/docs-preview/package-installer.d.ts +42 -0
- package/dist/src/utils/docs-preview/package-installer.d.ts.map +1 -0
- package/dist/src/utils/docs-preview/package-installer.js +182 -0
- package/dist/src/utils/docs-preview/package-installer.js.map +1 -0
- package/dist/src/utils/docs-preview/server-manager.d.ts +30 -0
- package/dist/src/utils/docs-preview/server-manager.d.ts.map +1 -0
- package/dist/src/utils/docs-preview/server-manager.js +212 -0
- package/dist/src/utils/docs-preview/server-manager.js.map +1 -0
- package/dist/src/utils/docs-preview/sidebar-builder.d.ts +32 -0
- package/dist/src/utils/docs-preview/sidebar-builder.d.ts.map +1 -0
- package/dist/src/utils/docs-preview/sidebar-builder.js +202 -0
- package/dist/src/utils/docs-preview/sidebar-builder.js.map +1 -0
- package/dist/src/utils/docs-preview/types.d.ts +57 -0
- package/dist/src/utils/docs-preview/types.d.ts.map +1 -0
- package/dist/src/utils/docs-preview/types.js +2 -0
- package/dist/src/utils/docs-preview/types.js.map +1 -0
- package/dist/src/utils/env-file.d.ts +88 -0
- package/dist/src/utils/env-file.d.ts.map +1 -0
- package/dist/src/utils/env-file.js +180 -0
- package/dist/src/utils/env-file.js.map +1 -0
- package/dist/src/utils/env-multi-project-parser.d.ts +220 -0
- package/dist/src/utils/env-multi-project-parser.d.ts.map +1 -0
- package/dist/src/utils/env-multi-project-parser.js +403 -0
- package/dist/src/utils/env-multi-project-parser.js.map +1 -0
- package/dist/src/utils/esm-helpers.d.ts +50 -0
- package/dist/src/utils/esm-helpers.d.ts.map +1 -0
- package/dist/src/utils/esm-helpers.js +57 -0
- package/dist/src/utils/esm-helpers.js.map +1 -0
- package/dist/src/utils/execFileNoThrow.d.ts +99 -0
- package/dist/src/utils/execFileNoThrow.d.ts.map +1 -0
- package/dist/src/utils/execFileNoThrow.js +137 -0
- package/dist/src/utils/execFileNoThrow.js.map +1 -0
- package/dist/src/utils/external-resource-validator.d.ts +102 -0
- package/dist/src/utils/external-resource-validator.d.ts.map +1 -0
- package/dist/src/utils/external-resource-validator.js +400 -0
- package/dist/src/utils/external-resource-validator.js.map +1 -0
- package/dist/src/utils/generate-skills-index.d.ts +24 -0
- package/dist/src/utils/generate-skills-index.d.ts.map +1 -0
- package/dist/src/utils/generate-skills-index.js +410 -0
- package/dist/src/utils/generate-skills-index.js.map +1 -0
- package/dist/src/utils/model-selection.d.ts +75 -0
- package/dist/src/utils/model-selection.d.ts.map +1 -0
- package/dist/src/utils/model-selection.js +204 -0
- package/dist/src/utils/model-selection.js.map +1 -0
- package/dist/src/utils/plugin-validator.d.ts +161 -0
- package/dist/src/utils/plugin-validator.d.ts.map +1 -0
- package/dist/src/utils/plugin-validator.js +558 -0
- package/dist/src/utils/plugin-validator.js.map +1 -0
- package/dist/src/utils/pricing-constants.d.ts +70 -0
- package/dist/src/utils/pricing-constants.d.ts.map +1 -0
- package/dist/src/utils/pricing-constants.js +71 -0
- package/dist/src/utils/pricing-constants.js.map +1 -0
- package/dist/src/utils/project-detection.d.ts +141 -0
- package/dist/src/utils/project-detection.d.ts.map +1 -0
- package/dist/src/utils/project-detection.js +321 -0
- package/dist/src/utils/project-detection.js.map +1 -0
- package/dist/src/utils/string-utils.d.ts +40 -0
- package/dist/src/utils/string-utils.d.ts.map +1 -0
- package/dist/src/utils/string-utils.js +58 -0
- package/dist/src/utils/string-utils.js.map +1 -0
- package/dist/src/utils/translation.d.ts +187 -0
- package/dist/src/utils/translation.d.ts.map +1 -0
- package/dist/src/utils/translation.js +414 -0
- package/dist/src/utils/translation.js.map +1 -0
- package/dist/utils/external-resource-validator.d.ts.map +1 -1
- package/dist/utils/external-resource-validator.js +101 -59
- package/dist/utils/external-resource-validator.js.map +1 -1
- package/dist/utils/plugin-validator.d.ts.map +1 -1
- package/dist/utils/plugin-validator.js +0 -7
- package/dist/utils/plugin-validator.js.map +1 -1
- package/package.json +3 -2
- package/plugins/specweave/agents/reflective-reviewer/AGENT.md +535 -0
- package/plugins/specweave/hooks/post-first-increment.sh +10 -28
- package/plugins/specweave/hooks/post-increment-change.sh +94 -0
- package/plugins/specweave/hooks/post-increment-planning.sh +261 -1
- package/plugins/specweave/hooks/post-increment-status-change.sh +143 -0
- package/plugins/specweave/hooks/post-task-completion.sh +26 -0
- package/plugins/specweave/lib/hooks/git-diff-analyzer.ts +269 -0
- package/plugins/specweave/lib/hooks/invoke-translator-skill.ts +264 -0
- package/plugins/specweave/lib/hooks/prepare-reflection-context.ts +178 -0
- package/plugins/specweave/lib/hooks/reflection-config-loader.ts +156 -0
- package/plugins/specweave/lib/hooks/reflection-parser.ts +484 -0
- package/plugins/specweave/lib/hooks/reflection-prompt-builder.ts +306 -0
- package/plugins/specweave/lib/hooks/reflection-storage.ts +369 -0
- package/plugins/specweave/lib/hooks/run-self-reflection.ts +258 -0
- package/plugins/specweave/lib/hooks/sync-living-docs.ts +188 -0
- package/plugins/specweave/lib/hooks/translate-file.ts +428 -0
- package/plugins/specweave/lib/hooks/translate-living-docs.ts +224 -0
- package/plugins/specweave/lib/hooks/types/reflection-types.ts +193 -0
- package/plugins/specweave/lib/hooks/update-tasks-md.ts +256 -0
- package/plugins/specweave/skills/SKILLS-INDEX.md +2 -2
- package/plugins/specweave/skills/increment-planner/SKILL.md +8 -0
- package/plugins/specweave/skills/plugin-expert/SKILL.md +0 -4
- package/plugins/specweave/skills/plugin-installer/SKILL.md +19 -21
- package/plugins/specweave/skills/plugin-validator/SKILL.md +0 -1
- package/plugins/specweave/skills/project-kickstarter/SKILL.md +3 -3
- package/plugins/specweave/skills/spec-generator/SKILL.md +3 -3
- package/plugins/specweave-docs-preview/.claude-plugin/plugin.json +21 -0
- package/plugins/specweave-docs-preview/commands/build.md +489 -0
- package/plugins/specweave-docs-preview/commands/preview.md +330 -0
- package/plugins/specweave-docs-preview/skills/docs-preview/SKILL.md +386 -0
- package/plugins/specweave-github/commands/specweave-github-sync-from.md +147 -0
- package/plugins/specweave-github/lib/cli-sync-increment-changes.ts +33 -0
- package/plugins/specweave-github/lib/github-issue-updater.ts +449 -0
- package/plugins/specweave-github/lib/github-sync-bidirectional.ts +342 -0
- package/plugins/specweave-github/lib/github-sync-increment-changes.ts +380 -0
- package/src/templates/AGENTS.md.template +55 -9
- package/plugins/specweave/skills/translator/SKILL.md.bak +0 -172
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: specweave-docs-preview:preview
|
|
3
|
+
description: Launch interactive documentation preview server with Docusaurus. Auto-generates sidebar, enables hot reload, and opens browser automatically.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Documentation Preview Command
|
|
7
|
+
|
|
8
|
+
Launch an interactive Docusaurus development server to preview your SpecWeave living documentation.
|
|
9
|
+
|
|
10
|
+
## Your Task
|
|
11
|
+
|
|
12
|
+
Execute the following workflow to launch the documentation preview server:
|
|
13
|
+
|
|
14
|
+
### Step 1: Load the Preview Utilities
|
|
15
|
+
|
|
16
|
+
```typescript
|
|
17
|
+
import { launchPreview, isSetupNeeded, getDocsSitePath } from '../../../src/utils/docs-preview/index.js';
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
**Note:** These utilities are already implemented in the SpecWeave codebase.
|
|
21
|
+
|
|
22
|
+
### Step 2: Check Configuration
|
|
23
|
+
|
|
24
|
+
Read the project configuration from `.specweave/config.json`:
|
|
25
|
+
|
|
26
|
+
```typescript
|
|
27
|
+
import * as fs from 'fs-extra';
|
|
28
|
+
import * as path from 'path';
|
|
29
|
+
|
|
30
|
+
const projectRoot = process.cwd();
|
|
31
|
+
const configPath = path.join(projectRoot, '.specweave', 'config.json');
|
|
32
|
+
|
|
33
|
+
let config: any = {};
|
|
34
|
+
if (fs.existsSync(configPath)) {
|
|
35
|
+
config = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
const docsConfig = config.documentation?.preview || {
|
|
39
|
+
enabled: true,
|
|
40
|
+
autoInstall: true,
|
|
41
|
+
port: 3015,
|
|
42
|
+
openBrowser: true,
|
|
43
|
+
theme: 'default',
|
|
44
|
+
excludeFolders: ['legacy', 'node_modules']
|
|
45
|
+
};
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Step 3: Check if Documentation Preview is Enabled
|
|
49
|
+
|
|
50
|
+
```typescript
|
|
51
|
+
if (!docsConfig.enabled) {
|
|
52
|
+
console.log('📚 Documentation preview is disabled in config.');
|
|
53
|
+
console.log(' To enable, set documentation.preview.enabled = true in .specweave/config.json');
|
|
54
|
+
process.exit(0);
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Step 4: Display Setup Information
|
|
59
|
+
|
|
60
|
+
```typescript
|
|
61
|
+
console.log('\n📚 Launching Documentation Preview...\n');
|
|
62
|
+
|
|
63
|
+
const setupNeeded = await isSetupNeeded(projectRoot);
|
|
64
|
+
|
|
65
|
+
if (setupNeeded) {
|
|
66
|
+
console.log('ℹ️ First-time setup required');
|
|
67
|
+
console.log(' • Installing Docusaurus (~30 seconds)');
|
|
68
|
+
console.log(' • Generating configuration');
|
|
69
|
+
console.log(' • Creating sidebar from folder structure\n');
|
|
70
|
+
} else {
|
|
71
|
+
console.log('✓ Docusaurus already installed');
|
|
72
|
+
console.log('✓ Configuration up-to-date\n');
|
|
73
|
+
}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### Step 5: Launch the Preview Server
|
|
77
|
+
|
|
78
|
+
```typescript
|
|
79
|
+
try {
|
|
80
|
+
const options = {
|
|
81
|
+
port: docsConfig.port || 3015,
|
|
82
|
+
openBrowser: docsConfig.openBrowser !== false,
|
|
83
|
+
theme: docsConfig.theme || 'default',
|
|
84
|
+
excludeFolders: docsConfig.excludeFolders || ['legacy', 'node_modules']
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
const server = await launchPreview(projectRoot, options);
|
|
88
|
+
|
|
89
|
+
console.log('\n✅ Documentation server started successfully!\n');
|
|
90
|
+
console.log(`🌐 URL: ${server.url}`);
|
|
91
|
+
console.log('🔄 Hot reload enabled - edit markdown files to see changes instantly');
|
|
92
|
+
console.log('🗂️ Sidebar auto-generated from folder structure');
|
|
93
|
+
console.log('📊 Mermaid diagrams supported');
|
|
94
|
+
console.log('\n💡 Press Ctrl+C to stop the server\n');
|
|
95
|
+
|
|
96
|
+
// Keep the process running
|
|
97
|
+
process.on('SIGINT', () => {
|
|
98
|
+
console.log('\n\n👋 Stopping documentation server...');
|
|
99
|
+
process.exit(0);
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
} catch (error: any) {
|
|
103
|
+
console.error('\n❌ Failed to launch documentation preview\n');
|
|
104
|
+
console.error(`Error: ${error.message}\n`);
|
|
105
|
+
|
|
106
|
+
if (error.message.includes('Node.js 18+')) {
|
|
107
|
+
console.log('💡 Solution:');
|
|
108
|
+
console.log(' • Update Node.js: nvm install 20 (or download from nodejs.org)');
|
|
109
|
+
console.log(' • Current version: node --version\n');
|
|
110
|
+
} else if (error.message.includes('port')) {
|
|
111
|
+
console.log('💡 Solution:');
|
|
112
|
+
console.log(' • Change port in .specweave/config.json');
|
|
113
|
+
console.log(' • Or stop the service using port ' + (docsConfig.port || 3015));
|
|
114
|
+
console.log(' • Check with: lsof -i :' + (docsConfig.port || 3015) + '\n');
|
|
115
|
+
} else {
|
|
116
|
+
console.log('💡 Troubleshooting:');
|
|
117
|
+
console.log(' • Check Node.js version (18+ required): node --version');
|
|
118
|
+
console.log(' • Clear npm cache: npm cache clean --force');
|
|
119
|
+
console.log(' • Check .specweave/docs/internal/ exists');
|
|
120
|
+
console.log(' • Run with DEBUG=* for detailed logs\n');
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
process.exit(1);
|
|
124
|
+
}
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## Important Notes
|
|
128
|
+
|
|
129
|
+
### Configuration
|
|
130
|
+
The command uses settings from `.specweave/config.json`:
|
|
131
|
+
|
|
132
|
+
```json
|
|
133
|
+
{
|
|
134
|
+
"documentation": {
|
|
135
|
+
"preview": {
|
|
136
|
+
"enabled": true,
|
|
137
|
+
"autoInstall": true,
|
|
138
|
+
"port": 3015,
|
|
139
|
+
"openBrowser": true,
|
|
140
|
+
"theme": "default",
|
|
141
|
+
"excludeFolders": ["legacy", "node_modules"]
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### First-Time Setup
|
|
148
|
+
On first run, the command will:
|
|
149
|
+
1. Check Node.js version (requires 18+)
|
|
150
|
+
2. Install Docusaurus packages (~30 seconds)
|
|
151
|
+
3. Generate `docusaurus.config.js`
|
|
152
|
+
4. Create sidebar from folder structure
|
|
153
|
+
5. Start development server
|
|
154
|
+
6. Open browser automatically
|
|
155
|
+
|
|
156
|
+
### Subsequent Runs
|
|
157
|
+
On subsequent runs, the command will:
|
|
158
|
+
1. Check if Docusaurus is installed (instant)
|
|
159
|
+
2. Regenerate sidebar (in case docs changed)
|
|
160
|
+
3. Start server (~2 seconds)
|
|
161
|
+
4. Open browser
|
|
162
|
+
|
|
163
|
+
### Directory Structure
|
|
164
|
+
```
|
|
165
|
+
.specweave/
|
|
166
|
+
├── docs/
|
|
167
|
+
│ └── internal/ ← Source documentation
|
|
168
|
+
│ ├── strategy/
|
|
169
|
+
│ ├── specs/
|
|
170
|
+
│ ├── architecture/
|
|
171
|
+
│ ├── delivery/
|
|
172
|
+
│ ├── operations/
|
|
173
|
+
│ └── governance/
|
|
174
|
+
└── docs-site-internal/ ← Docusaurus installation (generated)
|
|
175
|
+
├── docs/ ← Symlinked to internal/
|
|
176
|
+
├── src/
|
|
177
|
+
├── docusaurus.config.js
|
|
178
|
+
├── sidebars.js
|
|
179
|
+
└── package.json
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
### What Gets Auto-Generated
|
|
183
|
+
1. **Sidebar** (`sidebars.js`):
|
|
184
|
+
- Recursively scans `.specweave/docs/internal/`
|
|
185
|
+
- Creates categories from folders
|
|
186
|
+
- Sorts by priority (strategy first, governance last)
|
|
187
|
+
- Formats labels (kebab-case → Title Case)
|
|
188
|
+
|
|
189
|
+
2. **Configuration** (`docusaurus.config.js`):
|
|
190
|
+
- Site title from project name
|
|
191
|
+
- Theme settings from config
|
|
192
|
+
- Mermaid diagram support
|
|
193
|
+
- Hot reload enabled
|
|
194
|
+
|
|
195
|
+
3. **Landing Page** (`src/pages/index.js`):
|
|
196
|
+
- Welcome message
|
|
197
|
+
- Quick navigation links
|
|
198
|
+
- Project information
|
|
199
|
+
|
|
200
|
+
### Hot Reload
|
|
201
|
+
Changes to markdown files in `.specweave/docs/internal/` are detected automatically:
|
|
202
|
+
- Edit file → Save → Browser refreshes instantly
|
|
203
|
+
- No need to restart server
|
|
204
|
+
- Works for all markdown files
|
|
205
|
+
|
|
206
|
+
### Stopping the Server
|
|
207
|
+
- Press `Ctrl+C` in terminal
|
|
208
|
+
- Or close the terminal window
|
|
209
|
+
- Or kill the process: `pkill -f docusaurus`
|
|
210
|
+
|
|
211
|
+
## Expected Output
|
|
212
|
+
|
|
213
|
+
**First Run:**
|
|
214
|
+
```
|
|
215
|
+
📚 Launching Documentation Preview...
|
|
216
|
+
|
|
217
|
+
ℹ️ First-time setup required
|
|
218
|
+
• Installing Docusaurus (~30 seconds)
|
|
219
|
+
• Generating configuration
|
|
220
|
+
• Creating sidebar from folder structure
|
|
221
|
+
|
|
222
|
+
📦 Installing Docusaurus packages...
|
|
223
|
+
[============================>] 100%
|
|
224
|
+
|
|
225
|
+
✓ Packages installed successfully
|
|
226
|
+
✓ Configuration generated
|
|
227
|
+
✓ Sidebar generated (42 documents, 8 categories)
|
|
228
|
+
✓ Server started on http://localhost:3015
|
|
229
|
+
|
|
230
|
+
✅ Documentation server started successfully!
|
|
231
|
+
|
|
232
|
+
🌐 URL: http://localhost:3015
|
|
233
|
+
🔄 Hot reload enabled - edit markdown files to see changes instantly
|
|
234
|
+
🗂️ Sidebar auto-generated from folder structure
|
|
235
|
+
📊 Mermaid diagrams supported
|
|
236
|
+
|
|
237
|
+
💡 Press Ctrl+C to stop the server
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
**Subsequent Runs:**
|
|
241
|
+
```
|
|
242
|
+
📚 Launching Documentation Preview...
|
|
243
|
+
|
|
244
|
+
✓ Docusaurus already installed
|
|
245
|
+
✓ Configuration up-to-date
|
|
246
|
+
|
|
247
|
+
✓ Sidebar generated (42 documents, 8 categories)
|
|
248
|
+
✓ Server started on http://localhost:3015
|
|
249
|
+
|
|
250
|
+
✅ Documentation server started successfully!
|
|
251
|
+
|
|
252
|
+
🌐 URL: http://localhost:3015
|
|
253
|
+
🔄 Hot reload enabled - edit markdown files to see changes instantly
|
|
254
|
+
🗂️ Sidebar auto-generated from folder structure
|
|
255
|
+
📊 Mermaid diagrams supported
|
|
256
|
+
|
|
257
|
+
💡 Press Ctrl+C to stop the server
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
## Troubleshooting
|
|
261
|
+
|
|
262
|
+
### Common Issues
|
|
263
|
+
|
|
264
|
+
**Port Already in Use:**
|
|
265
|
+
```
|
|
266
|
+
Error: Port 3015 is already in use
|
|
267
|
+
```
|
|
268
|
+
Solution:
|
|
269
|
+
1. Change port in `.specweave/config.json` → `documentation.preview.port`
|
|
270
|
+
2. Or stop the service: `lsof -i :3015` then `kill -9 <PID>`
|
|
271
|
+
|
|
272
|
+
**Node.js Version:**
|
|
273
|
+
```
|
|
274
|
+
Error: Node.js 18+ required (current: v16.x.x)
|
|
275
|
+
```
|
|
276
|
+
Solution:
|
|
277
|
+
1. Update Node.js: `nvm install 20` (or download from nodejs.org)
|
|
278
|
+
2. Verify: `node --version`
|
|
279
|
+
|
|
280
|
+
**Missing Documentation:**
|
|
281
|
+
```
|
|
282
|
+
Error: No documentation found in .specweave/docs/internal/
|
|
283
|
+
```
|
|
284
|
+
Solution:
|
|
285
|
+
1. Check folder exists: `ls .specweave/docs/internal/`
|
|
286
|
+
2. Add at least one markdown file
|
|
287
|
+
3. Or run `/specweave:increment` to create documentation
|
|
288
|
+
|
|
289
|
+
## Integration with SpecWeave Workflow
|
|
290
|
+
|
|
291
|
+
### After Creating Increment
|
|
292
|
+
```bash
|
|
293
|
+
/specweave:increment "User Authentication"
|
|
294
|
+
# → Creates spec.md, plan.md, tasks.md
|
|
295
|
+
|
|
296
|
+
/specweave-docs-preview:preview
|
|
297
|
+
# → Preview shows new spec in sidebar
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
### After Completing Increment
|
|
301
|
+
```bash
|
|
302
|
+
/specweave:done 0008
|
|
303
|
+
# → Syncs spec.md to .specweave/docs/internal/specs/spec-0008-user-auth.md
|
|
304
|
+
|
|
305
|
+
# Hot reload automatically shows the new spec!
|
|
306
|
+
# No need to restart preview server
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
### Viewing Architecture Decisions
|
|
310
|
+
```bash
|
|
311
|
+
# Create ADR
|
|
312
|
+
vim .specweave/docs/internal/architecture/adr/0001-database-choice.md
|
|
313
|
+
|
|
314
|
+
# Hot reload shows it instantly
|
|
315
|
+
# Navigate to Architecture → ADR → Database Choice
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
## Best Practices
|
|
319
|
+
|
|
320
|
+
1. **Keep Server Running**: Start once, leave running during development
|
|
321
|
+
2. **Edit in IDE**: Changes reflect instantly (hot reload)
|
|
322
|
+
3. **Organize Folders**: Good folder structure = good sidebar
|
|
323
|
+
4. **Use Frontmatter**: Add title, position to control order
|
|
324
|
+
5. **Test Search**: Built-in search works after indexing
|
|
325
|
+
|
|
326
|
+
## See Also
|
|
327
|
+
|
|
328
|
+
- `/specweave-docs-preview:build` - Build static site for deployment
|
|
329
|
+
- `specweave-docs` plugin - General documentation skills
|
|
330
|
+
- Docusaurus docs: https://docusaurus.io
|
|
@@ -0,0 +1,386 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: docs-preview
|
|
3
|
+
description: Documentation preview expert for Docusaurus integration. Launches interactive preview server for SpecWeave living documentation with hot reload, auto-generated sidebar, and Mermaid diagrams. Activates for preview docs, view documentation, Docusaurus server, docs UI, documentation website, local docs server, hot reload docs, static site build.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Documentation Preview Skill
|
|
7
|
+
|
|
8
|
+
Expert in launching and managing Docusaurus documentation preview for SpecWeave projects.
|
|
9
|
+
|
|
10
|
+
## What I Do
|
|
11
|
+
|
|
12
|
+
I help you preview and build your SpecWeave living documentation with Docusaurus:
|
|
13
|
+
|
|
14
|
+
### 1. Interactive Preview
|
|
15
|
+
- Launch local development server (default port: 3015)
|
|
16
|
+
- Auto-generate sidebar from folder structure
|
|
17
|
+
- Hot reload - edit markdown, see changes instantly
|
|
18
|
+
- Mermaid diagram rendering
|
|
19
|
+
- Mobile-responsive UI
|
|
20
|
+
- Search functionality
|
|
21
|
+
|
|
22
|
+
### 2. Static Site Building
|
|
23
|
+
- Build production-ready static site
|
|
24
|
+
- Output to `.specweave/docs-site-internal/build/`
|
|
25
|
+
- Ready for deployment to any static host
|
|
26
|
+
- Optimized for performance
|
|
27
|
+
|
|
28
|
+
### 3. Smart Setup
|
|
29
|
+
- Lazy installation (only installs when first used)
|
|
30
|
+
- Checks Node.js version (18+ required)
|
|
31
|
+
- Installs Docusaurus dependencies automatically
|
|
32
|
+
- Configures from `.specweave/config.json` settings
|
|
33
|
+
|
|
34
|
+
## Available Commands
|
|
35
|
+
|
|
36
|
+
### Preview Documentation
|
|
37
|
+
```bash
|
|
38
|
+
/specweave-docs-preview:preview
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
**What it does:**
|
|
42
|
+
1. Checks if Docusaurus is installed (installs if needed)
|
|
43
|
+
2. Generates sidebar from `.specweave/docs/internal/` structure
|
|
44
|
+
3. Starts development server on port 3015 (configurable)
|
|
45
|
+
4. Opens browser automatically
|
|
46
|
+
5. Enables hot reload
|
|
47
|
+
|
|
48
|
+
**Configuration** (`.specweave/config.json`):
|
|
49
|
+
```json
|
|
50
|
+
{
|
|
51
|
+
"documentation": {
|
|
52
|
+
"preview": {
|
|
53
|
+
"enabled": true,
|
|
54
|
+
"autoInstall": false,
|
|
55
|
+
"port": 3015,
|
|
56
|
+
"openBrowser": true,
|
|
57
|
+
"theme": "default",
|
|
58
|
+
"excludeFolders": ["legacy", "node_modules"]
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**Example session:**
|
|
65
|
+
```
|
|
66
|
+
User: "Can I preview my documentation?"
|
|
67
|
+
You: "Yes! I'll launch the Docusaurus preview server for you."
|
|
68
|
+
[Run: /specweave-docs-preview:preview]
|
|
69
|
+
|
|
70
|
+
Output:
|
|
71
|
+
📚 Setting up documentation preview...
|
|
72
|
+
✓ Node.js version check passed (v20.0.0)
|
|
73
|
+
✓ Docusaurus already installed
|
|
74
|
+
✓ Sidebar generated (42 documents, 8 categories)
|
|
75
|
+
✓ Server started on http://localhost:3015
|
|
76
|
+
|
|
77
|
+
🌐 Documentation available at: http://localhost:3015
|
|
78
|
+
🔄 Hot reload enabled - edit docs and see changes instantly
|
|
79
|
+
💡 Press Ctrl+C to stop the server
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Build Static Site
|
|
83
|
+
```bash
|
|
84
|
+
/specweave-docs-preview:build
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
**What it does:**
|
|
88
|
+
1. Checks if Docusaurus is installed
|
|
89
|
+
2. Runs production build
|
|
90
|
+
3. Outputs to `.specweave/docs-site-internal/build/`
|
|
91
|
+
4. Shows build stats and output path
|
|
92
|
+
|
|
93
|
+
**Example session:**
|
|
94
|
+
```
|
|
95
|
+
User: "Build my docs for deployment"
|
|
96
|
+
You: "I'll build the static documentation site."
|
|
97
|
+
[Run: /specweave-docs-preview:build]
|
|
98
|
+
|
|
99
|
+
Output:
|
|
100
|
+
📦 Building static documentation site...
|
|
101
|
+
✓ Build complete!
|
|
102
|
+
📁 Output: /project/.specweave/docs-site-internal/build/
|
|
103
|
+
|
|
104
|
+
To deploy:
|
|
105
|
+
1. Copy build/ folder to your static host
|
|
106
|
+
2. Or use: npx serve build/
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## When to Use This Skill
|
|
110
|
+
|
|
111
|
+
### Activate for questions like:
|
|
112
|
+
- "How do I preview my documentation?"
|
|
113
|
+
- "Show me my docs in a UI"
|
|
114
|
+
- "Launch Docusaurus server"
|
|
115
|
+
- "View my living documentation"
|
|
116
|
+
- "Start docs preview"
|
|
117
|
+
- "Build static docs site"
|
|
118
|
+
- "Hot reload documentation"
|
|
119
|
+
- "Documentation website"
|
|
120
|
+
|
|
121
|
+
### Common workflows:
|
|
122
|
+
|
|
123
|
+
**1. First-time preview:**
|
|
124
|
+
```
|
|
125
|
+
User: "I want to preview my docs"
|
|
126
|
+
You: "I'll set up the documentation preview with Docusaurus.
|
|
127
|
+
This will install dependencies (takes ~30 seconds first time)."
|
|
128
|
+
[Run: /specweave-docs-preview:preview]
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
**2. Already running:**
|
|
132
|
+
```
|
|
133
|
+
User: "Preview my docs"
|
|
134
|
+
You: "Checking if Docusaurus is running..."
|
|
135
|
+
[If running: "Documentation server already running at http://localhost:3015"]
|
|
136
|
+
[If not: Run /specweave-docs-preview:preview]
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
**3. Build for deployment:**
|
|
140
|
+
```
|
|
141
|
+
User: "I need to deploy my docs"
|
|
142
|
+
You: "I'll build the static site for deployment."
|
|
143
|
+
[Run: /specweave-docs-preview:build]
|
|
144
|
+
"Once built, you can deploy the build/ folder to:"
|
|
145
|
+
"• Netlify, Vercel, GitHub Pages"
|
|
146
|
+
"• Any static host (Nginx, Apache, S3)"
|
|
147
|
+
"• Or test locally with: npx serve build/"
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
## Architecture
|
|
151
|
+
|
|
152
|
+
### Folder Structure
|
|
153
|
+
```
|
|
154
|
+
.specweave/
|
|
155
|
+
├── docs/
|
|
156
|
+
│ └── internal/ ← Source documentation
|
|
157
|
+
│ ├── strategy/
|
|
158
|
+
│ ├── specs/
|
|
159
|
+
│ ├── architecture/
|
|
160
|
+
│ └── ...
|
|
161
|
+
└── docs-site-internal/ ← Docusaurus installation
|
|
162
|
+
├── docs/ ← Symlinked to internal/
|
|
163
|
+
├── src/
|
|
164
|
+
├── build/ ← Static output
|
|
165
|
+
├── docusaurus.config.js
|
|
166
|
+
├── sidebars.js ← Auto-generated
|
|
167
|
+
└── package.json
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
### Sidebar Auto-Generation
|
|
171
|
+
|
|
172
|
+
The sidebar is generated from your folder structure:
|
|
173
|
+
|
|
174
|
+
**Input** (`.specweave/docs/internal/`):
|
|
175
|
+
```
|
|
176
|
+
internal/
|
|
177
|
+
├── strategy/
|
|
178
|
+
│ ├── prd-001.md
|
|
179
|
+
│ └── okrs.md
|
|
180
|
+
├── specs/
|
|
181
|
+
│ ├── spec-001-auth.md
|
|
182
|
+
│ └── spec-002-payments.md
|
|
183
|
+
└── architecture/
|
|
184
|
+
├── hld-system.md
|
|
185
|
+
└── adr/
|
|
186
|
+
└── 0001-database-choice.md
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
**Output** (`sidebars.js`):
|
|
190
|
+
```javascript
|
|
191
|
+
{
|
|
192
|
+
docs: [
|
|
193
|
+
{
|
|
194
|
+
type: 'category',
|
|
195
|
+
label: 'Strategy',
|
|
196
|
+
items: ['strategy/prd-001', 'strategy/okrs']
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
type: 'category',
|
|
200
|
+
label: 'Specs',
|
|
201
|
+
items: ['specs/spec-001-auth', 'specs/spec-002-payments']
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
type: 'category',
|
|
205
|
+
label: 'Architecture',
|
|
206
|
+
items: [
|
|
207
|
+
'architecture/hld-system',
|
|
208
|
+
{
|
|
209
|
+
type: 'category',
|
|
210
|
+
label: 'ADR',
|
|
211
|
+
items: ['architecture/adr/0001-database-choice']
|
|
212
|
+
}
|
|
213
|
+
]
|
|
214
|
+
}
|
|
215
|
+
]
|
|
216
|
+
}
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
## Configuration Options
|
|
220
|
+
|
|
221
|
+
### Port Selection
|
|
222
|
+
```json
|
|
223
|
+
{
|
|
224
|
+
"documentation": {
|
|
225
|
+
"preview": {
|
|
226
|
+
"port": 3015
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
**Why 3015?**
|
|
233
|
+
- Port 3000 = React/Next.js/Vite dev servers (conflict!)
|
|
234
|
+
- Port 3015 = Internal docs (SpecWeave default)
|
|
235
|
+
- Port 3016 = Reserved for public docs (future)
|
|
236
|
+
|
|
237
|
+
### Theme Selection
|
|
238
|
+
```json
|
|
239
|
+
{
|
|
240
|
+
"documentation": {
|
|
241
|
+
"preview": {
|
|
242
|
+
"theme": "default"
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
**Available themes:**
|
|
249
|
+
- `default` - SpecWeave blue theme
|
|
250
|
+
- `classic` - Docusaurus default theme
|
|
251
|
+
- `dark` - Dark mode theme
|
|
252
|
+
|
|
253
|
+
### Exclude Folders
|
|
254
|
+
```json
|
|
255
|
+
{
|
|
256
|
+
"documentation": {
|
|
257
|
+
"preview": {
|
|
258
|
+
"excludeFolders": ["legacy", "node_modules", "archive"]
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
## Troubleshooting
|
|
265
|
+
|
|
266
|
+
### Port already in use
|
|
267
|
+
```
|
|
268
|
+
Error: Port 3015 is already in use
|
|
269
|
+
Solution: Change port in config or stop other service
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
### Node.js version
|
|
273
|
+
```
|
|
274
|
+
Error: Node.js 18+ required
|
|
275
|
+
Solution: Update Node.js (nvm install 20)
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
### Mermaid diagrams not rendering
|
|
279
|
+
```
|
|
280
|
+
Issue: Diagrams show as code blocks
|
|
281
|
+
Solution: Use ```mermaid code fences (built-in support)
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
### Build fails
|
|
285
|
+
```
|
|
286
|
+
Error: Build failed
|
|
287
|
+
Check:
|
|
288
|
+
1. All markdown files have valid frontmatter
|
|
289
|
+
2. No broken internal links
|
|
290
|
+
3. Run preview first to catch errors early
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
## Best Practices
|
|
294
|
+
|
|
295
|
+
### 1. Use Preview During Development
|
|
296
|
+
- Start preview server: `/specweave-docs-preview:preview`
|
|
297
|
+
- Edit markdown files in `.specweave/docs/internal/`
|
|
298
|
+
- See changes instantly (hot reload)
|
|
299
|
+
- No need to rebuild
|
|
300
|
+
|
|
301
|
+
### 2. Build Before Deployment
|
|
302
|
+
- Always build before deploying
|
|
303
|
+
- Test build output locally: `npx serve build/`
|
|
304
|
+
- Check all pages render correctly
|
|
305
|
+
- Verify search works
|
|
306
|
+
|
|
307
|
+
### 3. Keep Docs Organized
|
|
308
|
+
- Follow SpecWeave folder structure
|
|
309
|
+
- Use meaningful file names
|
|
310
|
+
- Add frontmatter to markdown files:
|
|
311
|
+
```markdown
|
|
312
|
+
---
|
|
313
|
+
title: User Authentication
|
|
314
|
+
sidebar_position: 1
|
|
315
|
+
---
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
### 4. Optimize for Search
|
|
319
|
+
- Use descriptive headings
|
|
320
|
+
- Include keywords naturally
|
|
321
|
+
- Add alt text to images
|
|
322
|
+
- Keep URL structure clean
|
|
323
|
+
|
|
324
|
+
## Example: Complete Workflow
|
|
325
|
+
|
|
326
|
+
```bash
|
|
327
|
+
# 1. Preview docs locally
|
|
328
|
+
/specweave-docs-preview:preview
|
|
329
|
+
# → Opens http://localhost:3015
|
|
330
|
+
# → Edit files, see changes instantly
|
|
331
|
+
|
|
332
|
+
# 2. Build for production
|
|
333
|
+
/specweave-docs-preview:build
|
|
334
|
+
# → Outputs to .specweave/docs-site-internal/build/
|
|
335
|
+
|
|
336
|
+
# 3. Deploy (example with Netlify)
|
|
337
|
+
cd .specweave/docs-site-internal
|
|
338
|
+
npx netlify deploy --dir=build --prod
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
## Integration with SpecWeave
|
|
342
|
+
|
|
343
|
+
### Living Documentation Sync
|
|
344
|
+
Documentation preview integrates with SpecWeave's living docs:
|
|
345
|
+
|
|
346
|
+
1. **After increment completion:**
|
|
347
|
+
- `spec.md` synced to `.specweave/docs/internal/specs/`
|
|
348
|
+
- Preview updates automatically (hot reload)
|
|
349
|
+
|
|
350
|
+
2. **Architecture decisions:**
|
|
351
|
+
- ADRs created in `.specweave/docs/internal/architecture/adr/`
|
|
352
|
+
- Instantly visible in preview
|
|
353
|
+
|
|
354
|
+
3. **Multi-project support:**
|
|
355
|
+
- Each project gets its own docs folder
|
|
356
|
+
- Preview shows all projects in sidebar
|
|
357
|
+
|
|
358
|
+
## Commands Summary
|
|
359
|
+
|
|
360
|
+
| Command | Purpose | When to Use |
|
|
361
|
+
|---------|---------|-------------|
|
|
362
|
+
| `/specweave-docs-preview:preview` | Launch dev server | During development, hot reload |
|
|
363
|
+
| `/specweave-docs-preview:build` | Build static site | Before deployment, production |
|
|
364
|
+
|
|
365
|
+
## Technical Details
|
|
366
|
+
|
|
367
|
+
### Under the Hood
|
|
368
|
+
- **Framework:** Docusaurus 3.0
|
|
369
|
+
- **React version:** 18+
|
|
370
|
+
- **Build tool:** Webpack 5
|
|
371
|
+
- **Markdown:** MDX support
|
|
372
|
+
- **Diagrams:** Mermaid.js
|
|
373
|
+
- **Search:** Algolia DocSearch (optional)
|
|
374
|
+
|
|
375
|
+
### Performance
|
|
376
|
+
- **Install time:** ~30 seconds (first time only)
|
|
377
|
+
- **Build time:** ~5-10 seconds (small docs)
|
|
378
|
+
- **Hot reload:** <1 second
|
|
379
|
+
- **Static site:** Fully optimized, lighthouse 100
|
|
380
|
+
|
|
381
|
+
## See Also
|
|
382
|
+
|
|
383
|
+
- **specweave-docs** skill - General documentation workflows
|
|
384
|
+
- **spec-generator** skill - Generate living docs specs
|
|
385
|
+
- **sync-docs** skill - Sync docs after increments
|
|
386
|
+
- **Docusaurus docs:** https://docusaurus.io
|