specweave 0.30.18 → 0.30.19
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.md +22 -0
- package/dist/src/adapters/README.md +275 -0
- package/dist/src/adapters/adapter-base.d.ts +1 -1
- package/dist/src/adapters/adapter-base.js +3 -3
- package/dist/src/adapters/adapter-base.js.map +1 -1
- package/dist/src/adapters/adapter-loader.d.ts +11 -10
- package/dist/src/adapters/adapter-loader.d.ts.map +1 -1
- package/dist/src/adapters/adapter-loader.js +31 -21
- package/dist/src/adapters/adapter-loader.js.map +1 -1
- package/dist/src/adapters/claude/README.md +233 -0
- package/dist/src/adapters/codex/README.md +105 -0
- package/dist/src/adapters/cursor/.cursor/context/docs-context.md +62 -0
- package/dist/src/adapters/cursor/.cursor/context/increments-context.md +71 -0
- package/dist/src/adapters/cursor/.cursor/context/strategy-context.md +73 -0
- package/dist/src/adapters/cursor/.cursor/context/tests-context.md +89 -0
- package/dist/src/adapters/cursor/README.md +283 -0
- package/dist/src/adapters/cursor/adapter.d.ts +5 -1
- package/dist/src/adapters/cursor/adapter.d.ts.map +1 -1
- package/dist/src/adapters/cursor/adapter.js +18 -115
- package/dist/src/adapters/cursor/adapter.js.map +1 -1
- package/dist/src/adapters/gemini/README.md +97 -0
- package/dist/src/adapters/generic/README.md +277 -0
- package/dist/src/adapters/registry.yaml +197 -0
- package/dist/src/cli/helpers/init/living-docs-preflight.js +12 -12
- package/dist/src/cli/helpers/init/living-docs-preflight.js.map +1 -1
- package/dist/src/config/types.d.ts +1208 -203
- package/dist/src/config/types.d.ts.map +1 -1
- package/dist/src/core/llm/providers/bedrock-provider.d.ts.map +1 -1
- package/dist/src/core/llm/providers/bedrock-provider.js +2 -3
- package/dist/src/core/llm/providers/bedrock-provider.js.map +1 -1
- package/dist/src/importers/ado-importer.d.ts.map +1 -1
- package/dist/src/importers/ado-importer.js +2 -1
- package/dist/src/importers/ado-importer.js.map +1 -1
- package/dist/src/importers/github-importer.d.ts.map +1 -1
- package/dist/src/importers/github-importer.js +2 -1
- package/dist/src/importers/github-importer.js.map +1 -1
- package/dist/src/importers/jira-importer.d.ts.map +1 -1
- package/dist/src/importers/jira-importer.js +2 -1
- package/dist/src/importers/jira-importer.js.map +1 -1
- package/dist/src/init/architecture/types.d.ts +140 -33
- package/dist/src/init/architecture/types.d.ts.map +1 -1
- package/dist/src/init/compliance/types.d.ts +27 -30
- package/dist/src/init/compliance/types.d.ts.map +1 -1
- package/dist/src/init/repo/types.d.ts +34 -11
- package/dist/src/init/repo/types.d.ts.map +1 -1
- package/dist/src/init/research/src/config/types.d.ts +82 -15
- package/dist/src/init/research/src/config/types.d.ts.map +1 -1
- package/dist/src/init/research/types.d.ts +93 -38
- package/dist/src/init/research/types.d.ts.map +1 -1
- package/dist/src/init/team/types.d.ts +42 -4
- package/dist/src/init/team/types.d.ts.map +1 -1
- package/dist/src/utils/fs-native.d.ts +2 -1
- package/dist/src/utils/fs-native.d.ts.map +1 -1
- package/dist/src/utils/fs-native.js +6 -1
- package/dist/src/utils/fs-native.js.map +1 -1
- package/dist/src/utils/html-to-mdx.d.ts +37 -0
- package/dist/src/utils/html-to-mdx.d.ts.map +1 -0
- package/dist/src/utils/html-to-mdx.js +98 -0
- package/dist/src/utils/html-to-mdx.js.map +1 -0
- package/package.json +6 -2
- package/plugins/specweave/commands/specweave-judge.md +11 -0
- package/plugins/specweave/hooks/lib/update-status-line.sh +16 -4
- package/plugins/specweave/lib/vendor/utils/fs-native.d.ts +2 -1
- package/plugins/specweave/lib/vendor/utils/fs-native.js +6 -1
- package/plugins/specweave/lib/vendor/utils/fs-native.js.map +1 -1
- package/plugins/specweave-docs/commands/build.md +47 -73
- package/plugins/specweave-docs/commands/preview.md +181 -87
- package/plugins/specweave-docs/skills/preview/SKILL.md +45 -56
- package/plugins/specweave-github/hooks/.specweave/logs/hooks-debug.log +330 -0
- package/plugins/specweave-release/hooks/.specweave/logs/dora-tracking.log +495 -0
|
@@ -174,12 +174,24 @@ fi
|
|
|
174
174
|
TASKS_FILE="$INCREMENTS_DIR/$CURRENT_INCREMENT/tasks.md"
|
|
175
175
|
SPEC_FILE="$INCREMENTS_DIR/$CURRENT_INCREMENT/spec.md"
|
|
176
176
|
|
|
177
|
-
# Count tasks with single awk call
|
|
177
|
+
# Count tasks with single awk call (per-task completion tracking!)
|
|
178
|
+
# Bug fix: Each task counts as 0 or 1 completed, regardless of marker count
|
|
178
179
|
read -r TOTAL_TASKS COMPLETED_TASKS < <(
|
|
179
180
|
awk '
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
181
|
+
BEGIN { total=0; completed=0; in_task=0; task_complete=0 }
|
|
182
|
+
/^###? T-/ {
|
|
183
|
+
if (in_task && task_complete) completed++
|
|
184
|
+
total++
|
|
185
|
+
in_task=1
|
|
186
|
+
task_complete=0
|
|
187
|
+
}
|
|
188
|
+
/\*\*Completed\*\*:|\*\*Status\*\*:[ \t]*\[x\]|^\[x\]/ {
|
|
189
|
+
if (in_task) task_complete=1
|
|
190
|
+
}
|
|
191
|
+
END {
|
|
192
|
+
if (in_task && task_complete) completed++
|
|
193
|
+
print total, completed
|
|
194
|
+
}
|
|
183
195
|
' "$TASKS_FILE" 2>/dev/null || echo "0 0"
|
|
184
196
|
)
|
|
185
197
|
|
|
@@ -131,7 +131,7 @@ export declare function move(src: string, dest: string, options?: {
|
|
|
131
131
|
export declare function moveSync(src: string, dest: string, options?: {
|
|
132
132
|
overwrite?: boolean;
|
|
133
133
|
}): void;
|
|
134
|
-
export declare const readFile: typeof fsPromises.readFile, writeFile: typeof fsPromises.writeFile, appendFile: typeof fsPromises.appendFile, stat: typeof fsPromises.stat, readdir: typeof fsPromises.readdir, access: typeof fsPromises.access, unlink: typeof fsPromises.unlink, rmdir: typeof fsPromises.rmdir, rename: typeof fsPromises.rename, chmod: typeof fsPromises.chmod, copyFile: typeof fsPromises.copyFile, mkdtemp: typeof fsPromises.mkdtemp;
|
|
134
|
+
export declare const readFile: typeof fsPromises.readFile, writeFile: typeof fsPromises.writeFile, appendFile: typeof fsPromises.appendFile, stat: typeof fsPromises.stat, lstat: typeof fsPromises.lstat, readdir: typeof fsPromises.readdir, access: typeof fsPromises.access, unlink: typeof fsPromises.unlink, rmdir: typeof fsPromises.rmdir, rename: typeof fsPromises.rename, chmod: typeof fsPromises.chmod, copyFile: typeof fsPromises.copyFile, mkdtemp: typeof fsPromises.mkdtemp, mkdir: typeof fsPromises.mkdir, symlink: typeof fsPromises.symlink, readlink: typeof fsPromises.readlink;
|
|
135
135
|
export declare const renameSync: typeof fsRenameSync;
|
|
136
136
|
export declare const mkdtempSync: typeof fsMkdtempSync;
|
|
137
137
|
export { readFileSync, writeFileSync, statSync, readdirSync, unlinkSync, mkdirSync, rmSync, copyFileSync, };
|
|
@@ -156,6 +156,7 @@ declare const _default: {
|
|
|
156
156
|
rename: typeof fsPromises.rename;
|
|
157
157
|
copyFile: typeof fsPromises.copyFile;
|
|
158
158
|
mkdtemp: typeof fsPromises.mkdtemp;
|
|
159
|
+
mkdir: typeof fsPromises.mkdir;
|
|
159
160
|
ensureDirSync: typeof ensureDirSync;
|
|
160
161
|
mkdirpSync: typeof mkdirpSync;
|
|
161
162
|
existsSync: typeof existsSync;
|
|
@@ -267,7 +267,11 @@ export function moveSync(src, dest, options) {
|
|
|
267
267
|
}
|
|
268
268
|
}
|
|
269
269
|
// Re-export common fs/promises methods for convenience
|
|
270
|
-
export const { readFile, writeFile, appendFile, stat,
|
|
270
|
+
export const { readFile, writeFile, appendFile, stat, lstat, // Added for symlink detection
|
|
271
|
+
readdir, access, unlink, rmdir, rename, chmod, copyFile, mkdtemp, mkdir, // Added for test compatibility
|
|
272
|
+
symlink, // Added for creating symlinks
|
|
273
|
+
readlink, // Added for reading symlink targets
|
|
274
|
+
} = fsPromises;
|
|
271
275
|
// Create renameSync alias for fs-extra compatibility
|
|
272
276
|
export const renameSync = fsRenameSync;
|
|
273
277
|
// Create mkdtempSync alias
|
|
@@ -297,6 +301,7 @@ export default {
|
|
|
297
301
|
rename,
|
|
298
302
|
copyFile,
|
|
299
303
|
mkdtemp,
|
|
304
|
+
mkdir,
|
|
300
305
|
// Sync methods
|
|
301
306
|
ensureDirSync,
|
|
302
307
|
mkdirpSync,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs-native.js","sourceRoot":"","sources":["../../../src/utils/fs-native.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"fs-native.js","sourceRoot":"","sources":["../../../src/utils/fs-native.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,60 +1,55 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: specweave-docs:build
|
|
3
|
-
description: Build static documentation site for deployment.
|
|
3
|
+
description: Build static documentation site for deployment. Auto-setup on first run. Outputs production-ready HTML/CSS/JS.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Documentation Build Command
|
|
7
7
|
|
|
8
8
|
Build production-ready static documentation site for deployment to any static host.
|
|
9
9
|
|
|
10
|
-
##
|
|
10
|
+
## Your Task
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
**IMPORTANT**: This command must work in ANY SpecWeave user project, not just the SpecWeave repo itself.
|
|
13
|
+
|
|
14
|
+
### Step 1: Ensure Docusaurus is Set Up
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
First, ensure the cached Docusaurus installation exists:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
# Check if Docusaurus is set up
|
|
20
|
+
if [ ! -d ".specweave/cache/docs-site/node_modules" ]; then
|
|
21
|
+
echo "Setting up Docusaurus first..."
|
|
22
|
+
# Run the same setup as preview command (see preview.md for full setup)
|
|
23
|
+
# After setup, continue to build
|
|
24
|
+
fi
|
|
18
25
|
```
|
|
19
26
|
|
|
20
|
-
|
|
27
|
+
If not set up, follow the same setup steps as `/specweave-docs:preview` (Step 3 in preview.md).
|
|
21
28
|
|
|
22
|
-
|
|
23
|
-
|------|------------------|------------|
|
|
24
|
-
| **Internal** | `docs-site/build-internal/` | `docs:internal:build` |
|
|
25
|
-
| **Public** | `docs-site/build/` | `docs:build` |
|
|
29
|
+
### Step 2: Run Build
|
|
26
30
|
|
|
27
|
-
|
|
31
|
+
```bash
|
|
32
|
+
cd .specweave/cache/docs-site && npm run build
|
|
33
|
+
```
|
|
28
34
|
|
|
29
|
-
|
|
35
|
+
### Step 3: Report Output
|
|
30
36
|
|
|
31
37
|
```bash
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
npm run docs:build
|
|
42
|
-
echo ""
|
|
43
|
-
echo "Build complete! Output: docs-site/build/"
|
|
44
|
-
else
|
|
45
|
-
echo "Building INTERNAL documentation..."
|
|
46
|
-
echo "Output: docs-site/build-internal/"
|
|
47
|
-
echo ""
|
|
48
|
-
npm run docs:internal:build
|
|
49
|
-
echo ""
|
|
50
|
-
echo "Build complete! Output: docs-site/build-internal/"
|
|
51
|
-
fi
|
|
38
|
+
echo ""
|
|
39
|
+
echo "📦 Build Complete!"
|
|
40
|
+
echo ""
|
|
41
|
+
echo " Output: .specweave/cache/docs-site/build/"
|
|
42
|
+
echo ""
|
|
43
|
+
echo " Deploy with:"
|
|
44
|
+
echo " • npx serve .specweave/cache/docs-site/build/"
|
|
45
|
+
echo " • Copy to your static host"
|
|
46
|
+
echo ""
|
|
52
47
|
```
|
|
53
48
|
|
|
54
49
|
## Output Structure
|
|
55
50
|
|
|
56
51
|
```
|
|
57
|
-
docs-site/build
|
|
52
|
+
.specweave/cache/docs-site/build/
|
|
58
53
|
├── index.html <- Landing page
|
|
59
54
|
├── strategy/
|
|
60
55
|
├── specs/
|
|
@@ -74,41 +69,23 @@ docs-site/build-internal/
|
|
|
74
69
|
### 1. Preview Locally
|
|
75
70
|
|
|
76
71
|
```bash
|
|
77
|
-
|
|
78
|
-
cd docs-site && npm run serve:internal
|
|
79
|
-
|
|
80
|
-
# Public docs
|
|
81
|
-
cd docs-site && npm run serve
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
### 2. Netlify
|
|
85
|
-
|
|
86
|
-
```bash
|
|
87
|
-
cd docs-site
|
|
88
|
-
npx netlify deploy --dir=build-internal --prod
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
### 3. Vercel
|
|
92
|
-
|
|
93
|
-
```bash
|
|
94
|
-
cd docs-site
|
|
95
|
-
npx vercel --prod
|
|
72
|
+
npx serve .specweave/cache/docs-site/build/
|
|
96
73
|
```
|
|
97
74
|
|
|
98
|
-
###
|
|
75
|
+
### 2. Copy to Custom Location
|
|
99
76
|
|
|
100
77
|
```bash
|
|
101
|
-
# Copy build to docs folder
|
|
102
|
-
cp -r docs-site/build
|
|
78
|
+
# Copy build to docs folder for GitHub Pages
|
|
79
|
+
cp -r .specweave/cache/docs-site/build/* docs/
|
|
103
80
|
git add docs/
|
|
104
81
|
git commit -m "docs: update documentation site"
|
|
105
|
-
git push
|
|
106
82
|
```
|
|
107
83
|
|
|
108
|
-
###
|
|
84
|
+
### 3. Netlify/Vercel
|
|
109
85
|
|
|
110
86
|
```bash
|
|
111
|
-
|
|
87
|
+
# Point your deployment to:
|
|
88
|
+
.specweave/cache/docs-site/build/
|
|
112
89
|
```
|
|
113
90
|
|
|
114
91
|
## Build vs Preview
|
|
@@ -122,33 +99,30 @@ npx serve docs-site/build-internal/
|
|
|
122
99
|
| **Optimization** | No | Yes (minified) |
|
|
123
100
|
| **Use Case** | Writing docs | Deployment |
|
|
124
101
|
|
|
125
|
-
## First-Time Setup
|
|
126
|
-
|
|
127
|
-
If dependencies not installed:
|
|
128
|
-
|
|
129
|
-
```bash
|
|
130
|
-
npm run docs:install
|
|
131
|
-
```
|
|
132
|
-
|
|
133
102
|
## Troubleshooting
|
|
134
103
|
|
|
135
104
|
### Build fails with broken links
|
|
136
105
|
```bash
|
|
137
106
|
# Preview first to find errors
|
|
138
|
-
|
|
107
|
+
/specweave-docs:preview
|
|
139
108
|
# Fix broken links, then build
|
|
140
|
-
|
|
109
|
+
/specweave-docs:build
|
|
141
110
|
```
|
|
142
111
|
|
|
143
112
|
### Out of memory
|
|
144
113
|
```bash
|
|
145
|
-
|
|
146
|
-
NODE_OPTIONS="--max-old-space-size=4096" npm run docs:internal:build
|
|
114
|
+
NODE_OPTIONS="--max-old-space-size=4096" npm run build
|
|
147
115
|
```
|
|
148
116
|
|
|
149
117
|
### Cache issues
|
|
150
118
|
```bash
|
|
151
|
-
cd docs-site && npm run clear && npm run build
|
|
119
|
+
cd .specweave/cache/docs-site && npm run clear && npm run build
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### Reinstall from scratch
|
|
123
|
+
```bash
|
|
124
|
+
rm -rf .specweave/cache/docs-site
|
|
125
|
+
/specweave-docs:build
|
|
152
126
|
```
|
|
153
127
|
|
|
154
128
|
## See Also
|
|
@@ -1,135 +1,229 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: specweave-docs:preview
|
|
3
|
-
description: Launch Docusaurus documentation server
|
|
3
|
+
description: Launch Docusaurus documentation server for internal living docs. Auto-setup on first run. Port 3015.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Documentation Preview Command
|
|
7
7
|
|
|
8
8
|
Launch Docusaurus development server with hot reload, Mermaid diagrams, and auto-generated sidebar.
|
|
9
9
|
|
|
10
|
-
##
|
|
11
|
-
|
|
12
|
-
```bash
|
|
13
|
-
# Preview INTERNAL docs (SpecWeave living documentation) - DEFAULT
|
|
14
|
-
/specweave-docs:preview
|
|
10
|
+
## Your Task
|
|
15
11
|
|
|
16
|
-
|
|
17
|
-
/specweave-docs:preview --public
|
|
18
|
-
```
|
|
12
|
+
**IMPORTANT**: This command must work in ANY SpecWeave user project, not just the SpecWeave repo itself.
|
|
19
13
|
|
|
20
|
-
|
|
14
|
+
### Step 1: Check Prerequisites
|
|
21
15
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
| **Public** | 3016 | `docs-site/docs/` | `docs:dev` |
|
|
16
|
+
```bash
|
|
17
|
+
# Verify internal docs exist
|
|
18
|
+
ls -la .specweave/docs/internal/
|
|
26
19
|
|
|
27
|
-
|
|
20
|
+
# If missing, inform user:
|
|
21
|
+
# "No internal documentation found at .specweave/docs/internal/.
|
|
22
|
+
# Run 'specweave init' first or create the folder structure."
|
|
23
|
+
```
|
|
28
24
|
|
|
29
|
-
|
|
25
|
+
### Step 2: Check for Cached Installation
|
|
30
26
|
|
|
31
27
|
```bash
|
|
32
|
-
# Check if
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
if [ "$PUBLIC_FLAG" = "--public" ]; then
|
|
38
|
-
echo "Launching PUBLIC documentation on port 3016..."
|
|
39
|
-
echo "Content: docs-site/docs/"
|
|
40
|
-
echo ""
|
|
41
|
-
npm run docs:dev
|
|
28
|
+
# Check if Docusaurus is already set up in cache
|
|
29
|
+
if [ -d ".specweave/cache/docs-site/node_modules" ]; then
|
|
30
|
+
echo "✓ Docusaurus installation found in cache"
|
|
31
|
+
NEEDS_INSTALL=false
|
|
42
32
|
else
|
|
43
|
-
echo "
|
|
44
|
-
|
|
45
|
-
echo ""
|
|
46
|
-
npm run docs:internal
|
|
33
|
+
echo "⚙ First-time setup: Installing Docusaurus (~30 seconds)..."
|
|
34
|
+
NEEDS_INSTALL=true
|
|
47
35
|
fi
|
|
48
36
|
```
|
|
49
37
|
|
|
50
|
-
###
|
|
38
|
+
### Step 3: First-Time Setup (if needed)
|
|
51
39
|
|
|
52
|
-
If
|
|
40
|
+
If `NEEDS_INSTALL=true`, create the cached Docusaurus installation:
|
|
53
41
|
|
|
54
42
|
```bash
|
|
55
|
-
#
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
#
|
|
59
|
-
|
|
43
|
+
# Create cache directory
|
|
44
|
+
mkdir -p .specweave/cache/docs-site
|
|
45
|
+
|
|
46
|
+
# Create package.json
|
|
47
|
+
cat > .specweave/cache/docs-site/package.json << 'EOF'
|
|
48
|
+
{
|
|
49
|
+
"name": "specweave-docs-preview",
|
|
50
|
+
"version": "1.0.0",
|
|
51
|
+
"private": true,
|
|
52
|
+
"scripts": {
|
|
53
|
+
"start": "docusaurus start --port 3015",
|
|
54
|
+
"build": "docusaurus build",
|
|
55
|
+
"clear": "docusaurus clear"
|
|
56
|
+
},
|
|
57
|
+
"dependencies": {
|
|
58
|
+
"@docusaurus/core": "^3.9.2",
|
|
59
|
+
"@docusaurus/preset-classic": "^3.9.2",
|
|
60
|
+
"@docusaurus/theme-mermaid": "^3.9.2",
|
|
61
|
+
"@mdx-js/react": "^3.0.0",
|
|
62
|
+
"clsx": "^2.0.0",
|
|
63
|
+
"prism-react-renderer": "^2.3.0",
|
|
64
|
+
"react": "^19.0.0",
|
|
65
|
+
"react-dom": "^19.0.0"
|
|
66
|
+
},
|
|
67
|
+
"engines": {
|
|
68
|
+
"node": ">=20.0"
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
EOF
|
|
72
|
+
|
|
73
|
+
# Create Docusaurus config pointing to internal docs
|
|
74
|
+
cat > .specweave/cache/docs-site/docusaurus.config.ts << 'EOF'
|
|
75
|
+
import {themes as prismThemes} from 'prism-react-renderer';
|
|
76
|
+
import type {Config} from '@docusaurus/types';
|
|
77
|
+
import type * as Preset from '@docusaurus/preset-classic';
|
|
78
|
+
|
|
79
|
+
const config: Config = {
|
|
80
|
+
title: 'Internal Documentation',
|
|
81
|
+
tagline: 'SpecWeave Living Documentation',
|
|
82
|
+
favicon: 'img/favicon.ico',
|
|
83
|
+
future: { v4: true },
|
|
84
|
+
url: 'http://localhost:3015',
|
|
85
|
+
baseUrl: '/',
|
|
86
|
+
onBrokenLinks: 'warn',
|
|
87
|
+
onBrokenMarkdownLinks: 'warn',
|
|
88
|
+
i18n: { defaultLocale: 'en', locales: ['en'] },
|
|
89
|
+
markdown: { mermaid: true, format: 'md' },
|
|
90
|
+
themes: ['@docusaurus/theme-mermaid'],
|
|
91
|
+
presets: [
|
|
92
|
+
[
|
|
93
|
+
'classic',
|
|
94
|
+
{
|
|
95
|
+
docs: {
|
|
96
|
+
// Path relative to this config file → ../../docs/internal/
|
|
97
|
+
path: '../../docs/internal',
|
|
98
|
+
routeBasePath: '/',
|
|
99
|
+
sidebarPath: './sidebars.ts',
|
|
100
|
+
showLastUpdateTime: true,
|
|
101
|
+
sidebarCollapsible: true,
|
|
102
|
+
sidebarCollapsed: true,
|
|
103
|
+
},
|
|
104
|
+
blog: false,
|
|
105
|
+
theme: { customCss: './src/css/custom.css' },
|
|
106
|
+
} satisfies Preset.Options,
|
|
107
|
+
],
|
|
108
|
+
],
|
|
109
|
+
themeConfig: {
|
|
110
|
+
colorMode: {
|
|
111
|
+
defaultMode: 'dark',
|
|
112
|
+
disableSwitch: false,
|
|
113
|
+
respectPrefersColorScheme: true,
|
|
114
|
+
},
|
|
115
|
+
navbar: {
|
|
116
|
+
title: 'Internal Docs',
|
|
117
|
+
items: [
|
|
118
|
+
{to: '/', label: 'Home', position: 'left'},
|
|
119
|
+
{type: 'search', position: 'right'},
|
|
120
|
+
],
|
|
121
|
+
},
|
|
122
|
+
footer: {
|
|
123
|
+
style: 'dark',
|
|
124
|
+
copyright: `SpecWeave Living Documentation`,
|
|
125
|
+
},
|
|
126
|
+
prism: {
|
|
127
|
+
theme: prismThemes.github,
|
|
128
|
+
darkTheme: prismThemes.dracula,
|
|
129
|
+
additionalLanguages: ['bash', 'typescript', 'yaml', 'json'],
|
|
130
|
+
},
|
|
131
|
+
mermaid: { theme: {light: 'neutral', dark: 'dark'} },
|
|
132
|
+
} satisfies Preset.ThemeConfig,
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
export default config;
|
|
136
|
+
EOF
|
|
137
|
+
|
|
138
|
+
# Create auto-generated sidebar
|
|
139
|
+
cat > .specweave/cache/docs-site/sidebars.ts << 'EOF'
|
|
140
|
+
import type {SidebarsConfig} from '@docusaurus/plugin-content-docs';
|
|
141
|
+
|
|
142
|
+
const sidebars: SidebarsConfig = {
|
|
143
|
+
docs: [
|
|
144
|
+
{
|
|
145
|
+
type: 'autogenerated',
|
|
146
|
+
dirName: '.',
|
|
147
|
+
},
|
|
148
|
+
],
|
|
149
|
+
};
|
|
150
|
+
|
|
151
|
+
export default sidebars;
|
|
152
|
+
EOF
|
|
153
|
+
|
|
154
|
+
# Create minimal CSS
|
|
155
|
+
mkdir -p .specweave/cache/docs-site/src/css
|
|
156
|
+
cat > .specweave/cache/docs-site/src/css/custom.css << 'EOF'
|
|
157
|
+
:root {
|
|
158
|
+
--ifm-color-primary: #2563eb;
|
|
159
|
+
--ifm-code-font-size: 95%;
|
|
160
|
+
}
|
|
161
|
+
[data-theme='dark'] {
|
|
162
|
+
--ifm-color-primary: #60a5fa;
|
|
163
|
+
}
|
|
164
|
+
EOF
|
|
165
|
+
|
|
166
|
+
# Create static folder with placeholder favicon
|
|
167
|
+
mkdir -p .specweave/cache/docs-site/static/img
|
|
168
|
+
echo '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><text y=".9em" font-size="90">📚</text></svg>' > .specweave/cache/docs-site/static/img/favicon.ico
|
|
169
|
+
|
|
170
|
+
# Install dependencies using PUBLIC npm registry (avoids Azure DevOps/private registry issues)
|
|
171
|
+
cd .specweave/cache/docs-site && npm install --registry=https://registry.npmjs.org --legacy-peer-deps
|
|
60
172
|
```
|
|
61
173
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
- **Hot reload** - Edit markdown, see changes instantly
|
|
65
|
-
- **Auto sidebar** - Generated from folder structure
|
|
66
|
-
- **Mermaid diagrams** - Architecture diagrams render beautifully
|
|
67
|
-
- **Dark/light mode** - Toggle in navbar
|
|
68
|
-
- **Local search** - Instant search across all docs
|
|
69
|
-
- **Mobile responsive** - Works on any device
|
|
70
|
-
|
|
71
|
-
## First-Time Setup
|
|
72
|
-
|
|
73
|
-
If `docs-site/node_modules` doesn't exist:
|
|
174
|
+
### Step 4: Start the Server
|
|
74
175
|
|
|
75
176
|
```bash
|
|
76
|
-
npm
|
|
177
|
+
cd .specweave/cache/docs-site && npm start
|
|
77
178
|
```
|
|
78
179
|
|
|
79
|
-
This
|
|
80
|
-
|
|
81
|
-
|
|
180
|
+
This will:
|
|
181
|
+
- Start Docusaurus on **http://localhost:3015**
|
|
182
|
+
- Enable hot reload (edit markdown, see changes instantly)
|
|
183
|
+
- Render Mermaid diagrams
|
|
184
|
+
- Auto-generate sidebar from folder structure
|
|
82
185
|
|
|
83
|
-
|
|
84
|
-
|--------|------|-----|
|
|
85
|
-
| `docs:dev` | 3016 | http://localhost:3016 |
|
|
86
|
-
| `docs:internal` | 3015 | http://localhost:3015 |
|
|
186
|
+
### Output to User
|
|
87
187
|
|
|
88
|
-
|
|
188
|
+
After starting, display:
|
|
89
189
|
|
|
90
190
|
```
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
191
|
+
📚 Documentation Preview Server Started!
|
|
192
|
+
|
|
193
|
+
URL: http://localhost:3015
|
|
194
|
+
Content: .specweave/docs/internal/
|
|
195
|
+
|
|
196
|
+
Features:
|
|
197
|
+
• Hot reload - edit markdown, see changes instantly
|
|
198
|
+
• Mermaid diagrams - architecture diagrams render beautifully
|
|
199
|
+
• Auto sidebar - generated from folder structure
|
|
200
|
+
• Dark/light mode - toggle in navbar
|
|
201
|
+
|
|
202
|
+
Press Ctrl+C to stop the server.
|
|
102
203
|
```
|
|
103
204
|
|
|
104
|
-
##
|
|
205
|
+
## What You Get
|
|
105
206
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
| `sidebars.internal.ts` | Internal docs sidebar |
|
|
207
|
+
- **Hot reload** - Edit markdown, see changes instantly
|
|
208
|
+
- **Auto sidebar** - Generated from folder structure
|
|
209
|
+
- **Mermaid diagrams** - Architecture diagrams render beautifully
|
|
210
|
+
- **Dark/light mode** - Toggle in navbar
|
|
211
|
+
- **Local search** - Instant search across all docs
|
|
112
212
|
|
|
113
213
|
## Troubleshooting
|
|
114
214
|
|
|
115
215
|
### Port already in use
|
|
116
216
|
```bash
|
|
117
|
-
|
|
118
|
-
lsof -i :3015
|
|
119
|
-
|
|
120
|
-
# Kill it
|
|
121
|
-
kill -9 <PID>
|
|
217
|
+
lsof -i :3015 && kill -9 $(lsof -t -i :3015)
|
|
122
218
|
```
|
|
123
219
|
|
|
124
|
-
###
|
|
220
|
+
### Reinstall from scratch
|
|
125
221
|
```bash
|
|
126
|
-
|
|
222
|
+
rm -rf .specweave/cache/docs-site && /specweave-docs:preview
|
|
127
223
|
```
|
|
128
224
|
|
|
129
|
-
###
|
|
130
|
-
|
|
131
|
-
cd docs-site && npm run clear && npm run start:internal
|
|
132
|
-
```
|
|
225
|
+
### npm registry issues
|
|
226
|
+
The setup uses `--registry=https://registry.npmjs.org` to bypass private registry configurations.
|
|
133
227
|
|
|
134
228
|
## See Also
|
|
135
229
|
|