specweave 0.8.3 → 0.8.4

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 (69) hide show
  1. package/.claude-plugin/marketplace.json +11 -0
  2. package/dist/adapters/adapter-loader.d.ts +4 -4
  3. package/dist/adapters/adapter-loader.d.ts.map +1 -1
  4. package/dist/adapters/adapter-loader.js +8 -7
  5. package/dist/adapters/adapter-loader.js.map +1 -1
  6. package/dist/cli/commands/init.d.ts.map +1 -1
  7. package/dist/cli/commands/init.js +7 -1
  8. package/dist/cli/commands/init.js.map +1 -1
  9. package/dist/utils/docs-preview/config-generator.d.ts +46 -0
  10. package/dist/utils/docs-preview/config-generator.d.ts.map +1 -0
  11. package/dist/utils/docs-preview/config-generator.js +377 -0
  12. package/dist/utils/docs-preview/config-generator.js.map +1 -0
  13. package/dist/utils/docs-preview/docusaurus-setup.d.ts +38 -0
  14. package/dist/utils/docs-preview/docusaurus-setup.d.ts.map +1 -0
  15. package/dist/utils/docs-preview/docusaurus-setup.js +177 -0
  16. package/dist/utils/docs-preview/docusaurus-setup.js.map +1 -0
  17. package/dist/utils/docs-preview/index.d.ts +11 -0
  18. package/dist/utils/docs-preview/index.d.ts.map +1 -0
  19. package/dist/utils/docs-preview/index.js +17 -0
  20. package/dist/utils/docs-preview/index.js.map +1 -0
  21. package/dist/utils/docs-preview/package-installer.d.ts +42 -0
  22. package/dist/utils/docs-preview/package-installer.d.ts.map +1 -0
  23. package/dist/utils/docs-preview/package-installer.js +182 -0
  24. package/dist/utils/docs-preview/package-installer.js.map +1 -0
  25. package/dist/utils/docs-preview/server-manager.d.ts +30 -0
  26. package/dist/utils/docs-preview/server-manager.d.ts.map +1 -0
  27. package/dist/utils/docs-preview/server-manager.js +207 -0
  28. package/dist/utils/docs-preview/server-manager.js.map +1 -0
  29. package/dist/utils/docs-preview/sidebar-builder.d.ts +31 -0
  30. package/dist/utils/docs-preview/sidebar-builder.d.ts.map +1 -0
  31. package/dist/utils/docs-preview/sidebar-builder.js +202 -0
  32. package/dist/utils/docs-preview/sidebar-builder.js.map +1 -0
  33. package/dist/utils/docs-preview/types.d.ts +60 -0
  34. package/dist/utils/docs-preview/types.d.ts.map +1 -0
  35. package/dist/utils/docs-preview/types.js +5 -0
  36. package/dist/utils/docs-preview/types.js.map +1 -0
  37. package/dist/utils/docs-preview.bak/config-generator.d.ts +46 -0
  38. package/dist/utils/docs-preview.bak/config-generator.d.ts.map +1 -0
  39. package/dist/utils/docs-preview.bak/config-generator.js +377 -0
  40. package/dist/utils/docs-preview.bak/config-generator.js.map +1 -0
  41. package/dist/utils/docs-preview.bak/package-installer.d.ts +42 -0
  42. package/dist/utils/docs-preview.bak/package-installer.d.ts.map +1 -0
  43. package/dist/utils/docs-preview.bak/package-installer.js +182 -0
  44. package/dist/utils/docs-preview.bak/package-installer.js.map +1 -0
  45. package/dist/utils/docs-preview.bak/server-manager.d.ts +30 -0
  46. package/dist/utils/docs-preview.bak/server-manager.d.ts.map +1 -0
  47. package/dist/utils/docs-preview.bak/server-manager.js +207 -0
  48. package/dist/utils/docs-preview.bak/server-manager.js.map +1 -0
  49. package/dist/utils/docs-preview.bak/sidebar-builder.d.ts +31 -0
  50. package/dist/utils/docs-preview.bak/sidebar-builder.d.ts.map +1 -0
  51. package/dist/utils/docs-preview.bak/sidebar-builder.js +202 -0
  52. package/dist/utils/docs-preview.bak/sidebar-builder.js.map +1 -0
  53. package/dist/utils/docs-preview.bak/types.d.ts +60 -0
  54. package/dist/utils/docs-preview.bak/types.d.ts.map +1 -0
  55. package/dist/utils/docs-preview.bak/types.js +5 -0
  56. package/dist/utils/docs-preview.bak/types.js.map +1 -0
  57. package/package.json +1 -1
  58. package/dist/cli/commands/plugin.js +0 -322
  59. package/dist/cli/commands/plugin.js.map +0 -1
  60. package/dist/core/plugin-detector.d.ts +0 -97
  61. package/dist/core/plugin-detector.d.ts.map +0 -1
  62. package/dist/core/plugin-detector.js +0 -374
  63. package/dist/core/plugin-detector.js.map +0 -1
  64. package/dist/core/plugin-manager.d.ts +0 -144
  65. package/dist/core/plugin-manager.d.ts.map +0 -1
  66. package/dist/core/plugin-manager.js +0 -393
  67. package/dist/core/plugin-manager.js.map +0 -1
  68. package/dist/utils/plugin-detection.js +0 -229
  69. package/dist/utils/plugin-detection.js.map +0 -1
