@mycodemap/mycodemap 0.2.0 → 0.3.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 (99) hide show
  1. package/CHANGELOG.md +85 -0
  2. package/dist/cli/commands/ship/analyzer.d.ts +26 -0
  3. package/dist/cli/commands/ship/analyzer.d.ts.map +1 -0
  4. package/dist/cli/commands/ship/analyzer.js +143 -0
  5. package/dist/cli/commands/ship/analyzer.js.map +1 -0
  6. package/dist/cli/commands/ship/checker.d.ts +20 -0
  7. package/dist/cli/commands/ship/checker.d.ts.map +1 -0
  8. package/dist/cli/commands/ship/checker.js +86 -0
  9. package/dist/cli/commands/ship/checker.js.map +1 -0
  10. package/dist/cli/commands/ship/index.d.ts +17 -0
  11. package/dist/cli/commands/ship/index.d.ts.map +1 -0
  12. package/dist/cli/commands/ship/index.js +51 -0
  13. package/dist/cli/commands/ship/index.js.map +1 -0
  14. package/dist/cli/commands/ship/monitor.d.ts +19 -0
  15. package/dist/cli/commands/ship/monitor.d.ts.map +1 -0
  16. package/dist/cli/commands/ship/monitor.js +105 -0
  17. package/dist/cli/commands/ship/monitor.js.map +1 -0
  18. package/dist/cli/commands/ship/pipeline.d.ts +23 -0
  19. package/dist/cli/commands/ship/pipeline.d.ts.map +1 -0
  20. package/dist/cli/commands/ship/pipeline.js +146 -0
  21. package/dist/cli/commands/ship/pipeline.js.map +1 -0
  22. package/dist/cli/commands/ship/publisher.d.ts +11 -0
  23. package/dist/cli/commands/ship/publisher.d.ts.map +1 -0
  24. package/dist/cli/commands/ship/publisher.js +75 -0
  25. package/dist/cli/commands/ship/publisher.js.map +1 -0
  26. package/dist/cli/commands/ship/rules/confidence-rules.d.ts +48 -0
  27. package/dist/cli/commands/ship/rules/confidence-rules.d.ts.map +1 -0
  28. package/dist/cli/commands/ship/rules/confidence-rules.js +122 -0
  29. package/dist/cli/commands/ship/rules/confidence-rules.js.map +1 -0
  30. package/dist/cli/commands/ship/rules/quality-rules.d.ts +25 -0
  31. package/dist/cli/commands/ship/rules/quality-rules.d.ts.map +1 -0
  32. package/dist/cli/commands/ship/rules/quality-rules.js +134 -0
  33. package/dist/cli/commands/ship/rules/quality-rules.js.map +1 -0
  34. package/dist/cli/commands/ship/rules/version-rules.d.ts +24 -0
  35. package/dist/cli/commands/ship/rules/version-rules.d.ts.map +1 -0
  36. package/dist/cli/commands/ship/rules/version-rules.js +75 -0
  37. package/dist/cli/commands/ship/rules/version-rules.js.map +1 -0
  38. package/dist/cli/commands/ship/versioner.d.ts +12 -0
  39. package/dist/cli/commands/ship/versioner.d.ts.map +1 -0
  40. package/dist/cli/commands/ship/versioner.js +92 -0
  41. package/dist/cli/commands/ship/versioner.js.map +1 -0
  42. package/dist/cli/index.js +9 -0
  43. package/dist/cli/index.js.map +1 -1
  44. package/docs/PUBLISHING.md +344 -34
  45. package/docs/ai-guide/COMMANDS.md +34 -0
  46. package/docs/rules/pre-release-checklist.md +426 -0
  47. package/package.json +8 -2
  48. package/scripts/.githooks/commit-msg +31 -0
  49. package/scripts/.githooks/pre-commit +55 -0
  50. package/scripts/benchmark.ts +209 -0
  51. package/scripts/hooks/commit-msg +24 -0
  52. package/scripts/hooks/install-hooks.sh +29 -0
  53. package/scripts/hooks/pre-commit +60 -0
  54. package/scripts/pre-release-check.js +717 -0
  55. package/scripts/release.sh +142 -0
  56. package/scripts/run-benchmark.sh +29 -0
  57. package/scripts/validate-ai-docs.js +294 -0
  58. package/scripts/validate-docs.js +238 -0
  59. package/scripts/validate-pack.js +86 -0
  60. package/dist/ai/claude.d.ts +0 -38
  61. package/dist/ai/claude.d.ts.map +0 -1
  62. package/dist/ai/claude.js +0 -169
  63. package/dist/ai/claude.js.map +0 -1
  64. package/dist/ai/codex.d.ts +0 -38
  65. package/dist/ai/codex.d.ts.map +0 -1
  66. package/dist/ai/codex.js +0 -169
  67. package/dist/ai/codex.js.map +0 -1
  68. package/dist/ai/factory.d.ts +0 -48
  69. package/dist/ai/factory.d.ts.map +0 -1
  70. package/dist/ai/factory.js +0 -95
  71. package/dist/ai/factory.js.map +0 -1
  72. package/dist/ai/index.d.ts +0 -12
  73. package/dist/ai/index.d.ts.map +0 -1
  74. package/dist/ai/index.js +0 -29
  75. package/dist/ai/index.js.map +0 -1
  76. package/dist/ai/provider.d.ts +0 -70
  77. package/dist/ai/provider.d.ts.map +0 -1
  78. package/dist/ai/provider.js +0 -31
  79. package/dist/ai/provider.js.map +0 -1
  80. package/dist/ai/subagent-caller.d.ts +0 -90
  81. package/dist/ai/subagent-caller.d.ts.map +0 -1
  82. package/dist/ai/subagent-caller.js +0 -280
  83. package/dist/ai/subagent-caller.js.map +0 -1
  84. package/dist/ai/types.d.ts +0 -70
  85. package/dist/ai/types.d.ts.map +0 -1
  86. package/dist/ai/types.js +0 -5
  87. package/dist/ai/types.js.map +0 -1
  88. package/dist/generator/ai-overview.d.ts +0 -51
  89. package/dist/generator/ai-overview.d.ts.map +0 -1
  90. package/dist/generator/ai-overview.js +0 -160
  91. package/dist/generator/ai-overview.js.map +0 -1
  92. package/dist/orchestrator/ai-feed-generator.d.ts +0 -210
  93. package/dist/orchestrator/ai-feed-generator.d.ts.map +0 -1
  94. package/dist/orchestrator/ai-feed-generator.js +0 -377
  95. package/dist/orchestrator/ai-feed-generator.js.map +0 -1
  96. package/docs/archive/test-report-symbol-search.md +0 -384
  97. package/docs/archive/test-scenario-4-complexity-analysis.md +0 -460
  98. package/docs/archive/test_report_scenario5.md +0 -615
  99. package/docs/archive/test_scenario_3_impact_analysis_report.md +0 -520
