specweave 0.34.5 → 0.34.8
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/bin/fix-marketplace-errors.sh +55 -7
- package/dist/plugins/specweave-github/lib/github-feature-sync.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/github-feature-sync.js +3 -1
- package/dist/plugins/specweave-github/lib/github-feature-sync.js.map +1 -1
- package/dist/plugins/specweave-github/lib/github-spec-sync.js +1 -1
- package/dist/plugins/specweave-github/lib/github-spec-sync.js.map +1 -1
- package/dist/src/cli/commands/import-docs.d.ts +3 -0
- package/dist/src/cli/commands/import-docs.d.ts.map +1 -1
- package/dist/src/cli/commands/import-docs.js +110 -91
- package/dist/src/cli/commands/import-docs.js.map +1 -1
- package/dist/src/cli/commands/init.d.ts.map +1 -1
- package/dist/src/cli/commands/init.js +16 -7
- package/dist/src/cli/commands/init.js.map +1 -1
- package/dist/src/cli/commands/living-docs.js +4 -4
- package/dist/src/cli/commands/living-docs.js.map +1 -1
- package/dist/src/cli/commands/sync-spec-commits.js +1 -1
- package/dist/src/cli/commands/sync-spec-commits.js.map +1 -1
- package/dist/src/cli/commands/sync-spec-content.js +1 -1
- package/dist/src/cli/commands/sync-spec-content.js.map +1 -1
- package/dist/src/cli/helpers/github/increment-profile-selector.js +1 -1
- package/dist/src/cli/helpers/github/increment-profile-selector.js.map +1 -1
- package/dist/src/cli/helpers/github/profile-manager.d.ts +5 -5
- package/dist/src/cli/helpers/github/profile-manager.d.ts.map +1 -1
- package/dist/src/cli/helpers/github/profile-manager.js +24 -24
- package/dist/src/cli/helpers/github/profile-manager.js.map +1 -1
- package/dist/src/cli/helpers/init/brownfield-analysis.js +15 -15
- package/dist/src/cli/helpers/init/brownfield-analysis.js.map +1 -1
- package/dist/src/cli/helpers/init/config-detection.js +1 -1
- package/dist/src/cli/helpers/init/config-detection.js.map +1 -1
- package/dist/src/cli/helpers/init/living-docs-preflight.js +7 -7
- package/dist/src/cli/helpers/init/living-docs-preflight.js.map +1 -1
- package/dist/src/cli/helpers/init/plugin-installer.d.ts.map +1 -1
- package/dist/src/cli/helpers/init/plugin-installer.js +61 -9
- package/dist/src/cli/helpers/init/plugin-installer.js.map +1 -1
- package/dist/src/cli/helpers/init/sync-profile-helpers.d.ts.map +1 -1
- package/dist/src/cli/helpers/init/sync-profile-helpers.js +2 -4
- package/dist/src/cli/helpers/init/sync-profile-helpers.js.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/ado-area-selection.d.ts +1 -4
- package/dist/src/cli/helpers/issue-tracker/ado-area-selection.d.ts.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/ado-area-selection.js +0 -32
- package/dist/src/cli/helpers/issue-tracker/ado-area-selection.js.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/ado.d.ts.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/ado.js +3 -13
- package/dist/src/cli/helpers/issue-tracker/ado.js.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/index.d.ts.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/index.js +0 -1
- package/dist/src/cli/helpers/issue-tracker/index.js.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/sync-config-writer.d.ts.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/sync-config-writer.js +0 -7
- package/dist/src/cli/helpers/issue-tracker/sync-config-writer.js.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/types.d.ts +1 -5
- package/dist/src/cli/helpers/issue-tracker/types.d.ts.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/types.js.map +1 -1
- package/dist/src/cli/workers/import-worker.js +5 -111
- package/dist/src/cli/workers/import-worker.js.map +1 -1
- package/dist/src/core/background/types.d.ts +3 -0
- package/dist/src/core/background/types.d.ts.map +1 -1
- package/dist/src/core/config/types.d.ts +0 -5
- package/dist/src/core/config/types.d.ts.map +1 -1
- package/dist/src/core/config/types.js.map +1 -1
- package/dist/src/core/increment/increment-archiver.d.ts.map +1 -1
- package/dist/src/core/increment/increment-archiver.js +0 -6
- package/dist/src/core/increment/increment-archiver.js.map +1 -1
- package/dist/src/core/increment/increment-utils.d.ts +0 -4
- package/dist/src/core/increment/increment-utils.d.ts.map +1 -1
- package/dist/src/core/increment/increment-utils.js +0 -6
- package/dist/src/core/increment/increment-utils.js.map +1 -1
- package/dist/src/core/living-docs/cross-project-sync.d.ts +0 -13
- package/dist/src/core/living-docs/cross-project-sync.d.ts.map +1 -1
- package/dist/src/core/living-docs/cross-project-sync.js +0 -25
- package/dist/src/core/living-docs/cross-project-sync.js.map +1 -1
- package/dist/src/core/living-docs/delivery/delivery-generator.d.ts +58 -0
- package/dist/src/core/living-docs/delivery/delivery-generator.d.ts.map +1 -0
- package/dist/src/core/living-docs/delivery/delivery-generator.js +501 -0
- package/dist/src/core/living-docs/delivery/delivery-generator.js.map +1 -0
- package/dist/src/core/living-docs/delivery/index.d.ts +8 -0
- package/dist/src/core/living-docs/delivery/index.d.ts.map +1 -0
- package/dist/src/core/living-docs/delivery/index.js +7 -0
- package/dist/src/core/living-docs/delivery/index.js.map +1 -0
- package/dist/src/core/living-docs/diagrams/index.d.ts +8 -0
- package/dist/src/core/living-docs/diagrams/index.d.ts.map +1 -0
- package/dist/src/core/living-docs/diagrams/index.js +7 -0
- package/dist/src/core/living-docs/diagrams/index.js.map +1 -0
- package/dist/src/core/living-docs/diagrams/mermaid-generator.d.ts +103 -0
- package/dist/src/core/living-docs/diagrams/mermaid-generator.d.ts.map +1 -0
- package/dist/src/core/living-docs/diagrams/mermaid-generator.js +515 -0
- package/dist/src/core/living-docs/diagrams/mermaid-generator.js.map +1 -0
- package/dist/src/core/living-docs/enterprise/enterprise-generator.d.ts +85 -0
- package/dist/src/core/living-docs/enterprise/enterprise-generator.d.ts.map +1 -0
- package/dist/src/core/living-docs/enterprise/enterprise-generator.js +556 -0
- package/dist/src/core/living-docs/enterprise/enterprise-generator.js.map +1 -0
- package/dist/src/core/living-docs/enterprise/history-analyzer.d.ts +91 -0
- package/dist/src/core/living-docs/enterprise/history-analyzer.d.ts.map +1 -0
- package/dist/src/core/living-docs/enterprise/history-analyzer.js +321 -0
- package/dist/src/core/living-docs/enterprise/history-analyzer.js.map +1 -0
- package/dist/src/core/living-docs/enterprise/index.d.ts +18 -0
- package/dist/src/core/living-docs/enterprise/index.d.ts.map +1 -0
- package/dist/src/core/living-docs/enterprise/index.js +14 -0
- package/dist/src/core/living-docs/enterprise/index.js.map +1 -0
- package/dist/src/core/living-docs/enterprise/relationship-mapper.d.ts +58 -0
- package/dist/src/core/living-docs/enterprise/relationship-mapper.d.ts.map +1 -0
- package/dist/src/core/living-docs/enterprise/relationship-mapper.js +227 -0
- package/dist/src/core/living-docs/enterprise/relationship-mapper.js.map +1 -0
- package/dist/src/core/living-docs/enterprise/spec-loader.d.ts +161 -0
- package/dist/src/core/living-docs/enterprise/spec-loader.d.ts.map +1 -0
- package/dist/src/core/living-docs/enterprise/spec-loader.js +470 -0
- package/dist/src/core/living-docs/enterprise/spec-loader.js.map +1 -0
- package/dist/src/core/living-docs/intelligent-analyzer/inconsistency-detector.d.ts +31 -1
- package/dist/src/core/living-docs/intelligent-analyzer/inconsistency-detector.d.ts.map +1 -1
- package/dist/src/core/living-docs/intelligent-analyzer/inconsistency-detector.js +626 -14
- package/dist/src/core/living-docs/intelligent-analyzer/inconsistency-detector.js.map +1 -1
- package/dist/src/core/living-docs/intelligent-analyzer/index.d.ts +8 -0
- package/dist/src/core/living-docs/intelligent-analyzer/index.d.ts.map +1 -1
- package/dist/src/core/living-docs/intelligent-analyzer/index.js +87 -4
- package/dist/src/core/living-docs/intelligent-analyzer/index.js.map +1 -1
- package/dist/src/core/living-docs/intelligent-analyzer/types.d.ts +3 -1
- package/dist/src/core/living-docs/intelligent-analyzer/types.d.ts.map +1 -1
- package/dist/src/core/living-docs/living-docs-sync.js +1 -1
- package/dist/src/core/living-docs/living-docs-sync.js.map +1 -1
- package/dist/src/core/living-docs/operations/index.d.ts +8 -0
- package/dist/src/core/living-docs/operations/index.d.ts.map +1 -0
- package/dist/src/core/living-docs/operations/index.js +7 -0
- package/dist/src/core/living-docs/operations/index.js.map +1 -0
- package/dist/src/core/living-docs/operations/ops-generator.d.ts +53 -0
- package/dist/src/core/living-docs/operations/ops-generator.d.ts.map +1 -0
- package/dist/src/core/living-docs/operations/ops-generator.js +462 -0
- package/dist/src/core/living-docs/operations/ops-generator.js.map +1 -0
- package/dist/src/core/project/project-manager.d.ts +0 -20
- package/dist/src/core/project/project-manager.d.ts.map +1 -1
- package/dist/src/core/project/project-manager.js +0 -49
- package/dist/src/core/project/project-manager.js.map +1 -1
- package/dist/src/core/repo-structure/prompt-consolidator.d.ts +0 -8
- package/dist/src/core/repo-structure/prompt-consolidator.d.ts.map +1 -1
- package/dist/src/core/repo-structure/prompt-consolidator.js +0 -28
- package/dist/src/core/repo-structure/prompt-consolidator.js.map +1 -1
- package/dist/src/core/sync/profile-manager.d.ts +5 -5
- package/dist/src/core/sync/profile-manager.d.ts.map +1 -1
- package/dist/src/core/sync/profile-manager.js +17 -17
- package/dist/src/core/sync/profile-manager.js.map +1 -1
- package/dist/src/core/types/sync-profile.d.ts +3 -20
- package/dist/src/core/types/sync-profile.d.ts.map +1 -1
- package/dist/src/core/types/sync-profile.js +4 -10
- package/dist/src/core/types/sync-profile.js.map +1 -1
- package/dist/src/integrations/ado/ado-client-factory.d.ts +2 -2
- package/dist/src/integrations/ado/ado-client-factory.js +2 -2
- package/dist/src/utils/project-detection.d.ts +16 -16
- package/dist/src/utils/project-detection.d.ts.map +1 -1
- package/dist/src/utils/project-detection.js +39 -39
- package/dist/src/utils/project-detection.js.map +1 -1
- package/dist/src/utils/validators/ado-validator.d.ts +0 -5
- package/dist/src/utils/validators/ado-validator.d.ts.map +1 -1
- package/dist/src/utils/validators/ado-validator.js +0 -23
- package/dist/src/utils/validators/ado-validator.js.map +1 -1
- package/package.json +1 -1
- package/plugins/specweave/commands/living-docs.md +168 -39
- package/plugins/specweave-github/lib/github-feature-sync.js +1 -1
- package/plugins/specweave-github/lib/github-feature-sync.ts +3 -1
- package/plugins/specweave-github/lib/github-spec-sync.js +1 -1
- package/plugins/specweave-github/lib/github-spec-sync.ts +1 -1
- package/dist/plugins/specweave-github/lib/github-sync-bidirectional.d.ts +0 -45
- package/dist/plugins/specweave-github/lib/github-sync-bidirectional.d.ts.map +0 -1
- package/dist/plugins/specweave-github/lib/github-sync-bidirectional.js +0 -247
- package/dist/plugins/specweave-github/lib/github-sync-bidirectional.js.map +0 -1
- package/dist/src/core/brownfield/analyzer.d.ts +0 -86
- package/dist/src/core/brownfield/analyzer.d.ts.map +0 -1
- package/dist/src/core/brownfield/analyzer.js +0 -365
- package/dist/src/core/brownfield/analyzer.js.map +0 -1
- package/dist/src/core/brownfield/importer.d.ts +0 -76
- package/dist/src/core/brownfield/importer.d.ts.map +0 -1
- package/dist/src/core/brownfield/importer.js +0 -287
- package/dist/src/core/brownfield/importer.js.map +0 -1
- package/dist/src/utils/env-multi-project-parser.d.ts +0 -237
- package/dist/src/utils/env-multi-project-parser.d.ts.map +0 -1
- package/dist/src/utils/env-multi-project-parser.js +0 -426
- package/dist/src/utils/env-multi-project-parser.js.map +0 -1
- package/plugins/specweave-github/lib/github-sync-bidirectional.d.js +0 -0
- package/plugins/specweave-github/lib/github-sync-bidirectional.d.ts +0 -36
- package/plugins/specweave-github/lib/github-sync-bidirectional.d.ts.map +0 -1
- package/plugins/specweave-github/lib/github-sync-bidirectional.js +0 -206
- package/plugins/specweave-github/lib/github-sync-bidirectional.js.map +0 -1
- package/plugins/specweave-github/lib/github-sync-bidirectional.ts +0 -362
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Brownfield Analyzer - File Classification
|
|
3
|
-
*
|
|
4
|
-
* Analyzes markdown files from external sources (Notion, Confluence, Wiki)
|
|
5
|
-
* and classifies them as specs, modules, team docs, or legacy
|
|
6
|
-
*/
|
|
7
|
-
export interface FileClassification {
|
|
8
|
-
path: string;
|
|
9
|
-
relativePath: string;
|
|
10
|
-
type: 'spec' | 'module' | 'team' | 'legacy';
|
|
11
|
-
confidence: number;
|
|
12
|
-
keywords: string[];
|
|
13
|
-
reasons: string[];
|
|
14
|
-
}
|
|
15
|
-
export interface BrownfieldAnalysisResult {
|
|
16
|
-
totalFiles: number;
|
|
17
|
-
specs: FileClassification[];
|
|
18
|
-
modules: FileClassification[];
|
|
19
|
-
team: FileClassification[];
|
|
20
|
-
legacy: FileClassification[];
|
|
21
|
-
statistics: {
|
|
22
|
-
specsConfidence: number;
|
|
23
|
-
modulesConfidence: number;
|
|
24
|
-
teamConfidence: number;
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
export declare class BrownfieldAnalyzer {
|
|
28
|
-
private readonly SPEC_KEYWORDS;
|
|
29
|
-
private readonly MODULE_KEYWORDS;
|
|
30
|
-
private readonly TEAM_KEYWORDS;
|
|
31
|
-
/**
|
|
32
|
-
* Analyze markdown files in source directory
|
|
33
|
-
*
|
|
34
|
-
* @param sourcePath - Path to source directory
|
|
35
|
-
* @returns BrownfieldAnalysisResult
|
|
36
|
-
*/
|
|
37
|
-
analyze(sourcePath: string): Promise<BrownfieldAnalysisResult>;
|
|
38
|
-
/**
|
|
39
|
-
* Classify single file based on content
|
|
40
|
-
*
|
|
41
|
-
* @param filePath - Full path to file
|
|
42
|
-
* @param basePath - Base path for relative path calculation
|
|
43
|
-
* @returns FileClassification
|
|
44
|
-
*/
|
|
45
|
-
private classifyFile;
|
|
46
|
-
/**
|
|
47
|
-
* Score text based on keyword matches
|
|
48
|
-
* Returns 0-1 confidence score
|
|
49
|
-
*
|
|
50
|
-
* @param text - Lowercase text to analyze
|
|
51
|
-
* @param keywords - Keywords to match
|
|
52
|
-
* @returns Confidence score (0-1)
|
|
53
|
-
*/
|
|
54
|
-
private scoreKeywords;
|
|
55
|
-
/**
|
|
56
|
-
* Find matching keywords in text
|
|
57
|
-
*
|
|
58
|
-
* @param text - Lowercase text to search
|
|
59
|
-
* @param keywords - Keywords to find
|
|
60
|
-
* @returns Matching keywords
|
|
61
|
-
*/
|
|
62
|
-
private findMatchingKeywords;
|
|
63
|
-
/**
|
|
64
|
-
* Generate human-readable reasons for classification
|
|
65
|
-
*
|
|
66
|
-
* @param keywords - Matched keywords
|
|
67
|
-
* @param type - Classification type
|
|
68
|
-
* @returns Reasons
|
|
69
|
-
*/
|
|
70
|
-
private generateReasons;
|
|
71
|
-
/**
|
|
72
|
-
* Find all markdown files recursively
|
|
73
|
-
*
|
|
74
|
-
* @param dirPath - Directory to search
|
|
75
|
-
* @returns Array of file paths
|
|
76
|
-
*/
|
|
77
|
-
private findMarkdownFiles;
|
|
78
|
-
/**
|
|
79
|
-
* Generate analysis summary report
|
|
80
|
-
*
|
|
81
|
-
* @param result - Analysis result
|
|
82
|
-
* @returns Summary string
|
|
83
|
-
*/
|
|
84
|
-
generateSummaryReport(result: BrownfieldAnalysisResult): string;
|
|
85
|
-
}
|
|
86
|
-
//# sourceMappingURL=analyzer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"analyzer.d.ts","sourceRoot":"","sources":["../../../../src/core/brownfield/analyzer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,IAAI,EAAE,kBAAkB,EAAE,CAAC;IAC3B,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAC7B,UAAU,EAAE;QACV,eAAe,EAAE,MAAM,CAAC;QACxB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;CACH;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAU5B;IAEF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAW9B;IAEF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAa5B;IAEF;;;;;OAKG;IACG,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAqDpE;;;;;;OAMG;YACW,YAAY;IA2D1B;;;;;;;OAOG;IACH,OAAO,CAAC,aAAa;IA4BrB;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAI5B;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAiEvB;;;;;OAKG;YACW,iBAAiB;IA8B/B;;;;;OAKG;IACH,qBAAqB,CAAC,MAAM,EAAE,wBAAwB,GAAG,MAAM;CAkEhE"}
|
|
@@ -1,365 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Brownfield Analyzer - File Classification
|
|
3
|
-
*
|
|
4
|
-
* Analyzes markdown files from external sources (Notion, Confluence, Wiki)
|
|
5
|
-
* and classifies them as specs, modules, team docs, or legacy
|
|
6
|
-
*/
|
|
7
|
-
import path from 'path';
|
|
8
|
-
import * as fs from '../../utils/fs-native.js';
|
|
9
|
-
import matter from 'gray-matter';
|
|
10
|
-
export class BrownfieldAnalyzer {
|
|
11
|
-
constructor() {
|
|
12
|
-
this.SPEC_KEYWORDS = [
|
|
13
|
-
// User story keywords
|
|
14
|
-
'user story', 'user stories', 'acceptance criteria', 'acceptance criterion',
|
|
15
|
-
'feature', 'feature spec', 'requirement', 'requirements', 'functional requirement',
|
|
16
|
-
// Spec patterns
|
|
17
|
-
'spec', 'specification', 'us-', 'ac-', 'given when then',
|
|
18
|
-
'as a', 'i want', 'so that',
|
|
19
|
-
// Planning keywords
|
|
20
|
-
'epic', 'milestone', 'product requirement', 'prd', 'problem statement',
|
|
21
|
-
'success criteria', 'test plan'
|
|
22
|
-
];
|
|
23
|
-
this.MODULE_KEYWORDS = [
|
|
24
|
-
// Component/module keywords
|
|
25
|
-
'module', 'component', 'service', 'domain', 'package', 'library',
|
|
26
|
-
// Architecture keywords
|
|
27
|
-
'architecture', 'design', 'api', 'interface', 'class', 'function',
|
|
28
|
-
'endpoint', 'controller', 'model', 'repository', 'schema',
|
|
29
|
-
// Integration keywords
|
|
30
|
-
'integration', 'integration point', 'dependency', 'data flow',
|
|
31
|
-
'authentication', 'authorization', 'security', 'performance',
|
|
32
|
-
// Technical docs
|
|
33
|
-
'technical design', 'implementation', 'code structure'
|
|
34
|
-
];
|
|
35
|
-
this.TEAM_KEYWORDS = [
|
|
36
|
-
// Onboarding
|
|
37
|
-
'onboarding', 'getting started', 'setup', 'installation', 'environment setup',
|
|
38
|
-
// Conventions
|
|
39
|
-
'convention', 'conventions', 'coding standard', 'style guide', 'best practice',
|
|
40
|
-
'naming convention', 'code pattern', 'design pattern',
|
|
41
|
-
// Workflows
|
|
42
|
-
'workflow', 'process', 'procedure', 'guideline', 'policy',
|
|
43
|
-
'pr process', 'pull request', 'code review', 'deployment', 'release',
|
|
44
|
-
'git workflow', 'branching strategy', 'testing approach',
|
|
45
|
-
// Team info
|
|
46
|
-
'team', 'contact', 'on-call', 'escalation', 'responsibility',
|
|
47
|
-
'incident response', 'runbook'
|
|
48
|
-
];
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Analyze markdown files in source directory
|
|
52
|
-
*
|
|
53
|
-
* @param sourcePath - Path to source directory
|
|
54
|
-
* @returns BrownfieldAnalysisResult
|
|
55
|
-
*/
|
|
56
|
-
async analyze(sourcePath) {
|
|
57
|
-
console.log(`📊 Analyzing files in: ${sourcePath}\n`);
|
|
58
|
-
const markdownFiles = await this.findMarkdownFiles(sourcePath);
|
|
59
|
-
if (markdownFiles.length === 0) {
|
|
60
|
-
console.log('⚠️ No markdown files found');
|
|
61
|
-
return {
|
|
62
|
-
totalFiles: 0,
|
|
63
|
-
specs: [],
|
|
64
|
-
modules: [],
|
|
65
|
-
team: [],
|
|
66
|
-
legacy: [],
|
|
67
|
-
statistics: {
|
|
68
|
-
specsConfidence: 0,
|
|
69
|
-
modulesConfidence: 0,
|
|
70
|
-
teamConfidence: 0
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
console.log(`📄 Found ${markdownFiles.length} markdown file(s)\n`);
|
|
75
|
-
const classifications = await Promise.all(markdownFiles.map(file => this.classifyFile(file, sourcePath)));
|
|
76
|
-
// Group by type
|
|
77
|
-
const specs = classifications.filter(c => c.type === 'spec');
|
|
78
|
-
const modules = classifications.filter(c => c.type === 'module');
|
|
79
|
-
const team = classifications.filter(c => c.type === 'team');
|
|
80
|
-
const legacy = classifications.filter(c => c.type === 'legacy');
|
|
81
|
-
// Calculate average confidences
|
|
82
|
-
const avgConfidence = (items) => {
|
|
83
|
-
if (items.length === 0)
|
|
84
|
-
return 0;
|
|
85
|
-
return items.reduce((sum, item) => sum + item.confidence, 0) / items.length;
|
|
86
|
-
};
|
|
87
|
-
return {
|
|
88
|
-
totalFiles: markdownFiles.length,
|
|
89
|
-
specs,
|
|
90
|
-
modules,
|
|
91
|
-
team,
|
|
92
|
-
legacy,
|
|
93
|
-
statistics: {
|
|
94
|
-
specsConfidence: avgConfidence(specs),
|
|
95
|
-
modulesConfidence: avgConfidence(modules),
|
|
96
|
-
teamConfidence: avgConfidence(team)
|
|
97
|
-
}
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Classify single file based on content
|
|
102
|
-
*
|
|
103
|
-
* @param filePath - Full path to file
|
|
104
|
-
* @param basePath - Base path for relative path calculation
|
|
105
|
-
* @returns FileClassification
|
|
106
|
-
*/
|
|
107
|
-
async classifyFile(filePath, basePath) {
|
|
108
|
-
const content = await fs.readFile(filePath, 'utf-8');
|
|
109
|
-
// Parse frontmatter if present
|
|
110
|
-
const { data: frontmatter, content: markdownContent } = matter(content);
|
|
111
|
-
// Combine for analysis
|
|
112
|
-
const textToAnalyze = `${JSON.stringify(frontmatter)} ${markdownContent}`.toLowerCase();
|
|
113
|
-
// Score each type
|
|
114
|
-
const specScore = this.scoreKeywords(textToAnalyze, this.SPEC_KEYWORDS);
|
|
115
|
-
const moduleScore = this.scoreKeywords(textToAnalyze, this.MODULE_KEYWORDS);
|
|
116
|
-
const teamScore = this.scoreKeywords(textToAnalyze, this.TEAM_KEYWORDS);
|
|
117
|
-
// Determine type (highest score wins, with minimum threshold)
|
|
118
|
-
let type;
|
|
119
|
-
let confidence;
|
|
120
|
-
let keywords;
|
|
121
|
-
let reasons;
|
|
122
|
-
const CONFIDENCE_THRESHOLD = 0.3;
|
|
123
|
-
if (specScore > moduleScore && specScore > teamScore && specScore > CONFIDENCE_THRESHOLD) {
|
|
124
|
-
type = 'spec';
|
|
125
|
-
confidence = specScore;
|
|
126
|
-
keywords = this.findMatchingKeywords(textToAnalyze, this.SPEC_KEYWORDS);
|
|
127
|
-
reasons = this.generateReasons(keywords, 'spec');
|
|
128
|
-
}
|
|
129
|
-
else if (moduleScore > teamScore && moduleScore > CONFIDENCE_THRESHOLD) {
|
|
130
|
-
type = 'module';
|
|
131
|
-
confidence = moduleScore;
|
|
132
|
-
keywords = this.findMatchingKeywords(textToAnalyze, this.MODULE_KEYWORDS);
|
|
133
|
-
reasons = this.generateReasons(keywords, 'module');
|
|
134
|
-
}
|
|
135
|
-
else if (teamScore > CONFIDENCE_THRESHOLD) {
|
|
136
|
-
type = 'team';
|
|
137
|
-
confidence = teamScore;
|
|
138
|
-
keywords = this.findMatchingKeywords(textToAnalyze, this.TEAM_KEYWORDS);
|
|
139
|
-
reasons = this.generateReasons(keywords, 'team');
|
|
140
|
-
}
|
|
141
|
-
else {
|
|
142
|
-
type = 'legacy';
|
|
143
|
-
confidence = 0;
|
|
144
|
-
keywords = [];
|
|
145
|
-
reasons = ['No strong match for spec, module, or team keywords'];
|
|
146
|
-
}
|
|
147
|
-
const relativePath = path.relative(basePath, filePath);
|
|
148
|
-
return {
|
|
149
|
-
path: filePath,
|
|
150
|
-
relativePath,
|
|
151
|
-
type,
|
|
152
|
-
confidence,
|
|
153
|
-
keywords,
|
|
154
|
-
reasons
|
|
155
|
-
};
|
|
156
|
-
}
|
|
157
|
-
/**
|
|
158
|
-
* Score text based on keyword matches
|
|
159
|
-
* Returns 0-1 confidence score
|
|
160
|
-
*
|
|
161
|
-
* @param text - Lowercase text to analyze
|
|
162
|
-
* @param keywords - Keywords to match
|
|
163
|
-
* @returns Confidence score (0-1)
|
|
164
|
-
*/
|
|
165
|
-
scoreKeywords(text, keywords) {
|
|
166
|
-
let matches = 0;
|
|
167
|
-
let totalWeight = 0;
|
|
168
|
-
keywords.forEach(keyword => {
|
|
169
|
-
if (text.includes(keyword)) {
|
|
170
|
-
matches++;
|
|
171
|
-
// Weight longer keywords more heavily (more specific)
|
|
172
|
-
const weight = keyword.split(' ').length;
|
|
173
|
-
totalWeight += weight;
|
|
174
|
-
}
|
|
175
|
-
});
|
|
176
|
-
if (matches === 0)
|
|
177
|
-
return 0;
|
|
178
|
-
// Normalize to 0-1
|
|
179
|
-
// Base score: matches / total keywords (capped at 1.0)
|
|
180
|
-
const baseScore = Math.min(matches / keywords.length, 1.0);
|
|
181
|
-
// Weighted score: total weight / max possible weight
|
|
182
|
-
const maxWeight = matches * 3; // Assume max 3-word keywords
|
|
183
|
-
const weightedScore = Math.min(totalWeight / maxWeight, 1.0);
|
|
184
|
-
// Combine base and weighted score (60% base, 40% weighted)
|
|
185
|
-
return baseScore * 0.6 + weightedScore * 0.4;
|
|
186
|
-
}
|
|
187
|
-
/**
|
|
188
|
-
* Find matching keywords in text
|
|
189
|
-
*
|
|
190
|
-
* @param text - Lowercase text to search
|
|
191
|
-
* @param keywords - Keywords to find
|
|
192
|
-
* @returns Matching keywords
|
|
193
|
-
*/
|
|
194
|
-
findMatchingKeywords(text, keywords) {
|
|
195
|
-
return keywords.filter(keyword => text.includes(keyword));
|
|
196
|
-
}
|
|
197
|
-
/**
|
|
198
|
-
* Generate human-readable reasons for classification
|
|
199
|
-
*
|
|
200
|
-
* @param keywords - Matched keywords
|
|
201
|
-
* @param type - Classification type
|
|
202
|
-
* @returns Reasons
|
|
203
|
-
*/
|
|
204
|
-
generateReasons(keywords, type) {
|
|
205
|
-
const reasons = [];
|
|
206
|
-
if (keywords.length === 0) {
|
|
207
|
-
return [`No strong indicators found for ${type}`];
|
|
208
|
-
}
|
|
209
|
-
// Categorize keywords
|
|
210
|
-
const keywordCategories = {
|
|
211
|
-
spec: this.SPEC_KEYWORDS,
|
|
212
|
-
module: this.MODULE_KEYWORDS,
|
|
213
|
-
team: this.TEAM_KEYWORDS
|
|
214
|
-
};
|
|
215
|
-
const categoryKeywords = keywordCategories[type] || [];
|
|
216
|
-
// Group matched keywords
|
|
217
|
-
const matchedGroups = {};
|
|
218
|
-
keywords.forEach(keyword => {
|
|
219
|
-
// Determine group
|
|
220
|
-
let group = 'Other';
|
|
221
|
-
if (type === 'spec') {
|
|
222
|
-
if (['user story', 'us-', 'as a', 'i want', 'so that'].some(k => keyword.includes(k))) {
|
|
223
|
-
group = 'User Stories';
|
|
224
|
-
}
|
|
225
|
-
else if (['acceptance criteria', 'ac-', 'given when then'].some(k => keyword.includes(k))) {
|
|
226
|
-
group = 'Acceptance Criteria';
|
|
227
|
-
}
|
|
228
|
-
else if (['feature', 'requirement', 'spec'].some(k => keyword.includes(k))) {
|
|
229
|
-
group = 'Requirements';
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
else if (type === 'module') {
|
|
233
|
-
if (['module', 'component', 'service', 'domain'].some(k => keyword.includes(k))) {
|
|
234
|
-
group = 'Components';
|
|
235
|
-
}
|
|
236
|
-
else if (['architecture', 'design', 'api', 'interface'].some(k => keyword.includes(k))) {
|
|
237
|
-
group = 'Architecture';
|
|
238
|
-
}
|
|
239
|
-
else if (['integration', 'dependency', 'data flow'].some(k => keyword.includes(k))) {
|
|
240
|
-
group = 'Integration';
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
|
-
else if (type === 'team') {
|
|
244
|
-
if (['onboarding', 'getting started', 'setup'].some(k => keyword.includes(k))) {
|
|
245
|
-
group = 'Onboarding';
|
|
246
|
-
}
|
|
247
|
-
else if (['convention', 'style guide', 'best practice'].some(k => keyword.includes(k))) {
|
|
248
|
-
group = 'Conventions';
|
|
249
|
-
}
|
|
250
|
-
else if (['workflow', 'process', 'pr process', 'deployment'].some(k => keyword.includes(k))) {
|
|
251
|
-
group = 'Workflows';
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
if (!matchedGroups[group]) {
|
|
255
|
-
matchedGroups[group] = [];
|
|
256
|
-
}
|
|
257
|
-
matchedGroups[group].push(keyword);
|
|
258
|
-
});
|
|
259
|
-
// Generate reasons
|
|
260
|
-
Object.keys(matchedGroups).forEach(group => {
|
|
261
|
-
const count = matchedGroups[group].length;
|
|
262
|
-
const examples = matchedGroups[group].slice(0, 3).join(', ');
|
|
263
|
-
reasons.push(`${group}: Found ${count} indicator(s) (${examples})`);
|
|
264
|
-
});
|
|
265
|
-
return reasons;
|
|
266
|
-
}
|
|
267
|
-
/**
|
|
268
|
-
* Find all markdown files recursively
|
|
269
|
-
*
|
|
270
|
-
* @param dirPath - Directory to search
|
|
271
|
-
* @returns Array of file paths
|
|
272
|
-
*/
|
|
273
|
-
async findMarkdownFiles(dirPath) {
|
|
274
|
-
const files = [];
|
|
275
|
-
async function walk(dir) {
|
|
276
|
-
try {
|
|
277
|
-
const entries = await fs.readdir(dir, { withFileTypes: true });
|
|
278
|
-
for (const entry of entries) {
|
|
279
|
-
const fullPath = path.join(dir, entry.name);
|
|
280
|
-
// Skip hidden files and node_modules
|
|
281
|
-
if (entry.name.startsWith('.') || entry.name === 'node_modules') {
|
|
282
|
-
continue;
|
|
283
|
-
}
|
|
284
|
-
if (entry.isDirectory()) {
|
|
285
|
-
await walk(fullPath);
|
|
286
|
-
}
|
|
287
|
-
else if (entry.isFile() && (entry.name.endsWith('.md') || entry.name.endsWith('.markdown'))) {
|
|
288
|
-
files.push(fullPath);
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
|
-
}
|
|
292
|
-
catch (error) {
|
|
293
|
-
console.warn(`Warning: Could not read directory ${dir}: ${error instanceof Error ? error.message : String(error)}`);
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
await walk(dirPath);
|
|
297
|
-
return files;
|
|
298
|
-
}
|
|
299
|
-
/**
|
|
300
|
-
* Generate analysis summary report
|
|
301
|
-
*
|
|
302
|
-
* @param result - Analysis result
|
|
303
|
-
* @returns Summary string
|
|
304
|
-
*/
|
|
305
|
-
generateSummaryReport(result) {
|
|
306
|
-
const { totalFiles, specs, modules, team, legacy, statistics } = result;
|
|
307
|
-
let report = `# Brownfield Analysis Summary\n\n`;
|
|
308
|
-
report += `**Total Files**: ${totalFiles}\n\n`;
|
|
309
|
-
report += `## Classification Results\n\n`;
|
|
310
|
-
report += `| Category | Count | Avg Confidence | Percentage |\n`;
|
|
311
|
-
report += `|----------|-------|----------------|------------|\n`;
|
|
312
|
-
report += `| Specs | ${specs.length} | ${(statistics.specsConfidence * 100).toFixed(1)}% | ${((specs.length / totalFiles) * 100).toFixed(1)}% |\n`;
|
|
313
|
-
report += `| Modules | ${modules.length} | ${(statistics.modulesConfidence * 100).toFixed(1)}% | ${((modules.length / totalFiles) * 100).toFixed(1)}% |\n`;
|
|
314
|
-
report += `| Team | ${team.length} | ${(statistics.teamConfidence * 100).toFixed(1)}% | ${((team.length / totalFiles) * 100).toFixed(1)}% |\n`;
|
|
315
|
-
report += `| Legacy | ${legacy.length} | N/A | ${((legacy.length / totalFiles) * 100).toFixed(1)}% |\n\n`;
|
|
316
|
-
if (specs.length > 0) {
|
|
317
|
-
report += `## Specs (${specs.length} files)\n\n`;
|
|
318
|
-
specs.slice(0, 10).forEach(file => {
|
|
319
|
-
report += `- \`${file.relativePath}\` (${(file.confidence * 100).toFixed(0)}%)\n`;
|
|
320
|
-
if (file.reasons.length > 0) {
|
|
321
|
-
report += ` - ${file.reasons[0]}\n`;
|
|
322
|
-
}
|
|
323
|
-
});
|
|
324
|
-
if (specs.length > 10) {
|
|
325
|
-
report += `\n... and ${specs.length - 10} more\n`;
|
|
326
|
-
}
|
|
327
|
-
report += `\n`;
|
|
328
|
-
}
|
|
329
|
-
if (modules.length > 0) {
|
|
330
|
-
report += `## Modules (${modules.length} files)\n\n`;
|
|
331
|
-
modules.slice(0, 10).forEach(file => {
|
|
332
|
-
report += `- \`${file.relativePath}\` (${(file.confidence * 100).toFixed(0)}%)\n`;
|
|
333
|
-
if (file.reasons.length > 0) {
|
|
334
|
-
report += ` - ${file.reasons[0]}\n`;
|
|
335
|
-
}
|
|
336
|
-
});
|
|
337
|
-
if (modules.length > 10) {
|
|
338
|
-
report += `\n... and ${modules.length - 10} more\n`;
|
|
339
|
-
}
|
|
340
|
-
report += `\n`;
|
|
341
|
-
}
|
|
342
|
-
if (team.length > 0) {
|
|
343
|
-
report += `## Team Docs (${team.length} files)\n\n`;
|
|
344
|
-
team.forEach(file => {
|
|
345
|
-
report += `- \`${file.relativePath}\` (${(file.confidence * 100).toFixed(0)}%)\n`;
|
|
346
|
-
if (file.reasons.length > 0) {
|
|
347
|
-
report += ` - ${file.reasons[0]}\n`;
|
|
348
|
-
}
|
|
349
|
-
});
|
|
350
|
-
report += `\n`;
|
|
351
|
-
}
|
|
352
|
-
if (legacy.length > 0) {
|
|
353
|
-
report += `## Legacy (${legacy.length} files)\n\n`;
|
|
354
|
-
report += `Files with no strong classification:\n\n`;
|
|
355
|
-
legacy.slice(0, 10).forEach(file => {
|
|
356
|
-
report += `- \`${file.relativePath}\`\n`;
|
|
357
|
-
});
|
|
358
|
-
if (legacy.length > 10) {
|
|
359
|
-
report += `\n... and ${legacy.length - 10} more\n`;
|
|
360
|
-
}
|
|
361
|
-
}
|
|
362
|
-
return report;
|
|
363
|
-
}
|
|
364
|
-
}
|
|
365
|
-
//# sourceMappingURL=analyzer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"analyzer.js","sourceRoot":"","sources":["../../../../src/core/brownfield/analyzer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Brownfield Importer - Import External Documentation
|
|
3
|
-
*
|
|
4
|
-
* Imports brownfield documentation from Notion, Confluence, Wiki, etc.
|
|
5
|
-
* Classifies files and copies to appropriate destinations
|
|
6
|
-
*/
|
|
7
|
-
import { FileClassification } from './analyzer.js';
|
|
8
|
-
export interface ImportOptions {
|
|
9
|
-
sourcePath: string;
|
|
10
|
-
project: string;
|
|
11
|
-
source: 'notion' | 'confluence' | 'wiki' | 'custom';
|
|
12
|
-
preserveStructure?: boolean;
|
|
13
|
-
dryRun?: boolean;
|
|
14
|
-
}
|
|
15
|
-
export interface ImportReport {
|
|
16
|
-
totalFiles: number;
|
|
17
|
-
specsImported: number;
|
|
18
|
-
modulesImported: number;
|
|
19
|
-
teamImported: number;
|
|
20
|
-
legacyImported: number;
|
|
21
|
-
destination: string;
|
|
22
|
-
timestamp: string;
|
|
23
|
-
classifications: {
|
|
24
|
-
specs: FileClassification[];
|
|
25
|
-
modules: FileClassification[];
|
|
26
|
-
team: FileClassification[];
|
|
27
|
-
legacy: FileClassification[];
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
export declare class BrownfieldImporter {
|
|
31
|
-
private analyzer;
|
|
32
|
-
private projectManager;
|
|
33
|
-
private configManager;
|
|
34
|
-
private projectRoot;
|
|
35
|
-
constructor(projectRoot: string);
|
|
36
|
-
/**
|
|
37
|
-
* Import brownfield docs
|
|
38
|
-
*
|
|
39
|
-
* @param options - Import options
|
|
40
|
-
* @returns ImportReport
|
|
41
|
-
*/
|
|
42
|
-
import(options: ImportOptions): Promise<ImportReport>;
|
|
43
|
-
/**
|
|
44
|
-
* Import files to destination
|
|
45
|
-
*
|
|
46
|
-
* @param files - Files to import
|
|
47
|
-
* @param destination - Destination directory
|
|
48
|
-
* @param preserveStructure - Preserve original folder structure
|
|
49
|
-
* @param basePath - Base path for relative path calculation
|
|
50
|
-
*/
|
|
51
|
-
private importFiles;
|
|
52
|
-
/**
|
|
53
|
-
* Create migration report in legacy/ folder
|
|
54
|
-
*
|
|
55
|
-
* @param options - Import options
|
|
56
|
-
* @param report - Import report
|
|
57
|
-
* @param analysis - Analysis result
|
|
58
|
-
*/
|
|
59
|
-
private createMigrationReport;
|
|
60
|
-
/**
|
|
61
|
-
* Update config with import history
|
|
62
|
-
*
|
|
63
|
-
* @param options - Import options
|
|
64
|
-
* @param report - Import report
|
|
65
|
-
*/
|
|
66
|
-
private updateConfig;
|
|
67
|
-
/**
|
|
68
|
-
* Preview import (dry run)
|
|
69
|
-
*
|
|
70
|
-
* @param options - Import options
|
|
71
|
-
* @returns Analysis result as string
|
|
72
|
-
*/
|
|
73
|
-
preview(options: ImportOptions): Promise<string>;
|
|
74
|
-
private calculateAvgConfidence;
|
|
75
|
-
}
|
|
76
|
-
//# sourceMappingURL=importer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"importer.d.ts","sourceRoot":"","sources":["../../../../src/core/brownfield/importer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAsB,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAIvE,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,QAAQ,GAAG,YAAY,GAAG,MAAM,GAAG,QAAQ,CAAC;IACpD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE;QACf,KAAK,EAAE,kBAAkB,EAAE,CAAC;QAC5B,OAAO,EAAE,kBAAkB,EAAE,CAAC;QAC9B,IAAI,EAAE,kBAAkB,EAAE,CAAC;QAC3B,MAAM,EAAE,kBAAkB,EAAE,CAAC;KAC9B,CAAC;CACH;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,WAAW,CAAS;gBAEhB,WAAW,EAAE,MAAM;IAO/B;;;;;OAKG;IACG,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IAuG3D;;;;;;;OAOG;YACW,WAAW;IAoCzB;;;;;;OAMG;YACW,qBAAqB;IAgGnC;;;;;OAKG;YACW,YAAY;IAsB1B;;;;;OAKG;IACG,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IAkBtD,OAAO,CAAC,sBAAsB;CAI/B"}
|