@@ -0,0 +1,202 @@
1
+ /**
2
+ * Sidebar builder for Docusaurus
3
+ * Automatically generates sidebar.js from .specweave/docs/ folder structure
4
+ */
5
+ import * as path from 'path';
6
+ import * as fs from 'fs-extra';
7
+ /**
8
+ * Priority order for top-level folders
9
+ * Lower number = appears first in sidebar
10
+ */
11
+ const FOLDER_PRIORITY = {
12
+ strategy: 1,
13
+ specs: 2,
14
+ architecture: 3,
15
+ delivery: 4,
16
+ operations: 5,
17
+ governance: 6,
18
+ projects: 7 // Multi-project support
19
+ };
20
+ /**
21
+ * Default folders to exclude from sidebar
22
+ */
23
+ const DEFAULT_EXCLUDE_FOLDERS = [
24
+ 'node_modules',
25
+ '.git',
26
+ '.DS_Store',
27
+ 'legacy' // Brownfield imports (temporary, not for display)
28
+ ];
29
+ /**
30
+ * Build sidebar from folder structure
31
+ */
32
+ export async function buildSidebar(options) {
33
+ const { docsPath, excludeFolders = DEFAULT_EXCLUDE_FOLDERS, maxDepth = 5 } = options;
34
+ // Check if docs path exists
35
+ if (!await fs.pathExists(docsPath)) {
36
+ throw new Error(`Documentation path does not exist: ${docsPath}`);
37
+ }
38
+ // Scan folders and build sidebar items
39
+ const items = await scanFolder(docsPath, docsPath, excludeFolders, 0, maxDepth);
40
+ // Sort by priority (strategy first, governance last)
41
+ const sortedItems = sortByPriority(items);
42
+ return {
43
+ docs: sortedItems
44
+ };
45
+ }
46
+ /**
47
+ * Scan folder recursively and build sidebar items
48
+ */
49
+ async function scanFolder(basePath, currentPath, excludeFolders, depth, maxDepth) {
50
+ if (depth >= maxDepth) {
51
+ return [];
52
+ }
53
+ const items = [];
54
+ try {
55
+ const entries = await fs.readdir(currentPath, { withFileTypes: true });
56
+ // Separate folders and files
57
+ const folders = entries.filter(e => e.isDirectory() && !excludeFolders.includes(e.name));
58
+ const files = entries.filter(e => e.isFile() && e.name.endsWith('.md'));
59
+ // Process folders first (categories)
60
+ for (const folder of folders) {
61
+ const folderPath = path.join(currentPath, folder.name);
62
+ const childItems = await scanFolder(basePath, folderPath, excludeFolders, depth + 1, maxDepth);
63
+ if (childItems.length > 0) {
64
+ items.push({
65
+ type: 'category',
66
+ label: formatLabel(folder.name),
67
+ items: childItems
68
+ });
69
+ }
70
+ }
71
+ // Process markdown files (docs)
72
+ for (const file of files) {
73
+ const relativePath = path.relative(basePath, path.join(currentPath, file.name));
74
+ const docId = relativePath.replace(/\.md$/, '').replace(/\\/g, '/');
75
+ items.push({
76
+ type: 'doc',
77
+ id: docId
78
+ });
79
+ }
80
+ return items;
81
+ }
82
+ catch (error) {
83
+ console.error(`Error scanning folder ${currentPath}:`, error);
84
+ return [];
85
+ }
86
+ }
87
+ /**
88
+ * Sort sidebar items by priority
89
+ */
90
+ function sortByPriority(items) {
91
+ return items.sort((a, b) => {
92
+ // Extract folder name from label
93
+ const aFolder = a.label?.toLowerCase().replace(/\s+/g, '-') || '';
94
+ const bFolder = b.label?.toLowerCase().replace(/\s+/g, '-') || '';
95
+ // Get priorities (default to 999 if not found)
96
+ const aPriority = FOLDER_PRIORITY[aFolder] || 999;
97
+ const bPriority = FOLDER_PRIORITY[bFolder] || 999;
98
+ // Sort by priority
99
+ if (aPriority !== bPriority) {
100
+ return aPriority - bPriority;
101
+ }
102
+ // If same priority, sort alphabetically
103
+ return aFolder.localeCompare(bFolder);
104
+ });
105
+ }
106
+ /**
107
+ * Format folder name to human-readable label
108
+ * Examples:
109
+ * - "strategy" → "Strategy"
110
+ * - "architecture" → "Architecture"
111
+ * - "adr" → "ADRs"
112
+ * - "my-feature-spec" → "My Feature Spec"
113
+ */
114
+ function formatLabel(folderName) {
115
+ // Special cases
116
+ const specialCases = {
117
+ adr: 'ADRs',
118
+ adrs: 'ADRs',
119
+ hld: 'HLD',
120
+ lld: 'LLD',
121
+ prd: 'PRDs',
122
+ okr: 'OKRs',
123
+ api: 'API',
124
+ cli: 'CLI',
125
+ ui: 'UI',
126
+ ux: 'UX',
127
+ sre: 'SRE',
128
+ devops: 'DevOps',
129
+ mlops: 'MLOps',
130
+ k8s: 'Kubernetes'
131
+ };
132
+ const normalized = folderName.toLowerCase();
133
+ if (specialCases[normalized]) {
134
+ return specialCases[normalized];
135
+ }
136
+ // Convert kebab-case or snake_case to Title Case
137
+ return folderName
138
+ .replace(/[-_]/g, ' ')
139
+ .split(' ')
140
+ .map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
141
+ .join(' ');
142
+ }
143
+ /**
144
+ * Generate sidebars.js content as string
145
+ */
146
+ export function generateSidebarsJS(sidebar) {
147
+ return `/**
148
+ * Auto-generated sidebar for SpecWeave documentation
149
+ * Generated: ${new Date().toISOString()}
150
+ *
151
+ * DO NOT EDIT THIS FILE MANUALLY
152
+ * Regenerate with: /specweave:docs preview
153
+ */
154
+
155
+ module.exports = ${JSON.stringify(sidebar, null, 2)};
156
+ `;
157
+ }
158
+ /**
159
+ * Write sidebar to file
160
+ */
161
+ export async function writeSidebar(filePath, sidebar) {
162
+ const content = generateSidebarsJS(sidebar);
163
+ await fs.ensureDir(path.dirname(filePath));
164
+ await fs.writeFile(filePath, content, 'utf-8');
165
+ }
166
+ /**
167
+ * Count total documents in sidebar
168
+ */
169
+ export function countDocuments(sidebar) {
170
+ let count = 0;
171
+ function traverse(items) {
172
+ for (const item of items) {
173
+ if (item.type === 'doc') {
174
+ count++;
175
+ }
176
+ else if (item.type === 'category' && item.items) {
177
+ traverse(item.items);
178
+ }
179
+ }
180
+ }
181
+ traverse(sidebar.docs);
182
+ return count;
183
+ }
184
+ /**
185
+ * Count total categories in sidebar
186
+ */
187
+ export function countCategories(sidebar) {
188
+ let count = 0;
189
+ function traverse(items) {
190
+ for (const item of items) {
191
+ if (item.type === 'category') {
192
+ count++;
193
+ if (item.items) {
194
+ traverse(item.items);
195
+ }
196
+ }
197
+ }
198
+ }
199
+ traverse(sidebar.docs);
200
+ return count;
201
+ }
202
+ //# sourceMappingURL=sidebar-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidebar-builder.js","sourceRoot":"","sources":["../../../src/utils/docs-preview/sidebar-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Type definitions for documentation preview functionality
3
+ */
4
+ export interface DocusaurusConfig {
5
+ title: string;
6
+ tagline: string;
7
+ url: string;
8
+ baseUrl: string;
9
+ docsPath: string;
10
+ port?: number;
11
+ theme?: 'default' | 'classic' | 'dark';
12
+ excludeFolders?: string[];
13
+ }
14
+ export interface SidebarItem {
15
+ type: 'doc' | 'category';
16
+ label?: string;
17
+ id?: string;
18
+ items?: SidebarItem[];
19
+ }
20
+ export interface Sidebar {
21
+ docs: SidebarItem[];
22
+ }
23
+ export interface SetupOptions {
24
+ projectRoot: string;
25
+ targetDir: string;
26
+ docsPath: string;
27
+ config: DocusaurusConfig;
28
+ force?: boolean;
29
+ }
30
+ export interface ServerOptions {
31
+ port: number;
32
+ openBrowser: boolean;
33
+ host?: string;
34
+ }
35
+ export interface InstallOptions {
36
+ targetDir: string;
37
+ packages: string[];
38
+ dev?: boolean;
39
+ }
40
+ export interface NodeVersion {
41
+ version: string;
42
+ major: number;
43
+ minor: number;
44
+ patch: number;
45
+ compatible: boolean;
46
+ }
47
+ export interface BuildResult {
48
+ success: boolean;
49
+ outputPath: string;
50
+ size: number;
51
+ duration: number;
52
+ errors?: string[];
53
+ }
54
+ export interface ServerProcess {
55
+ pid: number;
56
+ port: number;
57
+ url: string;
58
+ stop: () => Promise<void>;
59
+ }
60
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utils/docs-preview/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;IACvC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,KAAK,GAAG,UAAU,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,WAAW,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,gBAAgB,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Type definitions for documentation preview functionality
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/utils/docs-preview/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Docusaurus configuration generator
3
+ * Generates docusaurus.config.js with sensible defaults
4
+ */
5
+ import { DocusaurusConfig } from './types.js';
6
+ /**
7
+ * Generate docusaurus.config.js content
8
+ */
9
+ export declare function generateDocusaurusConfig(config: DocusaurusConfig): string;
10
+ /**
11
+ * Write docusaurus.config.js to file
12
+ */
13
+ export declare function writeDocusaurusConfig(targetDir: string, config: DocusaurusConfig): Promise<void>;
14
+ /**
15
+ * Generate package.json for Docusaurus site
16
+ */
17
+ export declare function generatePackageJSON(title: string): string;
18
+ /**
19
+ * Write package.json to file
20
+ */
21
+ export declare function writePackageJSON(targetDir: string, title: string): Promise<void>;
22
+ /**
23
+ * Generate custom CSS for theme customization
24
+ */
25
+ export declare function generateCustomCSS(theme: 'default' | 'classic' | 'dark'): string;
26
+ /**
27
+ * Write custom CSS to file
28
+ */
29
+ export declare function writeCustomCSS(targetDir: string, theme: 'default' | 'classic' | 'dark'): Promise<void>;
30
+ /**
31
+ * Generate index page (landing page)
32
+ */
33
+ export declare function generateIndexPage(title: string, tagline: string): string;
34
+ /**
35
+ * Write index page to file
36
+ */
37
+ export declare function writeIndexPage(targetDir: string, title: string, tagline: string): Promise<void>;
38
+ /**
39
+ * Generate index.module.css for landing page styles
40
+ */
41
+ export declare function generateIndexModuleCSS(): string;
42
+ /**
43
+ * Write index.module.css to file
44
+ */
45
+ export declare function writeIndexModuleCSS(targetDir: string): Promise<void>;
46
+ //# sourceMappingURL=config-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-generator.d.ts","sourceRoot":"","sources":["../../../src/utils/docs-preview.bak/config-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAqHzE;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAMtG;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAmCzD;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMtF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CA8E/E;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM5G;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CA8DxE;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMrG;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAsB/C;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM1E"}