@@ -1,51 +0,0 @@
1
- import type { CodeMap } from '../types/index.js';
2
- import type { SubagentOutput } from '../ai/subagent-caller.js';
3
- /**
4
- * AI Overview Generator 配置
5
- */
6
- export interface AIOverviewConfig {
7
- /** 输出目录 */
8
- outputDir: string;
9
- /** 是否启用 AI 生成 */
10
- enabled?: boolean;
11
- /** 输出文件名 */
12
- filename?: string;
13
- }
14
- /**
15
- * AI Overview Generator - 生成并保存 AI 概述
16
- */
17
- export declare class AIOverviewGenerator {
18
- private outputDir;
19
- private enabled;
20
- private filename;
21
- constructor(config: AIOverviewConfig);
22
- /**
23
- * 生成并保存 AI 概述
24
- */
25
- generate(codeMap: CodeMap, aiOutput: SubagentOutput): Promise<string>;
26
- /**
27
- * 构建 Markdown 内容
28
- */
29
- private buildMarkdown;
30
- /**
31
- * 读取已保存的概述
32
- */
33
- read(): Promise<string | null>;
34
- /**
35
- * 检查概述是否存在
36
- */
37
- exists(): Promise<boolean>;
38
- /**
39
- * 获取输出文件路径
40
- */
41
- getOutputPath(): string;
42
- /**
43
- * 是否启用
44
- */
45
- isEnabled(): boolean;
46
- }
47
- /**
48
- * 创建 AI Overview Generator 实例
49
- */
50
- export declare function createAIOverviewGenerator(config: AIOverviewConfig): AIOverviewGenerator;
51
- //# sourceMappingURL=ai-overview.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ai-overview.d.ts","sourceRoot":"","sources":["../../src/generator/ai-overview.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,WAAW;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,QAAQ,CAAS;gBAEb,MAAM,EAAE,gBAAgB;IAMpC;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAe3E;;OAEG;IACH,OAAO,CAAC,aAAa;IAgGrB;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAUpC;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAWhC;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,SAAS,IAAI,OAAO;CAGrB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,gBAAgB,GAAG,mBAAmB,CAEvF"}
@@ -1,160 +0,0 @@
1
- // ============================================
2
- // AI Overview Generator - AI 概述生成与保存
3
- // ============================================
4
- import * as fs from 'fs/promises';
5
- import * as path from 'path';
6
- /**
7
- * AI Overview Generator - 生成并保存 AI 概述
8
- */
9
- export class AIOverviewGenerator {
10
- outputDir;
11
- enabled;
12
- filename;
13
- constructor(config) {
14
- this.outputDir = config.outputDir;
15
- this.enabled = config.enabled ?? true;
16
- this.filename = config.filename || 'AI_OVERVIEW.md';
17
- }
18
- /**
19
- * 生成并保存 AI 概述
20
- */
21
- async generate(codeMap, aiOutput) {
22
- const outputPath = path.join(this.outputDir, this.filename);
23
- // 构建 Markdown 内容
24
- const content = this.buildMarkdown(codeMap, aiOutput);
25
- // 确保输出目录存在
26
- await fs.mkdir(this.outputDir, { recursive: true });
27
- // 写入文件
28
- await fs.writeFile(outputPath, content, 'utf-8');
29
- return outputPath;
30
- }
31
- /**
32
- * 构建 Markdown 内容
33
- */
34
- buildMarkdown(codeMap, aiOutput) {
35
- const lines = [];
36
- // 标题
37
- lines.push('# ' + aiOutput.title);
38
- lines.push('');
39
- // 元数据
40
- lines.push('<!-- AI Generated Overview -->');
41
- lines.push(`- **生成时间**: ${new Date(aiOutput.metadata.generatedAt).toLocaleString('zh-CN')}`);
42
- lines.push(`- **模型**: ${aiOutput.metadata.model}`);
43
- lines.push('');
44
- // 项目统计
45
- lines.push('## 项目统计');
46
- lines.push('');
47
- lines.push(`| 指标 | 数值 |`);
48
- lines.push(`|------|------|`);
49
- lines.push(`| 文件总数 | ${codeMap.summary.totalFiles} |`);
50
- lines.push(`| 代码行数 | ${codeMap.summary.totalLines} |`);
51
- lines.push(`| 模块数量 | ${codeMap.summary.totalModules} |`);
52
- lines.push(`| 导出符号 | ${codeMap.summary.totalExports} |`);
53
- lines.push(`| 类型定义 | ${codeMap.summary.totalTypes} |`);
54
- lines.push('');
55
- // 架构信息
56
- if (aiOutput.architecture) {
57
- lines.push('## 架构分析');
58
- lines.push('');
59
- lines.push(`- **架构模式**: ${aiOutput.architecture.pattern || '未识别'}`);
60
- lines.push('');
61
- if (aiOutput.architecture.layers && aiOutput.architecture.layers.length > 0) {
62
- lines.push('### 分层结构');
63
- lines.push('');
64
- for (const layer of aiOutput.architecture.layers) {
65
- lines.push(`#### ${layer.name}`);
66
- lines.push(`- **职责**: ${layer.responsibility}`);
67
- if (layer.modules.length > 0) {
68
- lines.push(`- **模块**: ${layer.modules.join(', ')}`);
69
- }
70
- lines.push('');
71
- }
72
- }
73
- if (aiOutput.architecture.metrics) {
74
- lines.push('### 架构指标');
75
- lines.push('');
76
- lines.push(`- **耦合度**: ${aiOutput.architecture.metrics.coupling}`);
77
- lines.push(`- **内聚度**: ${aiOutput.architecture.metrics.cohesion}`);
78
- lines.push(`- **复杂度**: ${aiOutput.architecture.metrics.complexity}`);
79
- lines.push('');
80
- }
81
- }
82
- // AI 生成的内容
83
- lines.push('## 项目概述');
84
- lines.push('');
85
- lines.push(aiOutput.content);
86
- lines.push('');
87
- // 亮点模块
88
- if (aiOutput.highlights.length > 0) {
89
- lines.push('## 亮点模块');
90
- lines.push('');
91
- for (const highlight of aiOutput.highlights) {
92
- lines.push(`- ${highlight}`);
93
- }
94
- lines.push('');
95
- }
96
- // 模块列表(简要)
97
- lines.push('## 模块列表');
98
- lines.push('');
99
- lines.push('| 模块路径 | 导出数 | 依赖数 |');
100
- lines.push('|----------|--------|--------|');
101
- for (const mod of codeMap.modules.slice(0, 20)) {
102
- const exportsCount = mod.exports.length;
103
- const depsCount = mod.dependencies.length;
104
- const relPath = path.relative(codeMap.project.rootDir, mod.path);
105
- lines.push(`| ${relPath} | ${exportsCount} | ${depsCount} |`);
106
- }
107
- if (codeMap.modules.length > 20) {
108
- lines.push(`| ... | ... | ... |`);
109
- }
110
- lines.push('');
111
- lines.push('---');
112
- lines.push('');
113
- lines.push('*由 CodeMap AI Generator 生成*');
114
- return lines.join('\n');
115
- }
116
- /**
117
- * 读取已保存的概述
118
- */
119
- async read() {
120
- const outputPath = path.join(this.outputDir, this.filename);
121
- try {
122
- return await fs.readFile(outputPath, 'utf-8');
123
- }
124
- catch {
125
- return null;
126
- }
127
- }
128
- /**
129
- * 检查概述是否存在
130
- */
131
- async exists() {
132
- const outputPath = path.join(this.outputDir, this.filename);
133
- try {
134
- await fs.access(outputPath);
135
- return true;
136
- }
137
- catch {
138
- return false;
139
- }
140
- }
141
- /**
142
- * 获取输出文件路径
143
- */
144
- getOutputPath() {
145
- return path.join(this.outputDir, this.filename);
146
- }
147
- /**
148
- * 是否启用
149
- */
150
- isEnabled() {
151
- return this.enabled;
152
- }
153
- }
154
- /**
155
- * 创建 AI Overview Generator 实例
156
- */
157
- export function createAIOverviewGenerator(config) {
158
- return new AIOverviewGenerator(config);
159
- }
160
- //# sourceMappingURL=ai-overview.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ai-overview.js","sourceRoot":"","sources":["../../src/generator/ai-overview.ts"],"names":[],"mappings":"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"}
@@ -1,210 +0,0 @@
1
- import { GitAnalyzer, HeatScore } from './git-analyzer';
2
- /**
3
- * File metadata interface (flat structure for compatibility)
4
- */
5
- export interface FileMeta {
6
- /** Creation date, format: 2024-01 */
7
- since?: string;
8
- /** Owner/team */
9
- owner?: string;
10
- /** Whether stable */
11
- stable?: boolean;
12
- /** Reason for existence */
13
- why?: string;
14
- /** Key dependencies */
15
- deps?: string[];
16
- }
17
- /**
18
- * File header metadata interface (nested structure)
19
- * @deprecated Use FileMeta instead
20
- */
21
- export interface FileHeaderMeta {
22
- /** Creation date, format: 2024-01 */
23
- since?: string;
24
- /** Owner/team */
25
- owner?: string;
26
- /** Whether stable */
27
- stable?: boolean;
28
- }
29
- /**
30
- * File header parsing result interface
31
- */
32
- export interface FileHeader {
33
- /** META metadata */
34
- meta?: FileHeaderMeta;
35
- /** Reason for existence */
36
- why?: string;
37
- /** Key dependencies */
38
- deps?: string[];
39
- }
40
- /**
41
- * AI Feed entry interface
42
- */
43
- export interface AIFeed {
44
- /** File path */
45
- file: string;
46
- /** Dependency complexity (out-degree + in-degree) */
47
- gravity: number;
48
- /** Heat score */
49
- heat: HeatScore;
50
- /** Metadata */
51
- meta: FileHeaderMeta & {
52
- why?: string;
53
- };
54
- /** Dependencies */
55
- deps: string[];
56
- /** Files that depend on this */
57
- dependents: string[];
58
- }
59
- /**
60
- * File header comment scanner
61
- * Scans [META]/[WHY]/[DEPS] comments at the top of files
62
- */
63
- export declare class FileHeaderScanner {
64
- /**
65
- * Scan file header comments
66
- * Only reads first 10 lines of the file
67
- *
68
- * @param filePath - Full file path
69
- * @returns FileMeta parsing result
70
- */
71
- scan(filePath: string): FileMeta;
72
- /**
73
- * Parse file header content string (public for testing)
74
- * Alias for parseHeaderContent for backward compatibility
75
- *
76
- * @param header - File header content (first 10 lines as string)
77
- * @returns FileMeta parsing result with flat structure
78
- */
79
- parseHeader(header: string): FileMeta;
80
- /**
81
- * Parse file header content (public for testing)
82
- * Returns nested structure for backward compatibility with tests
83
- *
84
- * @param header - File header content (first 10 lines)
85
- * @returns FileHeader parsing result with nested meta
86
- */
87
- parseHeaderContent(header: string): FileHeader & FileMeta;
88
- /**
89
- * Validate file header completeness
90
- * Used by CI gateway
91
- *
92
- * @param filePath - File path
93
- * @returns Validation result
94
- */
95
- validate(filePath: string): {
96
- valid: boolean;
97
- missing: string[];
98
- };
99
- }
100
- /**
101
- * AI Feed Generator class
102
- * Generates structured data for AI consumption
103
- */
104
- export declare class AIFeedGenerator {
105
- private gitAnalyzer;
106
- private headerScanner;
107
- /**
108
- * Constructor
109
- *
110
- * @param gitAnalyzer - GitAnalyzer instance
111
- */
112
- constructor(gitAnalyzer: GitAnalyzer);
113
- /**
114
- * Generate AI feed
115
- * Integrated into codemap generate command
116
- *
117
- * @param projectRoot - Project root directory
118
- * @param options - Generation options
119
- * @param options.includeGitHistory - Whether to include Git history analysis (default: false)
120
- * @returns AIFeed[] feed list (sorted by gravity descending)
121
- */
122
- generate(projectRoot: string, options?: {
123
- includeGitHistory?: boolean;
124
- }): Promise<AIFeed[]>;
125
- /**
126
- * Output AI feed file
127
- *
128
- * @param feed - AI feed list
129
- * @param outputPath - Output file path
130
- */
131
- writeFeedFile(feed: AIFeed[], outputPath: string): void;
132
- /**
133
- * Scan Git history for heat score
134
- *
135
- * @param filePath - File path (relative to projectRoot)
136
- * @param projectRoot - Project root directory
137
- * @returns HeatScore heat score
138
- */
139
- private scanGitHistory;
140
- /**
141
- * Calculate dependencies
142
- * Scan import statements, build dependency graph
143
- *
144
- * @param feed - AI feed list
145
- * @param projectRoot - Project root directory
146
- */
147
- private calculateDependencies;
148
- /**
149
- * Resolve import path to path relative to project root
150
- *
151
- * @param currentFile - Current file path
152
- * @param importPath - Import path from import statement
153
- * @returns Resolved path, or null if cannot resolve
154
- */
155
- private resolveImportPath;
156
- /**
157
- * Scan file header (convenience method)
158
- * Delegates to FileHeaderScanner
159
- *
160
- * @param filePath - File path
161
- * @returns FileMeta file metadata
162
- */
163
- scanFileHeader(filePath: string): FileMeta;
164
- /**
165
- * Calculate scores for a single feed item
166
- * Returns normalized scores
167
- *
168
- * @param feed - AI feed item
169
- * @param maxGravity - Maximum gravity value for normalization
170
- * @param maxImpact - Maximum impact value for normalization
171
- * @returns Object with gravity, impact, heat scores
172
- */
173
- calculateScores(feed: AIFeed, maxGravity?: number, maxImpact?: number): {
174
- gravity: number;
175
- impact: number;
176
- heat: number;
177
- };
178
- /**
179
- * Calculate file risk level
180
- * Based on REQUIREMENTS section 8.6 risk scoring formula
181
- *
182
- * @param feed - Single file AI feed
183
- * @returns Risk level: 'high' | 'medium' | 'low'
184
- */
185
- calculateRisk(feed: AIFeed): 'high' | 'medium' | 'low';
186
- /**
187
- * Batch calculate risk levels
188
- *
189
- * @param feedList - AI feed list
190
- * @returns Map<file path, risk level>
191
- */
192
- calculateRisks(feedList: AIFeed[]): Map<string, 'high' | 'medium' | 'low'>;
193
- /**
194
- * Get high risk file list
195
- *
196
- * @param feedList - AI feed list
197
- * @returns High risk file list
198
- */
199
- getHighRiskFiles(feedList: AIFeed[]): AIFeed[];
200
- /**
201
- * Generate JSON format AI feed
202
- * For programmatic processing
203
- *
204
- * @param feed - AI feed list
205
- * @param outputPath - Output file path
206
- */
207
- writeFeedFileJson(feed: AIFeed[], outputPath: string): void;
208
- }
209
- export type { HeatScore };
210
- //# sourceMappingURL=ai-feed-generator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ai-feed-generator.d.ts","sourceRoot":"","sources":["../../src/orchestrator/ai-feed-generator.ts"],"names":[],"mappings":"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"}