specweave 1.0.262 → 1.0.264

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.
Files changed (40) hide show
  1. package/CLAUDE.md +31 -27
  2. package/dist/src/cli/commands/docs.js +4 -4
  3. package/dist/src/cli/commands/docs.js.map +1 -1
  4. package/dist/src/dashboard/server/dashboard-server.d.ts.map +1 -1
  5. package/dist/src/dashboard/server/dashboard-server.js +2 -1
  6. package/dist/src/dashboard/server/dashboard-server.js.map +1 -1
  7. package/dist/src/dashboard/server/data/dashboard-data-aggregator.d.ts +9 -1
  8. package/dist/src/dashboard/server/data/dashboard-data-aggregator.d.ts.map +1 -1
  9. package/dist/src/dashboard/server/data/dashboard-data-aggregator.js +140 -13
  10. package/dist/src/dashboard/server/data/dashboard-data-aggregator.js.map +1 -1
  11. package/dist/src/dashboard/server/data/plugin-scanner.d.ts +1 -1
  12. package/dist/src/dashboard/server/data/plugin-scanner.d.ts.map +1 -1
  13. package/dist/src/dashboard/server/data/plugin-scanner.js +2 -2
  14. package/dist/src/dashboard/server/data/plugin-scanner.js.map +1 -1
  15. package/dist/src/utils/docs-preview/config-generator.d.ts +14 -6
  16. package/dist/src/utils/docs-preview/config-generator.d.ts.map +1 -1
  17. package/dist/src/utils/docs-preview/config-generator.js +504 -126
  18. package/dist/src/utils/docs-preview/config-generator.js.map +1 -1
  19. package/dist/src/utils/docs-preview/docusaurus-setup.d.ts +1 -1
  20. package/dist/src/utils/docs-preview/docusaurus-setup.d.ts.map +1 -1
  21. package/dist/src/utils/docs-preview/docusaurus-setup.js +92 -48
  22. package/dist/src/utils/docs-preview/docusaurus-setup.js.map +1 -1
  23. package/dist/src/utils/docs-preview/index.d.ts +2 -1
  24. package/dist/src/utils/docs-preview/index.d.ts.map +1 -1
  25. package/dist/src/utils/docs-preview/index.js +2 -1
  26. package/dist/src/utils/docs-preview/index.js.map +1 -1
  27. package/dist/src/utils/docs-preview/project-detector.d.ts +16 -0
  28. package/dist/src/utils/docs-preview/project-detector.d.ts.map +1 -0
  29. package/dist/src/utils/docs-preview/project-detector.js +215 -0
  30. package/dist/src/utils/docs-preview/project-detector.js.map +1 -0
  31. package/dist/src/utils/docs-preview/types.d.ts +26 -0
  32. package/dist/src/utils/docs-preview/types.d.ts.map +1 -1
  33. package/package.json +1 -1
  34. package/plugins/specweave/hooks/hooks.json +9 -0
  35. package/plugins/specweave/hooks/v2/dispatchers/post-tool-use-analytics.sh +83 -0
  36. package/plugins/specweave/scripts/progress.js +148 -50
  37. package/plugins/specweave/scripts/read-progress.sh +128 -52
  38. package/plugins/specweave/scripts/rebuild-dashboard-cache.sh +23 -17
  39. package/plugins/specweave/scripts/track-analytics.sh +4 -0
  40. package/plugins/specweave/skills/progress/SKILL.md +7 -21
