cortex-tms 4.0.0 → 4.0.2
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/README.md +22 -12
- package/dist/cli.js +45 -37
- package/dist/cli.js.map +1 -1
- package/dist/commands/archive.d.ts +1 -1
- package/dist/commands/archive.d.ts.map +1 -1
- package/dist/commands/archive.js +36 -34
- package/dist/commands/archive.js.map +1 -1
- package/dist/commands/auto-tier.d.ts +1 -1
- package/dist/commands/auto-tier.d.ts.map +1 -1
- package/dist/commands/auto-tier.js +77 -76
- package/dist/commands/auto-tier.js.map +1 -1
- package/dist/commands/dashboard.d.ts +1 -1
- package/dist/commands/dashboard.js +8 -8
- package/dist/commands/init.d.ts +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +73 -73
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/migrate.d.ts +2 -2
- package/dist/commands/migrate.d.ts.map +1 -1
- package/dist/commands/migrate.js +147 -136
- package/dist/commands/migrate.js.map +1 -1
- package/dist/commands/prompt.d.ts +1 -1
- package/dist/commands/prompt.d.ts.map +1 -1
- package/dist/commands/prompt.js +32 -31
- package/dist/commands/prompt.js.map +1 -1
- package/dist/commands/review.d.ts +1 -1
- package/dist/commands/review.d.ts.map +1 -1
- package/dist/commands/review.js +60 -60
- package/dist/commands/review.js.map +1 -1
- package/dist/commands/status.d.ts +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +51 -45
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/tutorial.d.ts +1 -1
- package/dist/commands/tutorial.js +168 -168
- package/dist/commands/tutorial.js.map +1 -1
- package/dist/commands/validate.d.ts +1 -1
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +60 -60
- package/dist/commands/validate.js.map +1 -1
- package/dist/types/cli.d.ts +15 -15
- package/dist/types/guardian.d.ts +2 -2
- package/dist/ui/components/Dashboard.d.ts +2 -2
- package/dist/ui/components/Dashboard.d.ts.map +1 -1
- package/dist/ui/components/Dashboard.js +24 -23
- package/dist/ui/components/Dashboard.js.map +1 -1
- package/dist/ui/components/dashboard/ContextReductionCard.d.ts +1 -1
- package/dist/ui/components/dashboard/ContextReductionCard.d.ts.map +1 -1
- package/dist/ui/components/dashboard/ContextReductionCard.js +5 -5
- package/dist/ui/components/dashboard/ContextReductionCard.js.map +1 -1
- package/dist/ui/components/dashboard/CostSavingsCard.d.ts +1 -1
- package/dist/ui/components/dashboard/CostSavingsCard.d.ts.map +1 -1
- package/dist/ui/components/dashboard/CostSavingsCard.js +7 -7
- package/dist/ui/components/dashboard/CostSavingsCard.js.map +1 -1
- package/dist/ui/components/dashboard/FileDistributionCard.d.ts +1 -1
- package/dist/ui/components/dashboard/FileDistributionCard.d.ts.map +1 -1
- package/dist/ui/components/dashboard/FileDistributionCard.js +10 -10
- package/dist/ui/components/dashboard/FileDistributionCard.js.map +1 -1
- package/dist/ui/components/dashboard/FileSizeHealthCard.d.ts +2 -2
- package/dist/ui/components/dashboard/FileSizeHealthCard.d.ts.map +1 -1
- package/dist/ui/components/dashboard/FileSizeHealthCard.js +12 -12
- package/dist/ui/components/dashboard/FileSizeHealthCard.js.map +1 -1
- package/dist/ui/components/dashboard/Footer.d.ts +1 -1
- package/dist/ui/components/dashboard/Footer.d.ts.map +1 -1
- package/dist/ui/components/dashboard/Footer.js +2 -2
- package/dist/ui/components/dashboard/Footer.js.map +1 -1
- package/dist/ui/components/dashboard/GovernanceHealthCard.d.ts +3 -3
- package/dist/ui/components/dashboard/GovernanceHealthCard.d.ts.map +1 -1
- package/dist/ui/components/dashboard/GovernanceHealthCard.js +17 -14
- package/dist/ui/components/dashboard/GovernanceHealthCard.js.map +1 -1
- package/dist/ui/components/dashboard/GuardianStatusCard.d.ts +2 -2
- package/dist/ui/components/dashboard/GuardianStatusCard.d.ts.map +1 -1
- package/dist/ui/components/dashboard/GuardianStatusCard.js +29 -16
- package/dist/ui/components/dashboard/GuardianStatusCard.js.map +1 -1
- package/dist/ui/components/dashboard/Header.d.ts +1 -1
- package/dist/ui/components/dashboard/Header.js +2 -2
- package/dist/ui/components/dashboard/HotFilesCard.d.ts +1 -1
- package/dist/ui/components/dashboard/HotFilesCard.d.ts.map +1 -1
- package/dist/ui/components/dashboard/HotFilesCard.js +6 -6
- package/dist/ui/components/dashboard/HotFilesCard.js.map +1 -1
- package/dist/ui/components/dashboard/NotConfiguredCard.d.ts +2 -2
- package/dist/ui/components/dashboard/NotConfiguredCard.d.ts.map +1 -1
- package/dist/ui/components/dashboard/NotConfiguredCard.js +3 -3
- package/dist/ui/components/dashboard/NotConfiguredCard.js.map +1 -1
- package/dist/ui/components/dashboard/SprintProgressCard.d.ts +1 -1
- package/dist/ui/components/dashboard/SprintProgressCard.d.ts.map +1 -1
- package/dist/ui/components/dashboard/SprintProgressCard.js +4 -4
- package/dist/ui/components/dashboard/SprintProgressCard.js.map +1 -1
- package/dist/ui/components/dashboard/StalenessCard.d.ts +1 -1
- package/dist/ui/components/dashboard/StalenessCard.d.ts.map +1 -1
- package/dist/ui/components/dashboard/StalenessCard.js +9 -9
- package/dist/ui/components/dashboard/StalenessCard.js.map +1 -1
- package/dist/ui/components/dashboard/TabBar.d.ts +2 -2
- package/dist/ui/components/dashboard/TabBar.js +7 -7
- package/dist/ui/components/dashboard/TabBar.js.map +1 -1
- package/dist/ui/components/dashboard/ValidationCard.d.ts +2 -2
- package/dist/ui/components/dashboard/ValidationCard.d.ts.map +1 -1
- package/dist/ui/components/dashboard/ValidationCard.js +22 -22
- package/dist/ui/components/dashboard/ValidationCard.js.map +1 -1
- package/dist/ui/components/dashboard/ViewContainer.d.ts +3 -3
- package/dist/ui/components/dashboard/ViewContainer.d.ts.map +1 -1
- package/dist/ui/components/dashboard/ViewContainer.js +20 -20
- package/dist/ui/components/dashboard/ViewContainer.js.map +1 -1
- package/dist/ui/components/dashboard/index.d.ts +13 -13
- package/dist/ui/components/dashboard/index.js +13 -13
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +10 -10
- package/dist/ui/index.js.map +1 -1
- package/dist/utils/backup.d.ts.map +1 -1
- package/dist/utils/backup.js +20 -20
- package/dist/utils/backup.js.map +1 -1
- package/dist/utils/config.d.ts +1 -1
- package/dist/utils/config.js +68 -68
- package/dist/utils/detection.d.ts +1 -1
- package/dist/utils/detection.js +25 -25
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +4 -4
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/git-history.d.ts.map +1 -1
- package/dist/utils/git-history.js +9 -5
- package/dist/utils/git-history.js.map +1 -1
- package/dist/utils/git-staleness.d.ts.map +1 -1
- package/dist/utils/git-staleness.js +21 -21
- package/dist/utils/git-staleness.js.map +1 -1
- package/dist/utils/guardian-prompt.d.ts.map +1 -1
- package/dist/utils/guardian-prompt.js +1 -1
- package/dist/utils/guardian-prompt.js.map +1 -1
- package/dist/utils/llm-client.d.ts +5 -5
- package/dist/utils/llm-client.d.ts.map +1 -1
- package/dist/utils/llm-client.js +56 -53
- package/dist/utils/llm-client.js.map +1 -1
- package/dist/utils/prompt-parser.d.ts.map +1 -1
- package/dist/utils/prompt-parser.js +13 -17
- package/dist/utils/prompt-parser.js.map +1 -1
- package/dist/utils/prompts.d.ts +1 -1
- package/dist/utils/prompts.d.ts.map +1 -1
- package/dist/utils/prompts.js +74 -49
- package/dist/utils/prompts.js.map +1 -1
- package/dist/utils/sanitize.js +6 -6
- package/dist/utils/sanitize.js.map +1 -1
- package/dist/utils/stats-collector.d.ts +3 -9
- package/dist/utils/stats-collector.d.ts.map +1 -1
- package/dist/utils/stats-collector.js +74 -83
- package/dist/utils/stats-collector.js.map +1 -1
- package/dist/utils/status.d.ts +1 -1
- package/dist/utils/status.d.ts.map +1 -1
- package/dist/utils/status.js +16 -16
- package/dist/utils/status.js.map +1 -1
- package/dist/utils/templates.d.ts +3 -3
- package/dist/utils/templates.d.ts.map +1 -1
- package/dist/utils/templates.js +59 -54
- package/dist/utils/templates.js.map +1 -1
- package/dist/utils/tier-tags.d.ts +1 -1
- package/dist/utils/tier-tags.js +2 -2
- package/dist/utils/token-counter.d.ts +1 -43
- package/dist/utils/token-counter.d.ts.map +1 -1
- package/dist/utils/token-counter.js +32 -80
- package/dist/utils/token-counter.js.map +1 -1
- package/dist/utils/validation.d.ts +1 -1
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js +25 -24
- package/dist/utils/validation.js.map +1 -1
- package/dist/utils/validator.d.ts +1 -1
- package/dist/utils/validator.d.ts.map +1 -1
- package/dist/utils/validator.js +97 -90
- package/dist/utils/validator.js.map +1 -1
- package/package.json +7 -5
- package/templates/CLAUDE.md +1 -1
- package/templates/FUTURE-ENHANCEMENTS.md +1 -1
- package/templates/NEXT-TASKS.md +1 -1
- package/templates/PROMPTS.md +1 -1
- package/templates/README.md +1 -1
- package/templates/docs/archive/v1.0-CHANGELOG.md +1 -1
- package/templates/docs/core/ARCHITECTURE.md +1 -1
- package/templates/docs/core/DECISIONS.md +1 -1
- package/templates/docs/core/DOMAIN-LOGIC.md +1 -1
- package/templates/docs/core/GLOSSARY.md +1 -1
- package/templates/docs/core/PATTERNS.md +1 -1
- package/templates/docs/core/SCHEMA.md +1 -1
- package/templates/docs/core/TROUBLESHOOTING.md +1 -1
package/dist/utils/templates.js
CHANGED
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
import fs from
|
|
2
|
-
import { join, relative } from
|
|
3
|
-
import { fileURLToPath } from
|
|
4
|
-
import { dirname } from
|
|
5
|
-
import chalk from
|
|
6
|
-
import { getScopePreset } from
|
|
7
|
-
import { validateSafePath } from
|
|
8
|
-
import { FileSystemError } from
|
|
1
|
+
import fs from "fs-extra";
|
|
2
|
+
import { join, relative } from "path";
|
|
3
|
+
import { fileURLToPath } from "url";
|
|
4
|
+
import { dirname } from "path";
|
|
5
|
+
import chalk from "chalk";
|
|
6
|
+
import { getScopePreset } from "./config.js";
|
|
7
|
+
import { validateSafePath } from "./validation.js";
|
|
8
|
+
import { FileSystemError } from "./errors.js";
|
|
9
9
|
const __filename = fileURLToPath(import.meta.url);
|
|
10
10
|
const __dirname = dirname(__filename);
|
|
11
11
|
export function getPackageVersion() {
|
|
12
|
-
const packageJsonPath = join(__dirname,
|
|
13
|
-
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath,
|
|
12
|
+
const packageJsonPath = join(__dirname, "../../package.json");
|
|
13
|
+
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf-8"));
|
|
14
14
|
return packageJson.version;
|
|
15
15
|
}
|
|
16
16
|
export function injectVersionMetadata(content, version) {
|
|
17
|
-
const normalizedContent = content.endsWith(
|
|
17
|
+
const normalizedContent = content.endsWith("\n") ? content : content + "\n";
|
|
18
18
|
return `${normalizedContent}\n<!-- @cortex-tms-version ${version} -->\n`;
|
|
19
19
|
}
|
|
20
20
|
export async function extractVersion(filePath) {
|
|
21
21
|
try {
|
|
22
|
-
const content = await fs.readFile(filePath,
|
|
22
|
+
const content = await fs.readFile(filePath, "utf-8");
|
|
23
23
|
const match = content.match(/<!-- @cortex-tms-version (\d+\.\d+\.\d+(?:-[a-zA-Z0-9.]+)?) -->/);
|
|
24
24
|
return match?.[1] ?? null;
|
|
25
25
|
}
|
|
26
|
-
catch
|
|
26
|
+
catch {
|
|
27
27
|
return null;
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
export function getTemplatesDir() {
|
|
31
|
-
return join(__dirname,
|
|
31
|
+
return join(__dirname, "../../templates");
|
|
32
32
|
}
|
|
33
33
|
export function replacePlaceholders(content, replacements) {
|
|
34
34
|
let result = content;
|
|
@@ -40,14 +40,14 @@ export function replacePlaceholders(content, replacements) {
|
|
|
40
40
|
}
|
|
41
41
|
export async function processTemplate(sourcePath, destPath, replacements, options = {}) {
|
|
42
42
|
const { injectVersion = true } = options;
|
|
43
|
-
const content = await fs.readFile(sourcePath,
|
|
43
|
+
const content = await fs.readFile(sourcePath, "utf-8");
|
|
44
44
|
let processed = replacePlaceholders(content, replacements);
|
|
45
|
-
if (injectVersion && destPath.endsWith(
|
|
45
|
+
if (injectVersion && destPath.endsWith(".md")) {
|
|
46
46
|
const version = getPackageVersion();
|
|
47
47
|
processed = injectVersionMetadata(processed, version);
|
|
48
48
|
}
|
|
49
49
|
await fs.ensureDir(dirname(destPath));
|
|
50
|
-
await fs.writeFile(destPath, processed,
|
|
50
|
+
await fs.writeFile(destPath, processed, "utf-8");
|
|
51
51
|
}
|
|
52
52
|
export async function getTemplateFiles(templatesDir) {
|
|
53
53
|
const files = [];
|
|
@@ -60,17 +60,17 @@ export async function getTemplateFiles(templatesDir) {
|
|
|
60
60
|
}
|
|
61
61
|
else if (entry.isFile()) {
|
|
62
62
|
const relativePath = relative(baseDir, fullPath);
|
|
63
|
-
let category =
|
|
64
|
-
if (relativePath.startsWith(
|
|
65
|
-
category =
|
|
63
|
+
let category = "core";
|
|
64
|
+
if (relativePath.startsWith(".github")) {
|
|
65
|
+
category = "workflow";
|
|
66
66
|
}
|
|
67
|
-
else if (relativePath.startsWith(
|
|
68
|
-
category =
|
|
67
|
+
else if (relativePath.startsWith("examples")) {
|
|
68
|
+
category = "example";
|
|
69
69
|
}
|
|
70
|
-
const content = await fs.readFile(fullPath,
|
|
71
|
-
const hasPlaceholders = content.includes(
|
|
72
|
-
content.includes(
|
|
73
|
-
content.includes(
|
|
70
|
+
const content = await fs.readFile(fullPath, "utf-8");
|
|
71
|
+
const hasPlaceholders = content.includes("[Project Name]") ||
|
|
72
|
+
content.includes("[project-name]") ||
|
|
73
|
+
content.includes("[Description]");
|
|
74
74
|
files.push({
|
|
75
75
|
source: fullPath,
|
|
76
76
|
destination: relativePath,
|
|
@@ -84,10 +84,10 @@ export async function getTemplateFiles(templatesDir) {
|
|
|
84
84
|
return files;
|
|
85
85
|
}
|
|
86
86
|
export async function copyTemplates(templatesDir, destDir, replacements, options = {}) {
|
|
87
|
-
const { overwrite = false, scope =
|
|
87
|
+
const { overwrite = false, scope = "standard", customFiles, dryRun = false, } = options;
|
|
88
88
|
const allFiles = await getTemplateFiles(templatesDir);
|
|
89
89
|
let allowedFiles;
|
|
90
|
-
if (scope ===
|
|
90
|
+
if (scope === "custom" && customFiles) {
|
|
91
91
|
allowedFiles = customFiles;
|
|
92
92
|
}
|
|
93
93
|
else {
|
|
@@ -98,7 +98,7 @@ export async function copyTemplates(templatesDir, destDir, replacements, options
|
|
|
98
98
|
allowedFiles = [...preset.mandatoryFiles, ...preset.optionalFiles];
|
|
99
99
|
}
|
|
100
100
|
const filesToCopy = allFiles.filter((f) => {
|
|
101
|
-
if (f.category ===
|
|
101
|
+
if (f.category === "example") {
|
|
102
102
|
return false;
|
|
103
103
|
}
|
|
104
104
|
return allowedFiles.includes(f.destination);
|
|
@@ -121,31 +121,31 @@ export async function copyTemplates(templatesDir, destDir, replacements, options
|
|
|
121
121
|
if (!exists) {
|
|
122
122
|
changes.push({
|
|
123
123
|
path: file.destination,
|
|
124
|
-
status:
|
|
124
|
+
status: "CREATE",
|
|
125
125
|
});
|
|
126
126
|
copied++;
|
|
127
127
|
}
|
|
128
128
|
else if (overwrite) {
|
|
129
|
-
const existingContent = await fs.readFile(destPath,
|
|
130
|
-
const templateContent = await fs.readFile(file.source,
|
|
129
|
+
const existingContent = await fs.readFile(destPath, "utf-8");
|
|
130
|
+
const templateContent = await fs.readFile(file.source, "utf-8");
|
|
131
131
|
let processedContent = replacePlaceholders(templateContent, replacements);
|
|
132
|
-
if (destPath.endsWith(
|
|
132
|
+
if (destPath.endsWith(".md")) {
|
|
133
133
|
const version = getPackageVersion();
|
|
134
134
|
processedContent = injectVersionMetadata(processedContent, version);
|
|
135
135
|
}
|
|
136
136
|
if (existingContent !== processedContent) {
|
|
137
137
|
changes.push({
|
|
138
138
|
path: file.destination,
|
|
139
|
-
status:
|
|
140
|
-
reason:
|
|
139
|
+
status: "UPDATE",
|
|
140
|
+
reason: "Content differs from template",
|
|
141
141
|
});
|
|
142
142
|
copied++;
|
|
143
143
|
}
|
|
144
144
|
else {
|
|
145
145
|
changes.push({
|
|
146
146
|
path: file.destination,
|
|
147
|
-
status:
|
|
148
|
-
reason:
|
|
147
|
+
status: "SKIP",
|
|
148
|
+
reason: "Already up to date",
|
|
149
149
|
});
|
|
150
150
|
skipped++;
|
|
151
151
|
}
|
|
@@ -153,8 +153,8 @@ export async function copyTemplates(templatesDir, destDir, replacements, options
|
|
|
153
153
|
else {
|
|
154
154
|
changes.push({
|
|
155
155
|
path: file.destination,
|
|
156
|
-
status:
|
|
157
|
-
reason:
|
|
156
|
+
status: "CONFLICT",
|
|
157
|
+
reason: "File exists (use --force to overwrite)",
|
|
158
158
|
});
|
|
159
159
|
skipped++;
|
|
160
160
|
}
|
|
@@ -174,7 +174,7 @@ export async function copyTemplates(templatesDir, destDir, replacements, options
|
|
|
174
174
|
return { copied, skipped, ...(dryRun && { changes }) };
|
|
175
175
|
}
|
|
176
176
|
function printImpactReport(changes) {
|
|
177
|
-
console.log(chalk.bold(
|
|
177
|
+
console.log(chalk.bold("\n📋 IMPACT ANALYSIS:\n"));
|
|
178
178
|
const byStatus = {
|
|
179
179
|
CREATE: [],
|
|
180
180
|
UPDATE: [],
|
|
@@ -185,19 +185,24 @@ function printImpactReport(changes) {
|
|
|
185
185
|
byStatus[change.status].push(change);
|
|
186
186
|
});
|
|
187
187
|
const statusConfig = {
|
|
188
|
-
CREATE: { icon:
|
|
189
|
-
UPDATE: { icon:
|
|
190
|
-
CONFLICT: { icon:
|
|
191
|
-
SKIP: { icon:
|
|
188
|
+
CREATE: { icon: "✨", color: chalk.green, label: "CREATE" },
|
|
189
|
+
UPDATE: { icon: "🔄", color: chalk.blue, label: "UPDATE" },
|
|
190
|
+
CONFLICT: { icon: "⚠️ ", color: chalk.yellow, label: "CONFLICT" },
|
|
191
|
+
SKIP: { icon: "⏭️ ", color: chalk.gray, label: "SKIP" },
|
|
192
192
|
};
|
|
193
|
-
for (const status of [
|
|
193
|
+
for (const status of [
|
|
194
|
+
"CREATE",
|
|
195
|
+
"UPDATE",
|
|
196
|
+
"CONFLICT",
|
|
197
|
+
"SKIP",
|
|
198
|
+
]) {
|
|
194
199
|
const items = byStatus[status];
|
|
195
200
|
if (items.length === 0)
|
|
196
201
|
continue;
|
|
197
202
|
const config = statusConfig[status];
|
|
198
203
|
console.log(config.color.bold(`${config.icon} ${config.label} (${items.length}):`));
|
|
199
204
|
items.forEach((item) => {
|
|
200
|
-
const reasonText = item.reason ? chalk.gray(` - ${item.reason}`) :
|
|
205
|
+
const reasonText = item.reason ? chalk.gray(` - ${item.reason}`) : "";
|
|
201
206
|
console.log(` ${config.color(item.path)}${reasonText}`);
|
|
202
207
|
});
|
|
203
208
|
console.log();
|
|
@@ -205,22 +210,22 @@ function printImpactReport(changes) {
|
|
|
205
210
|
const conflicts = byStatus.CONFLICT.length;
|
|
206
211
|
const updates = byStatus.UPDATE.length;
|
|
207
212
|
if (conflicts > 0) {
|
|
208
|
-
console.log(chalk.yellow.bold(
|
|
213
|
+
console.log(chalk.yellow.bold("⚠️ WARNING:"), chalk.yellow(`${conflicts} file(s) will be skipped due to conflicts. Use --force to overwrite.`));
|
|
209
214
|
}
|
|
210
215
|
if (updates > 0) {
|
|
211
|
-
console.log(chalk.blue.bold(
|
|
216
|
+
console.log(chalk.blue.bold("ℹ️ INFO:"), chalk.blue(`${updates} file(s) will be updated with new template content. Review changes carefully.`));
|
|
212
217
|
}
|
|
213
|
-
console.log(chalk.gray(
|
|
218
|
+
console.log(chalk.gray("\n💡 Tip: Run without --dry-run to apply these changes."));
|
|
214
219
|
}
|
|
215
220
|
export function generateReplacements(projectName, description) {
|
|
216
221
|
const kebabName = projectName
|
|
217
222
|
.toLowerCase()
|
|
218
|
-
.replace(/[^a-z0-9-]/g,
|
|
219
|
-
.replace(/-+/g,
|
|
220
|
-
.replace(/^-|-$/g,
|
|
223
|
+
.replace(/[^a-z0-9-]/g, "-")
|
|
224
|
+
.replace(/-+/g, "-")
|
|
225
|
+
.replace(/^-|-$/g, "");
|
|
221
226
|
return {
|
|
222
|
-
|
|
223
|
-
|
|
227
|
+
"Project Name": projectName,
|
|
228
|
+
"project-name": kebabName,
|
|
224
229
|
Description: description || `A project powered by Cortex TMS`,
|
|
225
230
|
};
|
|
226
231
|
}
|
|
@@ -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;AAC/B,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAKtC,MAAM,UAAU,iBAAiB;IAC/B,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;IAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1E,OAAO,WAAW,CAAC,OAAO,CAAC;AAC7B,CAAC;AAYD,MAAM,UAAU,qBAAqB,
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/utils/templates.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type Tier =
|
|
1
|
+
export type Tier = "HOT" | "WARM" | "COLD";
|
|
2
2
|
export declare function readTierTag(content: string): Tier | null;
|
|
3
3
|
export declare function writeTierTag(content: string, tier: Tier): string;
|
|
4
4
|
//# sourceMappingURL=tier-tags.d.ts.map
|
package/dist/utils/tier-tags.js
CHANGED
|
@@ -12,8 +12,8 @@ export function writeTierTag(content, tier) {
|
|
|
12
12
|
if (frontMatterMatch) {
|
|
13
13
|
const frontMatter = frontMatterMatch[0];
|
|
14
14
|
const rest = content.slice(frontMatter.length);
|
|
15
|
-
return frontMatter + tag +
|
|
15
|
+
return frontMatter + tag + "\n" + rest;
|
|
16
16
|
}
|
|
17
|
-
return tag +
|
|
17
|
+
return tag + "\n" + content;
|
|
18
18
|
}
|
|
19
19
|
//# sourceMappingURL=tier-tags.js.map
|
|
@@ -1,37 +1,6 @@
|
|
|
1
|
-
export declare const MODEL_PRICING: {
|
|
2
|
-
readonly 'claude-sonnet-4.5': {
|
|
3
|
-
readonly input: 3;
|
|
4
|
-
readonly output: 15;
|
|
5
|
-
};
|
|
6
|
-
readonly 'claude-sonnet-4': {
|
|
7
|
-
readonly input: 3;
|
|
8
|
-
readonly output: 15;
|
|
9
|
-
};
|
|
10
|
-
readonly 'claude-opus-4.5': {
|
|
11
|
-
readonly input: 5;
|
|
12
|
-
readonly output: 25;
|
|
13
|
-
};
|
|
14
|
-
readonly 'claude-opus-4': {
|
|
15
|
-
readonly input: 15;
|
|
16
|
-
readonly output: 75;
|
|
17
|
-
};
|
|
18
|
-
readonly 'claude-haiku-4.5': {
|
|
19
|
-
readonly input: 1;
|
|
20
|
-
readonly output: 5;
|
|
21
|
-
};
|
|
22
|
-
readonly 'gpt-4-turbo': {
|
|
23
|
-
readonly input: 10;
|
|
24
|
-
readonly output: 30;
|
|
25
|
-
};
|
|
26
|
-
readonly 'gpt-4': {
|
|
27
|
-
readonly input: 30;
|
|
28
|
-
readonly output: 60;
|
|
29
|
-
};
|
|
30
|
-
};
|
|
31
|
-
export type ModelName = keyof typeof MODEL_PRICING;
|
|
32
1
|
export interface FileTokenCount {
|
|
33
2
|
path: string;
|
|
34
|
-
tier:
|
|
3
|
+
tier: "HOT" | "WARM" | "COLD";
|
|
35
4
|
characters: number;
|
|
36
5
|
tokens: number;
|
|
37
6
|
}
|
|
@@ -56,19 +25,8 @@ export interface TokenStats {
|
|
|
56
25
|
tokens: number;
|
|
57
26
|
chars: number;
|
|
58
27
|
};
|
|
59
|
-
savings: {
|
|
60
|
-
percentReduction: number;
|
|
61
|
-
tokensAvoided: number;
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
export interface CostEstimate {
|
|
65
|
-
model: ModelName;
|
|
66
|
-
perSession: number;
|
|
67
|
-
perDay: number;
|
|
68
|
-
perMonth: number;
|
|
69
28
|
}
|
|
70
29
|
export declare function analyzeTokenUsage(cwd: string): Promise<TokenStats>;
|
|
71
|
-
export declare function calculateCostEstimates(hotTokens: number, model?: ModelName): CostEstimate;
|
|
72
30
|
export declare function formatTokens(tokens: number): string;
|
|
73
31
|
export declare function formatCost(cost: number): string;
|
|
74
32
|
export declare function formatPercent(percent: number): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-counter.d.ts","sourceRoot":"","sources":["../../src/utils/token-counter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"token-counter.d.ts","sourceRoot":"","sources":["../../src/utils/token-counter.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAKD,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE;QACH,KAAK,EAAE,cAAc,EAAE,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,IAAI,EAAE;QACJ,KAAK,EAAE,cAAc,EAAE,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,IAAI,EAAE;QACJ,KAAK,EAAE,cAAc,EAAE,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,KAAK,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAmGD,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAyExE;AAKD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEnD;AAKD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK/C;AAKD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAErD"}
|
|
@@ -1,64 +1,34 @@
|
|
|
1
|
-
import { readFile } from
|
|
2
|
-
import { relative } from
|
|
3
|
-
import { glob } from
|
|
4
|
-
import { minimatch } from
|
|
5
|
-
import { readTierTag } from
|
|
1
|
+
import { readFile } from "fs/promises";
|
|
2
|
+
import { relative } from "path";
|
|
3
|
+
import { glob } from "glob";
|
|
4
|
+
import { minimatch } from "minimatch";
|
|
5
|
+
import { readTierTag } from "./tier-tags.js";
|
|
6
6
|
const CHARS_PER_TOKEN = 4;
|
|
7
|
-
export const MODEL_PRICING = {
|
|
8
|
-
'claude-sonnet-4.5': {
|
|
9
|
-
input: 3.0,
|
|
10
|
-
output: 15.0,
|
|
11
|
-
},
|
|
12
|
-
'claude-sonnet-4': {
|
|
13
|
-
input: 3.0,
|
|
14
|
-
output: 15.0,
|
|
15
|
-
},
|
|
16
|
-
'claude-opus-4.5': {
|
|
17
|
-
input: 5.0,
|
|
18
|
-
output: 25.0,
|
|
19
|
-
},
|
|
20
|
-
'claude-opus-4': {
|
|
21
|
-
input: 15.0,
|
|
22
|
-
output: 75.0,
|
|
23
|
-
},
|
|
24
|
-
'claude-haiku-4.5': {
|
|
25
|
-
input: 1.0,
|
|
26
|
-
output: 5.0,
|
|
27
|
-
},
|
|
28
|
-
'gpt-4-turbo': {
|
|
29
|
-
input: 10.0,
|
|
30
|
-
output: 30.0,
|
|
31
|
-
},
|
|
32
|
-
'gpt-4': {
|
|
33
|
-
input: 30.0,
|
|
34
|
-
output: 60.0,
|
|
35
|
-
},
|
|
36
|
-
};
|
|
37
7
|
const HOT_PATTERNS = [
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
8
|
+
"NEXT-TASKS.md",
|
|
9
|
+
"CLAUDE.md",
|
|
10
|
+
".github/copilot-instructions.md",
|
|
41
11
|
];
|
|
42
12
|
const WARM_PATTERNS = [
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
13
|
+
"docs/core/**/*.md",
|
|
14
|
+
"ARCHITECTURE.md",
|
|
15
|
+
"PATTERNS.md",
|
|
16
|
+
"DOMAIN-LOGIC.md",
|
|
17
|
+
"DECISIONS.md",
|
|
18
|
+
"GLOSSARY.md",
|
|
19
|
+
"SCHEMA.md",
|
|
20
|
+
"TROUBLESHOOTING.md",
|
|
21
|
+
"FUTURE-ENHANCEMENTS.md",
|
|
22
|
+
"PROMPTS.md",
|
|
53
23
|
];
|
|
54
|
-
const COLD_PATTERNS = [
|
|
24
|
+
const COLD_PATTERNS = ["docs/archive/**/*.md"];
|
|
55
25
|
async function readFileWithCharCount(filePath) {
|
|
56
26
|
try {
|
|
57
|
-
const content = await readFile(filePath,
|
|
27
|
+
const content = await readFile(filePath, "utf-8");
|
|
58
28
|
return { content, characters: content.length };
|
|
59
29
|
}
|
|
60
30
|
catch {
|
|
61
|
-
return { content:
|
|
31
|
+
return { content: "", characters: 0 };
|
|
62
32
|
}
|
|
63
33
|
}
|
|
64
34
|
function getFileTier(content, path) {
|
|
@@ -66,13 +36,13 @@ function getFileTier(content, path) {
|
|
|
66
36
|
if (tierTag) {
|
|
67
37
|
return tierTag;
|
|
68
38
|
}
|
|
69
|
-
if (HOT_PATTERNS.some(p => minimatch(path, p)))
|
|
70
|
-
return
|
|
71
|
-
if (WARM_PATTERNS.some(p => minimatch(path, p)))
|
|
72
|
-
return
|
|
73
|
-
if (COLD_PATTERNS.some(p => minimatch(path, p)))
|
|
74
|
-
return
|
|
75
|
-
return
|
|
39
|
+
if (HOT_PATTERNS.some((p) => minimatch(path, p)))
|
|
40
|
+
return "HOT";
|
|
41
|
+
if (WARM_PATTERNS.some((p) => minimatch(path, p)))
|
|
42
|
+
return "WARM";
|
|
43
|
+
if (COLD_PATTERNS.some((p) => minimatch(path, p)))
|
|
44
|
+
return "COLD";
|
|
45
|
+
return "WARM";
|
|
76
46
|
}
|
|
77
47
|
function estimateTokens(characters) {
|
|
78
48
|
return Math.ceil(characters / CHARS_PER_TOKEN);
|
|
@@ -84,7 +54,7 @@ async function findTierFiles(cwd, patterns) {
|
|
|
84
54
|
cwd,
|
|
85
55
|
absolute: true,
|
|
86
56
|
nodir: true,
|
|
87
|
-
ignore: [
|
|
57
|
+
ignore: ["**/node_modules/**", "**/.git/**"],
|
|
88
58
|
});
|
|
89
59
|
allFiles.push(...matches);
|
|
90
60
|
}
|
|
@@ -107,10 +77,10 @@ export async function analyzeTokenUsage(cwd) {
|
|
|
107
77
|
characters,
|
|
108
78
|
tokens,
|
|
109
79
|
};
|
|
110
|
-
if (tier ===
|
|
80
|
+
if (tier === "HOT") {
|
|
111
81
|
hotFiles.push(fileCount);
|
|
112
82
|
}
|
|
113
|
-
else if (tier ===
|
|
83
|
+
else if (tier === "WARM") {
|
|
114
84
|
warmFiles.push(fileCount);
|
|
115
85
|
}
|
|
116
86
|
else {
|
|
@@ -128,8 +98,6 @@ export async function analyzeTokenUsage(cwd) {
|
|
|
128
98
|
const coldChars = coldFiles.reduce((sum, f) => sum + f.characters, 0);
|
|
129
99
|
const totalTokens = hotTotal + warmTotal + coldTotal;
|
|
130
100
|
const totalChars = hotChars + warmChars + coldChars;
|
|
131
|
-
const tokensAvoided = totalTokens - hotTotal;
|
|
132
|
-
const percentReduction = totalTokens > 0 ? (tokensAvoided / totalTokens) * 100 : 0;
|
|
133
101
|
return {
|
|
134
102
|
hot: {
|
|
135
103
|
files: hotFiles,
|
|
@@ -151,22 +119,6 @@ export async function analyzeTokenUsage(cwd) {
|
|
|
151
119
|
tokens: totalTokens,
|
|
152
120
|
chars: totalChars,
|
|
153
121
|
},
|
|
154
|
-
savings: {
|
|
155
|
-
percentReduction,
|
|
156
|
-
tokensAvoided,
|
|
157
|
-
},
|
|
158
|
-
};
|
|
159
|
-
}
|
|
160
|
-
export function calculateCostEstimates(hotTokens, model = 'claude-sonnet-4.5') {
|
|
161
|
-
const pricing = MODEL_PRICING[model];
|
|
162
|
-
const perSession = (hotTokens / 1_000_000) * pricing.input;
|
|
163
|
-
const perDay = perSession * 10;
|
|
164
|
-
const perMonth = perDay * 20;
|
|
165
|
-
return {
|
|
166
|
-
model,
|
|
167
|
-
perSession,
|
|
168
|
-
perDay,
|
|
169
|
-
perMonth,
|
|
170
122
|
};
|
|
171
123
|
}
|
|
172
124
|
export function formatTokens(tokens) {
|
|
@@ -174,7 +126,7 @@ export function formatTokens(tokens) {
|
|
|
174
126
|
}
|
|
175
127
|
export function formatCost(cost) {
|
|
176
128
|
if (cost < 0.01) {
|
|
177
|
-
return
|
|
129
|
+
return "<$0.01";
|
|
178
130
|
}
|
|
179
131
|
return `$${cost.toFixed(2)}`;
|
|
180
132
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-counter.js","sourceRoot":"","sources":["../../src/utils/token-counter.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"token-counter.js","sourceRoot":"","sources":["../../src/utils/token-counter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAqCxB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAqCxB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6D9B,CAAC;AAKL,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;EAM5B,CAAC;AAKH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;EAIhC,CAAC;AAKH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;EAM9B,CAAC;AAKH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoB9B,CAAC;AAKJ,eAAO,MAAM,mBAAmB;;;;;;;;;EAG9B,CAAC;AAKH,eAAO,MAAM,mBAAmB,gDAAe,CAAC;AAWhD,wBAAgB,eAAe,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EACpD,MAAM,EAAE,CAAC,EACT,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,MAAM,GAClB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CA2BZ;AAaD,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAwB7D;AAMD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CA6B1E"}
|