cortex-tms 2.2.0 → 2.3.0
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/dist/__tests__/validate.test.js +2 -0
- package/dist/__tests__/validate.test.js.map +1 -1
- package/dist/cli.js +2 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +96 -25
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/status.d.ts +4 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +99 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +39 -0
- package/dist/commands/validate.js.map +1 -1
- package/dist/types/cli.d.ts +4 -0
- package/dist/types/cli.d.ts.map +1 -1
- package/dist/utils/prompts.d.ts.map +1 -1
- package/dist/utils/prompts.js +15 -0
- package/dist/utils/prompts.js.map +1 -1
- package/dist/utils/status.d.ts +21 -0
- package/dist/utils/status.d.ts.map +1 -0
- package/dist/utils/status.js +86 -0
- package/dist/utils/status.js.map +1 -0
- package/dist/utils/templates.d.ts +8 -0
- package/dist/utils/templates.d.ts.map +1 -1
- package/dist/utils/templates.js +92 -7
- package/dist/utils/templates.js.map +1 -1
- package/dist/utils/validator.d.ts +1 -0
- package/dist/utils/validator.d.ts.map +1 -1
- package/dist/utils/validator.js +54 -3
- package/dist/utils/validator.js.map +1 -1
- package/package.json +1 -1
- package/templates/vscode/tms.code-snippets +225 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/utils/prompts.ts"],"names":[],"mappings":"AAMA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAK5C,MAAM,mBAAmB,GAAG;IAC1B,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,iDAAiD,EAAE;IACnF,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,+CAA+C,EAAE;IAC7E,EAAE,KAAK,EAAE,iCAAiC,EAAE,IAAI,EAAE,0DAA0D,EAAE;IAC9G,EAAE,KAAK,EAAE,wBAAwB,EAAE,IAAI,EAAE,0CAA0C,EAAE;IACrF,EAAE,KAAK,EAAE,2BAA2B,EAAE,IAAI,EAAE,iCAAiC,EAAE;IAC/E,EAAE,KAAK,EAAE,uBAAuB,EAAE,IAAI,EAAE,gCAAgC,EAAE;IAC1E,EAAE,KAAK,EAAE,2BAA2B,EAAE,IAAI,EAAE,kCAAkC,EAAE;IAChF,EAAE,KAAK,EAAE,wBAAwB,EAAE,IAAI,EAAE,uCAAuC,EAAE;IAClF,EAAE,KAAK,EAAE,uBAAuB,EAAE,IAAI,EAAE,mCAAmC,EAAE;IAC7E,EAAE,KAAK,EAAE,qBAAqB,EAAE,IAAI,EAAE,yBAAyB,EAAE;IACjE,EAAE,KAAK,EAAE,8BAA8B,EAAE,IAAI,EAAE,oCAAoC,EAAE;CACtF,CAAC;AASF,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAuB,EACvB,GAAW;IAEX,MAAM,WAAW,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAG/C,MAAM,OAAO,GAAG,CAAC,MAAO,QAAQ,CAAC,MAAc,CAAC;QAC9C;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,4BAA4B;YACrC,OAAO,EAAE,WAAW;YACpB,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;gBAC1B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACxC,OAAO,0BAA0B,CAAC;gBACpC,CAAC;gBACD,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;oBACvB,OAAO,6CAA6C,CAAC;gBACvD,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;SACF;QACD;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,iCAAiC;YAC1C,OAAO,EAAE,SAAS;SACnB;QACD;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,oCAAoC;YAC7C,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBACtC,IAAI,EAAE,GAAG,MAAM,CAAC,WAAW,MAAM,MAAM,CAAC,WAAW,EAAE;gBACrD,KAAK,EAAE,MAAM,CAAC,IAAI;aACnB,CAAC,CAAC;YACH,OAAO,EAAE,UAAU;SACpB;KACF,CAAC,CAAsB,CAAC;IAGzB,IAAI,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAE/B,MAAM,EAAE,WAAW,EAAE,GAAG,MAAO,QAAQ,CAAC,MAAc,CAAC;YACrD,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,kEAAkE;YAC3E,OAAO,EAAE,mBAAmB;YAC5B,OAAO,EAAE,CAAC,eAAe,EAAE,WAAW,EAAE,iCAAiC,CAAC;YAC1E,QAAQ,EAAE,CAAC,KAAe,EAAE,EAAE;gBAE5B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;oBACrC,OAAO,oDAAoD,CAAC;gBAC9D,CAAC;gBACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACvB,OAAO,mCAAmC,CAAC;gBAC7C,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;SACF,CAAC,CAAC;QAEH,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC;IACpC,CAAC;IAGD,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAyB;YAClE;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,YAAY,OAAO,CAAC,aAAa,CAAC,MAAM,6CAA6C;gBAC9F,OAAO,EAAE,KAAK;aACf;SACF,CAAC,CAAC;QAEH,OAAO,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,CAAC;IACnC,CAAC;IAED,OAAO,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AAC1C,CAAC;AAQD,MAAM,UAAU,eAAe,CAC7B,OAA0B,EAC1B,OAAuB;IAEvB,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;IAEnE,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC7B,OAAO,CAAC,GAAG,CAAC,cAAc,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACjD,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,kBAAkB,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,EAAE,WAAW,IAAI,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,WAAW,CAAC,MAAM,kBAAkB,CAAC,CAAC;QAC/G,OAAO,CAAC,GAAG,CAAC,YAAY,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5D,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CACT,YAAY,MAAM,EAAE,WAAW,IAAI,OAAO,CAAC,KAAK,KAAK,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,IAAI,CAAC,CAAC,SAAS,CACzI,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CACT,sBAAsB,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,EAAE,CACxG,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,wBAAwB,OAAO,CAAC,aAAa,CAAC,MAAM,iBAAiB,CAAC,CAAC;IACrF,CAAC;IAED,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC;AAOD,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAyB;QAClE;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,4CAA4C;YACrD,OAAO,EAAE,IAAI;SACd;KACF,CAAC,CAAC;IAEH,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/utils/prompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { CortexConfig } from '../types/cli.js';
|
|
2
|
+
export interface SprintInfo {
|
|
3
|
+
name: string;
|
|
4
|
+
description: string;
|
|
5
|
+
totalTasks: number;
|
|
6
|
+
completedTasks: number;
|
|
7
|
+
inProgressTasks: number;
|
|
8
|
+
todoTasks: number;
|
|
9
|
+
}
|
|
10
|
+
export interface ProjectStatus {
|
|
11
|
+
projectName: string;
|
|
12
|
+
scope: string;
|
|
13
|
+
sprint: SprintInfo | null;
|
|
14
|
+
backlogSize: number;
|
|
15
|
+
config: CortexConfig | null;
|
|
16
|
+
}
|
|
17
|
+
export declare function parseSprintInfo(content: string): SprintInfo | null;
|
|
18
|
+
export declare function countBacklogItems(content: string): number;
|
|
19
|
+
export declare function calculateProgress(sprint: SprintInfo): number;
|
|
20
|
+
export declare function getProjectStatus(cwd: string): Promise<ProjectStatus>;
|
|
21
|
+
//# sourceMappingURL=status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/utils/status.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAMpD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAKD,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;CAC7B;AAaD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CA8ClE;AAUD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAKzD;AAQD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAK5D;AAWD,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CA2C1E"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { readFile } from 'fs/promises';
|
|
2
|
+
import { existsSync } from 'fs';
|
|
3
|
+
import { join } from 'path';
|
|
4
|
+
import { loadConfig } from './config.js';
|
|
5
|
+
export function parseSprintInfo(content) {
|
|
6
|
+
const sprintMatch = content.match(/##\s+Active Sprint:\s*(.+?)(?:\n|$)/i);
|
|
7
|
+
if (!sprintMatch) {
|
|
8
|
+
return null;
|
|
9
|
+
}
|
|
10
|
+
const sprintName = sprintMatch[1]?.trim() || '';
|
|
11
|
+
const descMatch = content.match(/\*\*Why this matters\*\*:\s*(.+?)(?:\n|$)/i);
|
|
12
|
+
const description = descMatch?.[1]?.trim() || '';
|
|
13
|
+
const taskLines = content.match(/\|[^|]*\|[^|]*\|[^|]*\|[^|]*\|[^|]*\|/g) || [];
|
|
14
|
+
const dataRows = taskLines.filter((line) => !line.includes('Task') && !line.includes('---'));
|
|
15
|
+
let completedTasks = 0;
|
|
16
|
+
let inProgressTasks = 0;
|
|
17
|
+
let todoTasks = 0;
|
|
18
|
+
for (const row of dataRows) {
|
|
19
|
+
if (row.includes('✅ Done')) {
|
|
20
|
+
completedTasks++;
|
|
21
|
+
}
|
|
22
|
+
else if (row.includes('🔄 In Progress')) {
|
|
23
|
+
inProgressTasks++;
|
|
24
|
+
}
|
|
25
|
+
else if (row.includes('⬜ Todo')) {
|
|
26
|
+
todoTasks++;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
const totalTasks = completedTasks + inProgressTasks + todoTasks;
|
|
30
|
+
return {
|
|
31
|
+
name: sprintName,
|
|
32
|
+
description,
|
|
33
|
+
totalTasks,
|
|
34
|
+
completedTasks,
|
|
35
|
+
inProgressTasks,
|
|
36
|
+
todoTasks,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
export function countBacklogItems(content) {
|
|
40
|
+
const itemMatches = content.match(/^- \*\*.+?\*\*:/gm) || [];
|
|
41
|
+
return itemMatches.length;
|
|
42
|
+
}
|
|
43
|
+
export function calculateProgress(sprint) {
|
|
44
|
+
if (sprint.totalTasks === 0) {
|
|
45
|
+
return 0;
|
|
46
|
+
}
|
|
47
|
+
return Math.round((sprint.completedTasks / sprint.totalTasks) * 100);
|
|
48
|
+
}
|
|
49
|
+
export async function getProjectStatus(cwd) {
|
|
50
|
+
let config = null;
|
|
51
|
+
try {
|
|
52
|
+
config = await loadConfig(cwd);
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
}
|
|
56
|
+
const projectName = config?.metadata?.projectName || 'Unknown Project';
|
|
57
|
+
const scope = config?.scope || 'unknown';
|
|
58
|
+
let sprint = null;
|
|
59
|
+
const tasksPath = join(cwd, 'NEXT-TASKS.md');
|
|
60
|
+
if (existsSync(tasksPath)) {
|
|
61
|
+
try {
|
|
62
|
+
const tasksContent = await readFile(tasksPath, 'utf-8');
|
|
63
|
+
sprint = parseSprintInfo(tasksContent);
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
let backlogSize = 0;
|
|
69
|
+
const backlogPath = join(cwd, 'FUTURE-ENHANCEMENTS.md');
|
|
70
|
+
if (existsSync(backlogPath)) {
|
|
71
|
+
try {
|
|
72
|
+
const backlogContent = await readFile(backlogPath, 'utf-8');
|
|
73
|
+
backlogSize = countBacklogItems(backlogContent);
|
|
74
|
+
}
|
|
75
|
+
catch {
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return {
|
|
79
|
+
projectName,
|
|
80
|
+
scope,
|
|
81
|
+
sprint,
|
|
82
|
+
backlogSize,
|
|
83
|
+
config,
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/utils/status.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
import type { TemplateFile } from '../types/cli.js';
|
|
2
|
+
export type FileStatus = 'CREATE' | 'UPDATE' | 'SKIP' | 'CONFLICT';
|
|
3
|
+
export interface FileChange {
|
|
4
|
+
path: string;
|
|
5
|
+
status: FileStatus;
|
|
6
|
+
reason?: string;
|
|
7
|
+
}
|
|
2
8
|
export declare function getTemplatesDir(): string;
|
|
3
9
|
export declare function replacePlaceholders(content: string, replacements: Record<string, string>): string;
|
|
4
10
|
export declare function processTemplate(sourcePath: string, destPath: string, replacements: Record<string, string>): Promise<void>;
|
|
@@ -7,9 +13,11 @@ export declare function copyTemplates(templatesDir: string, destDir: string, rep
|
|
|
7
13
|
overwrite?: boolean;
|
|
8
14
|
scope?: 'nano' | 'standard' | 'enterprise' | 'custom';
|
|
9
15
|
customFiles?: string[];
|
|
16
|
+
dryRun?: boolean;
|
|
10
17
|
}): Promise<{
|
|
11
18
|
copied: number;
|
|
12
19
|
skipped: number;
|
|
20
|
+
changes?: FileChange[];
|
|
13
21
|
}>;
|
|
14
22
|
export declare function generateReplacements(projectName: string, description?: string): Record<string, string>;
|
|
15
23
|
//# sourceMappingURL=templates.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/utils/templates.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/utils/templates.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AASpD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;AAKnE,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAKD,wBAAgB,eAAe,IAAI,MAAM,CAGxC;AAcD,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,MAAM,CAUR;AASD,wBAAsB,eAAe,CACnC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,OAAO,CAAC,IAAI,CAAC,CAYf;AAQD,wBAAsB,gBAAgB,CACpC,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,YAAY,EAAE,CAAC,CA2CzB;AAUD,wBAAsB,aAAa,CACjC,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,OAAO,GAAE;IACP,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,YAAY,GAAG,QAAQ,CAAC;IACtD,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;CACb,GACL,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,UAAU,EAAE,CAAA;CAAE,CAAC,CAkGtE;AAgFD,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAaxB"}
|
package/dist/utils/templates.js
CHANGED
|
@@ -2,6 +2,7 @@ import fs from 'fs-extra';
|
|
|
2
2
|
import { join, relative } from 'path';
|
|
3
3
|
import { fileURLToPath } from 'url';
|
|
4
4
|
import { dirname } from 'path';
|
|
5
|
+
import chalk from 'chalk';
|
|
5
6
|
import { getScopePreset } from './config.js';
|
|
6
7
|
const __filename = fileURLToPath(import.meta.url);
|
|
7
8
|
const __dirname = dirname(__filename);
|
|
@@ -57,7 +58,7 @@ export async function getTemplateFiles(templatesDir) {
|
|
|
57
58
|
return files;
|
|
58
59
|
}
|
|
59
60
|
export async function copyTemplates(templatesDir, destDir, replacements, options = {}) {
|
|
60
|
-
const { overwrite = false, scope = 'standard', customFiles } = options;
|
|
61
|
+
const { overwrite = false, scope = 'standard', customFiles, dryRun = false } = options;
|
|
61
62
|
const allFiles = await getTemplateFiles(templatesDir);
|
|
62
63
|
let allowedFiles;
|
|
63
64
|
if (scope === 'custom' && customFiles) {
|
|
@@ -78,16 +79,100 @@ export async function copyTemplates(templatesDir, destDir, replacements, options
|
|
|
78
79
|
});
|
|
79
80
|
let copied = 0;
|
|
80
81
|
let skipped = 0;
|
|
82
|
+
const changes = [];
|
|
81
83
|
for (const file of filesToCopy) {
|
|
82
84
|
const destPath = join(destDir, file.destination);
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
85
|
+
const exists = await fs.pathExists(destPath);
|
|
86
|
+
if (dryRun) {
|
|
87
|
+
if (!exists) {
|
|
88
|
+
changes.push({
|
|
89
|
+
path: file.destination,
|
|
90
|
+
status: 'CREATE',
|
|
91
|
+
});
|
|
92
|
+
copied++;
|
|
93
|
+
}
|
|
94
|
+
else if (overwrite) {
|
|
95
|
+
const existingContent = await fs.readFile(destPath, 'utf-8');
|
|
96
|
+
const templateContent = await fs.readFile(file.source, 'utf-8');
|
|
97
|
+
const processedContent = replacePlaceholders(templateContent, replacements);
|
|
98
|
+
if (existingContent !== processedContent) {
|
|
99
|
+
changes.push({
|
|
100
|
+
path: file.destination,
|
|
101
|
+
status: 'UPDATE',
|
|
102
|
+
reason: 'Content differs from template',
|
|
103
|
+
});
|
|
104
|
+
copied++;
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
changes.push({
|
|
108
|
+
path: file.destination,
|
|
109
|
+
status: 'SKIP',
|
|
110
|
+
reason: 'Already up to date',
|
|
111
|
+
});
|
|
112
|
+
skipped++;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
changes.push({
|
|
117
|
+
path: file.destination,
|
|
118
|
+
status: 'CONFLICT',
|
|
119
|
+
reason: 'File exists (use --force to overwrite)',
|
|
120
|
+
});
|
|
121
|
+
skipped++;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
if (!overwrite && exists) {
|
|
126
|
+
skipped++;
|
|
127
|
+
continue;
|
|
128
|
+
}
|
|
129
|
+
await processTemplate(file.source, destPath, replacements);
|
|
130
|
+
copied++;
|
|
86
131
|
}
|
|
87
|
-
await processTemplate(file.source, destPath, replacements);
|
|
88
|
-
copied++;
|
|
89
132
|
}
|
|
90
|
-
|
|
133
|
+
if (dryRun && changes.length > 0) {
|
|
134
|
+
printImpactReport(changes);
|
|
135
|
+
}
|
|
136
|
+
return { copied, skipped, ...(dryRun && { changes }) };
|
|
137
|
+
}
|
|
138
|
+
function printImpactReport(changes) {
|
|
139
|
+
console.log(chalk.bold('\n📋 IMPACT ANALYSIS:\n'));
|
|
140
|
+
const byStatus = {
|
|
141
|
+
CREATE: [],
|
|
142
|
+
UPDATE: [],
|
|
143
|
+
SKIP: [],
|
|
144
|
+
CONFLICT: [],
|
|
145
|
+
};
|
|
146
|
+
changes.forEach((change) => {
|
|
147
|
+
byStatus[change.status].push(change);
|
|
148
|
+
});
|
|
149
|
+
const statusConfig = {
|
|
150
|
+
CREATE: { icon: '✨', color: chalk.green, label: 'CREATE' },
|
|
151
|
+
UPDATE: { icon: '🔄', color: chalk.blue, label: 'UPDATE' },
|
|
152
|
+
CONFLICT: { icon: '⚠️ ', color: chalk.yellow, label: 'CONFLICT' },
|
|
153
|
+
SKIP: { icon: '⏭️ ', color: chalk.gray, label: 'SKIP' },
|
|
154
|
+
};
|
|
155
|
+
for (const status of ['CREATE', 'UPDATE', 'CONFLICT', 'SKIP']) {
|
|
156
|
+
const items = byStatus[status];
|
|
157
|
+
if (items.length === 0)
|
|
158
|
+
continue;
|
|
159
|
+
const config = statusConfig[status];
|
|
160
|
+
console.log(config.color.bold(`${config.icon} ${config.label} (${items.length}):`));
|
|
161
|
+
items.forEach((item) => {
|
|
162
|
+
const reasonText = item.reason ? chalk.gray(` - ${item.reason}`) : '';
|
|
163
|
+
console.log(` ${config.color(item.path)}${reasonText}`);
|
|
164
|
+
});
|
|
165
|
+
console.log();
|
|
166
|
+
}
|
|
167
|
+
const conflicts = byStatus.CONFLICT.length;
|
|
168
|
+
const updates = byStatus.UPDATE.length;
|
|
169
|
+
if (conflicts > 0) {
|
|
170
|
+
console.log(chalk.yellow.bold('⚠️ WARNING:'), chalk.yellow(`${conflicts} file(s) will be skipped due to conflicts. Use --force to overwrite.`));
|
|
171
|
+
}
|
|
172
|
+
if (updates > 0) {
|
|
173
|
+
console.log(chalk.blue.bold('ℹ️ INFO:'), chalk.blue(`${updates} file(s) will be updated with new template content. Review changes carefully.`));
|
|
174
|
+
}
|
|
175
|
+
console.log(chalk.gray('\n💡 Tip: Run without --dry-run to apply these changes.'));
|
|
91
176
|
}
|
|
92
177
|
export function generateReplacements(projectName, description) {
|
|
93
178
|
const kebabName = projectName
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/utils/templates.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/utils/templates.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ export declare const DEFAULT_LINE_LIMITS: LineLimits;
|
|
|
3
3
|
export declare const MANDATORY_FILES: MandatoryFile[];
|
|
4
4
|
export declare function validateFileSizes(cwd: string, limits?: LineLimits): Promise<ValidationCheck[]>;
|
|
5
5
|
export declare function validateMandatoryFiles(cwd: string): ValidationCheck[];
|
|
6
|
+
export declare function validateConfig(cwd: string): ValidationCheck[];
|
|
6
7
|
export declare function validatePlaceholders(cwd: string, ignoreFiles?: string[]): Promise<ValidationCheck[]>;
|
|
7
8
|
export declare function validateArchiveStatus(cwd: string): Promise<ValidationCheck[]>;
|
|
8
9
|
export declare function validateProject(cwd: string, options?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/utils/validator.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,aAAa,EACd,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/utils/validator.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,aAAa,EACd,MAAM,iBAAiB,CAAC;AAczB,eAAO,MAAM,mBAAmB,EAAE,UAUjC,CAAC;AAKF,eAAO,MAAM,eAAe,EAAE,aAAa,EAI1C,CAAC;AA8FF,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,UAAgC,GACvC,OAAO,CAAC,eAAe,EAAE,CAAC,CAkC5B;AAKD,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,EAAE,CAuBrE;AA2BD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,EAAE,CAkB7D;AAKD,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,MAAM,EACX,WAAW,GAAE,MAAM,EAAO,GACzB,OAAO,CAAC,eAAe,EAAE,CAAC,CAiD5B;AAKD,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAoDnF;AAKD,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,UAAU,CAAA;CAAO,GACtD,OAAO,CAAC,gBAAgB,CAAC,CAiD3B"}
|
package/dist/utils/validator.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { readFile } from 'fs/promises';
|
|
2
2
|
import { existsSync } from 'fs';
|
|
3
|
-
import { join } from 'path';
|
|
4
|
-
import { loadConfig, mergeConfig, getEffectiveLineLimits, } from './config.js';
|
|
3
|
+
import { join, basename } from 'path';
|
|
4
|
+
import { loadConfig, mergeConfig, getEffectiveLineLimits, saveConfig, createConfigFromScope, } from './config.js';
|
|
5
|
+
import { getTemplatesDir, processTemplate } from './templates.js';
|
|
5
6
|
export const DEFAULT_LINE_LIMITS = {
|
|
6
7
|
'NEXT-TASKS.md': 200,
|
|
7
8
|
'FUTURE-ENHANCEMENTS.md': 500,
|
|
@@ -66,6 +67,18 @@ async function countCompletedTasks(filePath) {
|
|
|
66
67
|
function hasArchiveDirectory(cwd) {
|
|
67
68
|
return existsSync(join(cwd, 'docs/archive'));
|
|
68
69
|
}
|
|
70
|
+
async function fixMissingFile(cwd, file) {
|
|
71
|
+
const templatesDir = getTemplatesDir();
|
|
72
|
+
const sourcePath = join(templatesDir, file);
|
|
73
|
+
const destPath = join(cwd, file);
|
|
74
|
+
const projectName = basename(cwd);
|
|
75
|
+
const replacements = {
|
|
76
|
+
'Project Name': projectName,
|
|
77
|
+
'project-name': projectName.toLowerCase().replace(/[^a-z0-9-]/g, '-'),
|
|
78
|
+
Description: `A project powered by Cortex TMS`,
|
|
79
|
+
};
|
|
80
|
+
await processTemplate(sourcePath, destPath, replacements);
|
|
81
|
+
}
|
|
69
82
|
export async function validateFileSizes(cwd, limits = DEFAULT_LINE_LIMITS) {
|
|
70
83
|
const checks = [];
|
|
71
84
|
for (const [filename, limit] of Object.entries(limits)) {
|
|
@@ -110,10 +123,46 @@ export function validateMandatoryFiles(cwd) {
|
|
|
110
123
|
? `${file} exists`
|
|
111
124
|
: `${file} is missing (required for TMS)`,
|
|
112
125
|
file,
|
|
126
|
+
...(!exists && {
|
|
127
|
+
fix: async (cwd) => fixMissingFile(cwd, file),
|
|
128
|
+
}),
|
|
113
129
|
});
|
|
114
130
|
}
|
|
115
131
|
return checks;
|
|
116
132
|
}
|
|
133
|
+
async function fixMissingConfig(cwd) {
|
|
134
|
+
const hasGlossary = existsSync(join(cwd, 'docs/core/GLOSSARY.md'));
|
|
135
|
+
const hasSchema = existsSync(join(cwd, 'docs/core/SCHEMA.md'));
|
|
136
|
+
const hasArchitecture = existsSync(join(cwd, 'docs/core/ARCHITECTURE.md'));
|
|
137
|
+
let scope = 'standard';
|
|
138
|
+
if (hasGlossary || hasSchema) {
|
|
139
|
+
scope = 'enterprise';
|
|
140
|
+
}
|
|
141
|
+
else if (!hasArchitecture) {
|
|
142
|
+
scope = 'nano';
|
|
143
|
+
}
|
|
144
|
+
const projectName = basename(cwd);
|
|
145
|
+
const config = createConfigFromScope(scope, projectName);
|
|
146
|
+
await saveConfig(cwd, config);
|
|
147
|
+
}
|
|
148
|
+
export function validateConfig(cwd) {
|
|
149
|
+
const configPath = join(cwd, '.cortexrc');
|
|
150
|
+
const exists = existsSync(configPath);
|
|
151
|
+
return [
|
|
152
|
+
{
|
|
153
|
+
name: 'Configuration File',
|
|
154
|
+
passed: exists,
|
|
155
|
+
level: exists ? 'info' : 'error',
|
|
156
|
+
message: exists
|
|
157
|
+
? '.cortexrc configuration exists'
|
|
158
|
+
: '.cortexrc is missing (required for TMS validation)',
|
|
159
|
+
file: '.cortexrc',
|
|
160
|
+
...(!exists && {
|
|
161
|
+
fix: fixMissingConfig,
|
|
162
|
+
}),
|
|
163
|
+
},
|
|
164
|
+
];
|
|
165
|
+
}
|
|
117
166
|
export async function validatePlaceholders(cwd, ignoreFiles = []) {
|
|
118
167
|
const checks = [];
|
|
119
168
|
const filesToScan = [
|
|
@@ -211,14 +260,16 @@ export async function validateProject(cwd, options = {}) {
|
|
|
211
260
|
const config = mergeConfig(userConfig);
|
|
212
261
|
const limits = options.limits || getEffectiveLineLimits(config);
|
|
213
262
|
const ignoreFiles = config.validation?.ignoreFiles || [];
|
|
214
|
-
const [fileSizeChecks, mandatoryChecks, placeholderChecks, archiveChecks] = await Promise.all([
|
|
263
|
+
const [fileSizeChecks, mandatoryChecks, configChecks, placeholderChecks, archiveChecks] = await Promise.all([
|
|
215
264
|
validateFileSizes(cwd, limits),
|
|
216
265
|
Promise.resolve(validateMandatoryFiles(cwd)),
|
|
266
|
+
Promise.resolve(validateConfig(cwd)),
|
|
217
267
|
validatePlaceholders(cwd, ignoreFiles),
|
|
218
268
|
validateArchiveStatus(cwd),
|
|
219
269
|
]);
|
|
220
270
|
const checks = [
|
|
221
271
|
...mandatoryChecks,
|
|
272
|
+
...configChecks,
|
|
222
273
|
...fileSizeChecks,
|
|
223
274
|
...placeholderChecks,
|
|
224
275
|
...archiveChecks,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/utils/validator.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/utils/validator.ts"],"names":[],"mappings":"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"}
|