@@ -1 +1 @@
1
- {"version":3,"file":"config-generator.js","sourceRoot":"","sources":["../../../../src/utils/docs-preview/config-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-generator.js","sourceRoot":"","sources":["../../../../src/utils/docs-preview/config-generator.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ import { SetupOptions, ServerProcess } from './types.js';
8
8
  */
9
9
  export declare function setupDocusaurus(options: SetupOptions): Promise<void>;
10
10
  /**
11
- * Quick setup with defaults
11
+ * Quick setup with defaults — detects project metadata automatically
12
12
  */
13
13
  export declare function quickSetup(projectRoot: string): Promise<void>;
14
14
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"docusaurus-setup.d.ts","sourceRoot":"","sources":["../../../../src/utils/docs-preview/docusaurus-setup.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,EAAE,YAAY,EAAoB,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3E;;GAEG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA2F1E;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BnE;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GACtE,OAAO,CAAC,aAAa,CAAC,CAwBxB;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAqCxE;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGzE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEvD"}
1
+ {"version":3,"file":"docusaurus-setup.d.ts","sourceRoot":"","sources":["../../../../src/utils/docs-preview/docusaurus-setup.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH,OAAO,EAAE,YAAY,EAAoB,aAAa,EAAE,MAAM,YAAY,CAAC;AAS3E;;GAEG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA2G1E;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkCnE;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GACtE,OAAO,CAAC,aAAa,CAAC,CA8CxB;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAqCxE;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGzE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEvD"}
@@ -6,14 +6,20 @@ import * as path from 'path';
6
6
  import * as fs from '../../utils/fs-native.js';
7
7
  import { checkNodeVersion, installDocusaurus, isDocusaurusInstalled } from './package-installer.js';
8
8
  import { buildSidebar, countDocuments, countCategories } from './sidebar-builder.js';
9
- import { writeDocusaurusConfig, writePackageJSON, writeCustomCSS, writeIndexPage, writeIndexModuleCSS } from './config-generator.js';
9
+ import { writeDocusaurusConfig, writePackageJSON, writeCustomCSS, writeIndexPage, writeIndexModuleCSS, generateLogoSVG, generateFaviconSVG } from './config-generator.js';
10
10
  import { startDevServer, findAvailablePort } from './server-manager.js';
11
+ import { detectProjectMetadata } from './project-detector.js';
12
+ /** Default port range — avoids 3000 which is commonly used by dev servers */
13
+ const DEFAULT_PORT_START = 3016;
14
+ const DEFAULT_PORT_END = 3030;
15
+ /** Primary theme color used for logo/favicon generation */
16
+ const PRIMARY_COLOR = '#4f46e5';
11
17
  /**
12
18
  * Full Docusaurus setup workflow
13
19
  */
14
20
  export async function setupDocusaurus(options) {
15
21
  const { projectRoot, targetDir, docsPath, config, force = false } = options;
16
- console.log('📦 Setting up Docusaurus documentation preview...\n');
22
+ console.log('\u{1F4E6} Setting up documentation preview...\n');
17
23
  // Step 1: Check Node.js version
18
24
  console.log('1. Checking Node.js version...');
19
25
  const nodeVersion = await checkNodeVersion();
@@ -21,29 +27,31 @@ export async function setupDocusaurus(options) {
21
27
  throw new Error(`Node.js 18+ required (found: ${nodeVersion.version})\n` +
22
28
  'Install Node.js from: https://nodejs.org/');
23
29
  }
24
- console.log(` Node.js ${nodeVersion.version}\n`);
25
- // Step 2: Check if already installed
26
- if (!force && await isDocusaurusInstalled(targetDir)) {
27
- console.log('✅ Docusaurus already installed (use --force to reinstall)\n');
28
- return;
30
+ console.log(` \u2705 Node.js ${nodeVersion.version}\n`);
31
+ // Step 2: Check if packages already installed (skip npm install if so)
32
+ const packagesInstalled = await isDocusaurusInstalled(targetDir);
33
+ if (!force && packagesInstalled) {
34
+ console.log('\u2705 Packages already installed\n');
29
35
  }
30
- // Step 3: Create target directory
31
- console.log('2. Creating docs-site directory...');
32
- await fs.ensureDir(targetDir);
33
- console.log(' ✅ Directory created\n');
34
- // Step 4: Generate package.json
35
- console.log('3. Generating package.json...');
36
- await writePackageJSON(targetDir, config.title);
37
- console.log(' ✅ package.json created\n');
38
- // Step 5: Install Docusaurus packages
39
- console.log('4. Installing packages (this may take 30-60 seconds)...');
40
- await installDocusaurus(targetDir);
41
- console.log(' ✅ Installation complete\n');
42
- // Step 6: Generate docusaurus.config.js
36
+ else {
37
+ // Step 3: Create target directory
38
+ console.log('2. Creating docs-site directory...');
39
+ await fs.ensureDir(targetDir);
40
+ console.log(' \u2705 Directory created\n');
41
+ // Step 4: Generate package.json
42
+ console.log('3. Generating package.json...');
43
+ await writePackageJSON(targetDir, config.title);
44
+ console.log(' \u2705 package.json created\n');
45
+ // Step 5: Install Docusaurus packages
46
+ console.log('4. Installing packages (this may take 30-60 seconds)...');
47
+ await installDocusaurus(targetDir);
48
+ console.log(' \u2705 Installation complete\n');
49
+ }
50
+ // Always regenerate config files (picks up project metadata changes)
43
51
  console.log('5. Generating docusaurus.config.js...');
44
52
  await writeDocusaurusConfig(targetDir, config);
45
- console.log(' Configuration generated\n');
46
- // Step 7: Count docs for info display (but use autogenerated sidebar)
53
+ console.log(' \u2705 Configuration generated\n');
54
+ // Step 7: Count docs for info display
47
55
  console.log('6. Scanning documentation folders...');
48
56
  const sidebar = await buildSidebar({
49
57
  docsPath,
@@ -52,13 +60,12 @@ export async function setupDocusaurus(options) {
52
60
  });
53
61
  const docCount = countDocuments(sidebar);
54
62
  const catCount = countCategories(sidebar);
55
- console.log(` Found ${docCount} documents in ${catCount} categories\n`);
56
- // Step 8: Write autogenerated sidebar (Docusaurus handles all edge cases)
63
+ console.log(` \u2705 Found ${docCount} documents in ${catCount} categories\n`);
64
+ // Step 8: Write autogenerated sidebar
57
65
  console.log('7. Generating sidebars.js...');
58
66
  const sidebarPath = path.join(targetDir, 'sidebars.js');
59
- // Use Docusaurus autogenerated sidebar - much more reliable for large doc sets
60
67
  const autogeneratedSidebar = `/**
61
- * Auto-generated sidebar for SpecWeave documentation
68
+ * Auto-generated sidebar for documentation
62
69
  * Generated: ${new Date().toISOString()}
63
70
  * Uses Docusaurus autogenerated sidebar for reliability with large doc sets
64
71
  */
@@ -76,20 +83,33 @@ const sidebars = {
76
83
  module.exports = sidebars;
77
84
  `;
78
85
  await fs.writeFile(sidebarPath, autogeneratedSidebar, 'utf-8');
79
- console.log(' Sidebar generated\n');
86
+ console.log(' \u2705 Sidebar generated\n');
80
87
  // Step 9: Create landing page
81
88
  console.log('8. Creating landing page...');
82
- await writeIndexPage(targetDir, config.title, config.tagline);
89
+ const categories = config.projectMetadata?.categories || [];
90
+ await writeIndexPage(targetDir, config.title, config.tagline, categories);
83
91
  await writeIndexModuleCSS(targetDir);
84
- console.log(' Landing page created\n');
92
+ console.log(' \u2705 Landing page created\n');
85
93
  // Step 10: Create custom CSS
86
94
  console.log('9. Creating custom theme...');
87
95
  await writeCustomCSS(targetDir, config.theme || 'default');
88
- console.log(' Theme configured\n');
89
- console.log('✅ Setup complete!\n');
96
+ console.log(' \u2705 Theme configured\n');
97
+ // Step 11: Generate static assets (logo + favicon)
98
+ console.log('10. Generating project assets...');
99
+ const staticImgDir = path.join(targetDir, 'static', 'img');
100
+ await fs.ensureDir(staticImgDir);
101
+ const metadata = config.projectMetadata;
102
+ if (metadata) {
103
+ const logoSvg = generateLogoSVG(metadata.initials, PRIMARY_COLOR);
104
+ await fs.writeFile(path.join(staticImgDir, 'logo.svg'), logoSvg, 'utf-8');
105
+ const faviconSvg = generateFaviconSVG(metadata.initials, PRIMARY_COLOR);
106
+ await fs.writeFile(path.join(staticImgDir, 'favicon.svg'), faviconSvg, 'utf-8');
107
+ }
108
+ console.log(' \u2705 Assets generated\n');
109
+ console.log('\u2705 Setup complete!\n');
90
110
  }
91
111
  /**
92
- * Quick setup with defaults
112
+ * Quick setup with defaults — detects project metadata automatically
93
113
  */
94
114
  export async function quickSetup(projectRoot) {
95
115
  const targetDir = path.join(projectRoot, '.specweave', 'docs-site-internal');
@@ -100,15 +120,18 @@ export async function quickSetup(projectRoot) {
100
120
  'Create documentation by completing your first increment:\n' +
101
121
  ' /sw:increment "your feature"');
102
122
  }
123
+ // Detect project metadata
124
+ const metadata = await detectProjectMetadata(projectRoot, docsPath);
103
125
  const config = {
104
- title: 'SpecWeave Documentation',
105
- tagline: 'Spec-Driven Development Framework',
126
+ title: `${metadata.name} Documentation`,
127
+ tagline: metadata.description,
106
128
  url: 'http://localhost',
107
129
  baseUrl: '/',
108
130
  docsPath: '../docs/internal',
109
- port: 3000,
131
+ port: DEFAULT_PORT_START,
110
132
  theme: 'default',
111
- excludeFolders: ['legacy', 'node_modules']
133
+ excludeFolders: ['legacy', 'node_modules'],
134
+ projectMetadata: metadata
112
135
  };
113
136
  await setupDocusaurus({
114
137
  projectRoot,
@@ -122,22 +145,43 @@ export async function quickSetup(projectRoot) {
122
145
  */
123
146
  export async function launchPreview(projectRoot, options = {}) {
124
147
  const targetDir = path.join(projectRoot, '.specweave', 'docs-site-internal');
125
- const docsPath = path.join(projectRoot, '.specweave', 'docs', 'internal');
126
- // Setup if not installed or force flag
127
- if (options.force || !await isDocusaurusInstalled(targetDir)) {
128
- await quickSetup(projectRoot);
148
+ // Always run quickSetup to regenerate configs with fresh metadata
149
+ // (packages are only installed once unless --force)
150
+ await quickSetup(projectRoot);
151
+ // Force reinstall packages if explicitly requested
152
+ if (options.force) {
153
+ const docsPath = path.join(projectRoot, '.specweave', 'docs', 'internal');
154
+ const metadata = await detectProjectMetadata(projectRoot, docsPath);
155
+ const config = {
156
+ title: `${metadata.name} Documentation`,
157
+ tagline: metadata.description,
158
+ url: 'http://localhost',
159
+ baseUrl: '/',
160
+ docsPath: '../docs/internal',
161
+ port: DEFAULT_PORT_START,
162
+ theme: 'default',
163
+ excludeFolders: ['legacy', 'node_modules'],
164
+ projectMetadata: metadata
165
+ };
166
+ await setupDocusaurus({
167
+ projectRoot,
168
+ targetDir,
169
+ docsPath: path.join(projectRoot, '.specweave', 'docs', 'internal'),
170
+ config,
171
+ force: true
172
+ });
129
173
  }
130
- // Find available port
131
- const port = options.port || await findAvailablePort(3000, 3010);
174
+ // Find available port (avoids 3000)
175
+ const port = options.port || await findAvailablePort(DEFAULT_PORT_START, DEFAULT_PORT_END);
132
176
  console.log(`Starting server on port ${port}...`);
133
177
  // Start dev server
134
178
  const server = await startDevServer(targetDir, {
135
179
  port,
136
180
  openBrowser: options.openBrowser !== false
137
181
  });
138
- console.log(`\n🌐 Documentation available at: ${server.url}`);
139
- console.log('🔄 Hot reload enabled - edit docs and see changes instantly');
140
- console.log('💡 Press Ctrl+C to stop the server\n');
182
+ console.log(`\n\u{1F310} Documentation available at: ${server.url}`);
183
+ console.log('\u{1F504} Hot reload enabled - edit docs and see changes instantly');
184
+ console.log('\u{1F4A1} Press Ctrl+C to stop the server\n');
141
185
  return server;
142
186
  }
143
187
  /**
@@ -150,7 +194,7 @@ export async function buildStaticSite(projectRoot) {
150
194
  throw new Error('Docusaurus not installed.\n' +
151
195
  'Run: /sw:docs preview (this will install it)');
152
196
  }
153
- console.log('📦 Building static documentation site...\n');
197
+ console.log('\u{1F4E6} Building static documentation site...\n');
154
198
  const { spawn } = await import('child_process');
155
199
  return new Promise((resolve, reject) => {
156
200
  const buildProcess = spawn('npm', ['run', 'build'], {
@@ -161,8 +205,8 @@ export async function buildStaticSite(projectRoot) {
161
205
  buildProcess.on('close', (code) => {
162
206
  if (code === 0) {
163
207
  const buildPath = path.join(targetDir, 'build');
164
- console.log('\n Build complete!');
165
- console.log(`📁 Output: ${buildPath}\n`);
208
+ console.log('\n\u2705 Build complete!');
209
+ console.log(`\u{1F4C1} Output: ${buildPath}\n`);
166
210
  resolve();
167
211
  }
168
212
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"docusaurus-setup.js","sourceRoot":"","sources":["../../../../src/utils/docs-preview/docusaurus-setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docusaurus-setup.js","sourceRoot":"","sources":["../../../../src/utils/docs-preview/docusaurus-setup.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  export { setupDocusaurus, quickSetup, launchPreview, buildStaticSite, isSetupNeeded, getDocsSitePath, getDocsPath } from './docusaurus-setup.js';
2
2
  export { buildSidebar, writeSidebar, generateSidebarsJS, countDocuments, countCategories } from './sidebar-builder.js';
3
- export { generateDocusaurusConfig, writeDocusaurusConfig, generatePackageJSON, writePackageJSON, generateCustomCSS, writeCustomCSS, generateIndexPage, writeIndexPage, generateIndexModuleCSS, writeIndexModuleCSS } from './config-generator.js';
3
+ export { generateDocusaurusConfig, writeDocusaurusConfig, generatePackageJSON, writePackageJSON, generateCustomCSS, writeCustomCSS, generateIndexPage, writeIndexPage, generateIndexModuleCSS, writeIndexModuleCSS, generateLogoSVG, generateFaviconSVG } from './config-generator.js';
4
+ export { detectProjectMetadata, detectDocCategories } from './project-detector.js';
4
5
  export { checkNodeVersion, checkNpmInstalled, installPackages, installDocusaurus, isDocusaurusInstalled, cleanNpmCache, getPackageVersion, estimateInstallSize, estimateInstallTime } from './package-installer.js';
5
6
  export { findAvailablePort, startDevServer, openBrowserUrl, killAllDocusaurusProcesses, isDocusaurusRunning, getServerUrl } from './server-manager.js';
6
7
  export * from './types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/docs-preview/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,UAAU,EACV,aAAa,EACb,eAAe,EACf,aAAa,EACb,eAAe,EACf,WAAW,EACZ,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACtB,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,0BAA0B,EAC1B,mBAAmB,EACnB,YAAY,EACb,MAAM,qBAAqB,CAAC;AAE7B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/docs-preview/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,UAAU,EACV,aAAa,EACb,eAAe,EACf,aAAa,EACb,eAAe,EACf,WAAW,EACZ,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACtB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,0BAA0B,EAC1B,mBAAmB,EACnB,YAAY,EACb,MAAM,qBAAqB,CAAC;AAE7B,cAAc,YAAY,CAAC"}
@@ -1,6 +1,7 @@
1
1
  export { setupDocusaurus, quickSetup, launchPreview, buildStaticSite, isSetupNeeded, getDocsSitePath, getDocsPath } from './docusaurus-setup.js';
2
2
  export { buildSidebar, writeSidebar, generateSidebarsJS, countDocuments, countCategories } from './sidebar-builder.js';
3
- export { generateDocusaurusConfig, writeDocusaurusConfig, generatePackageJSON, writePackageJSON, generateCustomCSS, writeCustomCSS, generateIndexPage, writeIndexPage, generateIndexModuleCSS, writeIndexModuleCSS } from './config-generator.js';
3
+ export { generateDocusaurusConfig, writeDocusaurusConfig, generatePackageJSON, writePackageJSON, generateCustomCSS, writeCustomCSS, generateIndexPage, writeIndexPage, generateIndexModuleCSS, writeIndexModuleCSS, generateLogoSVG, generateFaviconSVG } from './config-generator.js';
4
+ export { detectProjectMetadata, detectDocCategories } from './project-detector.js';
4
5
  export { checkNodeVersion, checkNpmInstalled, installPackages, installDocusaurus, isDocusaurusInstalled, cleanNpmCache, getPackageVersion, estimateInstallSize, estimateInstallTime } from './package-installer.js';
5
6
  export { findAvailablePort, startDevServer, openBrowserUrl, killAllDocusaurusProcesses, isDocusaurusRunning, getServerUrl } from './server-manager.js';
6
7
  export * from './types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/docs-preview/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,UAAU,EACV,aAAa,EACb,eAAe,EACf,aAAa,EACb,eAAe,EACf,WAAW,EACZ,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACtB,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,0BAA0B,EAC1B,mBAAmB,EACnB,YAAY,EACb,MAAM,qBAAqB,CAAC;AAE7B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/docs-preview/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,UAAU,EACV,aAAa,EACb,eAAe,EACf,aAAa,EACb,eAAe,EACf,WAAW,EACZ,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACtB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,0BAA0B,EAC1B,mBAAmB,EACnB,YAAY,EACb,MAAM,qBAAqB,CAAC;AAE7B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Project metadata detector for docs preview
3
+ *
4
+ * Detects project name, description, initials, and doc categories
5
+ * from multiple sources (config.json, package.json, directory name).
6
+ */
7
+ import { ProjectMetadata, DocCategory } from './types.js';
8
+ /**
9
+ * Detect project metadata from multiple sources
10
+ */
11
+ export declare function detectProjectMetadata(projectRoot: string, docsPath: string): Promise<ProjectMetadata>;
12
+ /**
13
+ * Detect actual doc categories from the docs folder
14
+ */
15
+ export declare function detectDocCategories(docsPath: string): Promise<DocCategory[]>;
16
+ //# sourceMappingURL=project-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-detector.d.ts","sourceRoot":"","sources":["../../../../src/utils/docs-preview/project-detector.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AA2B1D;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,eAAe,CAAC,CAM1B;AAgDD;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CA8ClF"}
@@ -0,0 +1,215 @@
1
+ /**
2
+ * Project metadata detector for docs preview
3
+ *
4
+ * Detects project name, description, initials, and doc categories
5
+ * from multiple sources (config.json, package.json, directory name).
6
+ */
7
+ import * as path from 'path';
8
+ import * as fs from '../../utils/fs-native.js';
9
+ /**
10
+ * Known category metadata for common doc folder names
11
+ */
12
+ const CATEGORY_META = {
13
+ strategy: { description: 'Business rationale, PRDs, and OKRs', icon: '\u{1F9ED}' },
14
+ specs: { description: 'Feature specifications and user stories', icon: '\u{1F4DD}' },
15
+ specifications: { description: 'Feature specifications and user stories', icon: '\u{1F4DD}' },
16
+ architecture: { description: 'Technical design, ADRs, and diagrams', icon: '\u{1F3D7}\u{FE0F}' },
17
+ delivery: { description: 'Build processes and release management', icon: '\u{1F4E6}' },
18
+ operations: { description: 'Runbooks, SLOs, and incident management', icon: '\u{2699}\u{FE0F}' },
19
+ governance: { description: 'Policies, security, and compliance', icon: '\u{1F6E1}\u{FE0F}' },
20
+ guides: { description: 'How-to guides and tutorials', icon: '\u{1F4D6}' },
21
+ modules: { description: 'Module documentation and APIs', icon: '\u{1F4E6}' },
22
+ analysis: { description: 'Analysis reports and research', icon: '\u{1F4CA}' },
23
+ troubleshooting: { description: 'Debugging guides and known issues', icon: '\u{1F527}' },
24
+ repos: { description: 'Repository documentation', icon: '\u{1F500}' },
25
+ organization: { description: 'Team and organization structure', icon: '\u{1F465}' },
26
+ api: { description: 'API reference and endpoints', icon: '\u{1F517}' },
27
+ testing: { description: 'Test plans and quality assurance', icon: '\u{2705}' },
28
+ security: { description: 'Security policies and assessments', icon: '\u{1F510}' },
29
+ design: { description: 'Design documents and mockups', icon: '\u{1F3A8}' },
30
+ infrastructure: { description: 'Infrastructure and deployment', icon: '\u{2601}\u{FE0F}' },
31
+ projects: { description: 'Project documentation', icon: '\u{1F4C1}' },
32
+ };
33
+ /**
34
+ * Detect project metadata from multiple sources
35
+ */
36
+ export async function detectProjectMetadata(projectRoot, docsPath) {
37
+ const { name, description, source } = await detectNameAndDescription(projectRoot);
38
+ const initials = extractInitials(name);
39
+ const categories = await detectDocCategories(docsPath);
40
+ return { name, description, initials, categories, source };
41
+ }
42
+ /**
43
+ * Detect project name and description from config.json, package.json, or directory
44
+ */
45
+ async function detectNameAndDescription(projectRoot) {
46
+ // Source 1: .specweave/config.json
47
+ const configPath = path.join(projectRoot, '.specweave', 'config.json');
48
+ if (await fs.pathExists(configPath)) {
49
+ try {
50
+ const raw = JSON.parse(await fs.readFile(configPath, 'utf-8'));
51
+ // Try v2 format: { project: { name: "..." } }
52
+ const configName = raw.project?.name || raw.projectName;
53
+ if (configName && typeof configName === 'string') {
54
+ const description = raw.project?.description
55
+ || raw.research?.vision?.rawVision
56
+ || `${configName} — Project Documentation`;
57
+ return { name: configName, description: truncateDescription(description), source: 'config' };
58
+ }
59
+ }
60
+ catch {
61
+ // Config parse error, fall through
62
+ }
63
+ }
64
+ // Source 2: package.json
65
+ const packagePath = path.join(projectRoot, 'package.json');
66
+ if (await fs.pathExists(packagePath)) {
67
+ try {
68
+ const pkg = JSON.parse(await fs.readFile(packagePath, 'utf-8'));
69
+ if (pkg.name && typeof pkg.name === 'string') {
70
+ const name = formatPackageName(pkg.name);
71
+ const description = pkg.description || `${name} — Project Documentation`;
72
+ return { name, description: truncateDescription(description), source: 'package' };
73
+ }
74
+ }
75
+ catch {
76
+ // Package parse error, fall through
77
+ }
78
+ }
79
+ // Source 3: directory name
80
+ const dirName = path.basename(projectRoot);
81
+ const name = formatDirectoryName(dirName);
82
+ return { name, description: `${name} — Project Documentation`, source: 'directory' };
83
+ }
84
+ /**
85
+ * Detect actual doc categories from the docs folder
86
+ */
87
+ export async function detectDocCategories(docsPath) {
88
+ if (!await fs.pathExists(docsPath)) {
89
+ return [];
90
+ }
91
+ const entries = await fs.readdir(docsPath, { withFileTypes: true });
92
+ const categories = [];
93
+ for (const entry of entries) {
94
+ if (!entry.isDirectory())
95
+ continue;
96
+ if (entry.name.startsWith('.') || entry.name === 'node_modules')
97
+ continue;
98
+ const folderPath = path.join(docsPath, entry.name);
99
+ const docCount = await countMarkdownFiles(folderPath);
100
+ if (docCount === 0)
101
+ continue;
102
+ const normalized = entry.name.toLowerCase();
103
+ const meta = CATEGORY_META[normalized] || {
104
+ description: `${formatLabel(entry.name)} documentation`,
105
+ icon: '\u{1F4C2}',
106
+ };
107
+ categories.push({
108
+ id: entry.name,
109
+ label: formatLabel(entry.name),
110
+ description: meta.description,
111
+ icon: meta.icon,
112
+ docCount,
113
+ });
114
+ }
115
+ // Sort by known priority, then alphabetically
116
+ const PRIORITY = {
117
+ strategy: 1, specs: 2, specifications: 2, architecture: 3,
118
+ delivery: 4, operations: 5, governance: 6, projects: 7,
119
+ };
120
+ categories.sort((a, b) => {
121
+ const aPri = PRIORITY[a.id.toLowerCase()] || 99;
122
+ const bPri = PRIORITY[b.id.toLowerCase()] || 99;
123
+ if (aPri !== bPri)
124
+ return aPri - bPri;
125
+ return a.label.localeCompare(b.label);
126
+ });
127
+ return categories;
128
+ }
129
+ /**
130
+ * Count markdown files recursively in a directory
131
+ */
132
+ async function countMarkdownFiles(dirPath) {
133
+ let count = 0;
134
+ try {
135
+ const entries = await fs.readdir(dirPath, { withFileTypes: true });
136
+ for (const entry of entries) {
137
+ if (entry.isDirectory() && !entry.name.startsWith('.')) {
138
+ count += await countMarkdownFiles(path.join(dirPath, entry.name));
139
+ }
140
+ else if (entry.isFile() && (entry.name.endsWith('.md') || entry.name.endsWith('.mdx'))) {
141
+ count++;
142
+ }
143
+ }
144
+ }
145
+ catch {
146
+ // Permission error or similar, skip
147
+ }
148
+ return count;
149
+ }
150
+ /**
151
+ * Extract 1-2 letter initials from project name
152
+ */
153
+ function extractInitials(name) {
154
+ // Try CamelCase detection: "SpecWeave" → "SW", "MyProject" → "MP"
155
+ const camelParts = name.match(/[A-Z][a-z]*/g);
156
+ if (camelParts && camelParts.length >= 2) {
157
+ return (camelParts[0][0] + camelParts[1][0]).toUpperCase();
158
+ }
159
+ // Try space/dash/underscore separated: "My App" → "MA"
160
+ const words = name.split(/[\s\-_]+/).filter(w => w.length > 0);
161
+ if (words.length >= 2) {
162
+ return (words[0][0] + words[1][0]).toUpperCase();
163
+ }
164
+ // Single word: first letter
165
+ return name.charAt(0).toUpperCase();
166
+ }
167
+ /**
168
+ * Format npm package name to human-readable
169
+ * "@scope/my-package" → "My Package"
170
+ */
171
+ function formatPackageName(name) {
172
+ // Strip npm scope
173
+ const stripped = name.replace(/^@[^/]+\//, '');
174
+ return formatDirectoryName(stripped);
175
+ }
176
+ /**
177
+ * Format directory name to human-readable
178
+ * "my-cool-project" → "My Cool Project"
179
+ */
180
+ function formatDirectoryName(name) {
181
+ return name
182
+ .replace(/[-_]/g, ' ')
183
+ .split(' ')
184
+ .map(word => word.charAt(0).toUpperCase() + word.slice(1))
185
+ .join(' ');
186
+ }
187
+ /**
188
+ * Format folder name to label
189
+ */
190
+ function formatLabel(folderName) {
191
+ const specialCases = {
192
+ adr: 'ADRs', adrs: 'ADRs', hld: 'HLD', lld: 'LLD',
193
+ prd: 'PRDs', okr: 'OKRs', api: 'API', cli: 'CLI',
194
+ ui: 'UI', ux: 'UX', sre: 'SRE', devops: 'DevOps',
195
+ };
196
+ const normalized = folderName.toLowerCase();
197
+ if (specialCases[normalized])
198
+ return specialCases[normalized];
199
+ return folderName
200
+ .replace(/[-_]/g, ' ')
201
+ .split(' ')
202
+ .map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
203
+ .join(' ');
204
+ }
205
+ /**
206
+ * Truncate long descriptions for tagline use
207
+ */
208
+ function truncateDescription(desc) {
209
+ // Take first sentence or first 120 chars
210
+ const firstSentence = desc.split(/[.!?]\s/)[0];
211
+ if (firstSentence.length <= 120)
212
+ return firstSentence;
213
+ return firstSentence.slice(0, 117) + '...';
214
+ }
215
+ //# sourceMappingURL=project-detector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-detector.js","sourceRoot":"","sources":["../../../../src/utils/docs-preview/project-detector.ts"],"names":[],"mappings":"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"}