faf-cli 2.4.8 ā 2.4.10
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/cli.js +0 -0
- package/dist/commands/ai-analyze.js +32 -35
- package/dist/commands/ai-analyze.js.map +1 -1
- package/dist/commands/ai-enhance.js +19 -22
- package/dist/commands/ai-enhance.js.map +1 -1
- package/dist/commands/audit.js +18 -21
- package/dist/commands/audit.js.map +1 -1
- package/dist/commands/auto.js +30 -33
- package/dist/commands/auto.js.map +1 -1
- package/dist/commands/chat.js +2 -2
- package/dist/commands/chat.js.map +1 -1
- package/dist/commands/convert.js +13 -16
- package/dist/commands/convert.js.map +1 -1
- package/dist/commands/doctor.js +11 -14
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/edit-helper.js +23 -26
- package/dist/commands/edit-helper.js.map +1 -1
- package/dist/commands/enhance-real.js +46 -46
- package/dist/commands/enhance-real.js.map +1 -1
- package/dist/commands/faq.js +12 -12
- package/dist/commands/faq.js.map +1 -1
- package/dist/commands/formats.js +6 -9
- package/dist/commands/formats.js.map +1 -1
- package/dist/commands/index.js +11 -14
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/lint.js +18 -21
- package/dist/commands/lint.js.map +1 -1
- package/dist/commands/notifications.js +3 -6
- package/dist/commands/notifications.js.map +1 -1
- package/dist/commands/quick.js +18 -21
- package/dist/commands/quick.js.map +1 -1
- package/dist/commands/score-v3.js +28 -31
- package/dist/commands/score-v3.js.map +1 -1
- package/dist/commands/score.js +26 -29
- package/dist/commands/score.js.map +1 -1
- package/dist/commands/show.js +25 -28
- package/dist/commands/show.js.map +1 -1
- package/dist/commands/sync.js +17 -20
- package/dist/commands/sync.js.map +1 -1
- package/dist/commands/trust.js +31 -31
- package/dist/commands/trust.js.map +1 -1
- package/dist/commands/verify.js +21 -21
- package/dist/commands/verify.js.map +1 -1
- package/dist/commands/version.js +6 -9
- package/dist/commands/version.js.map +1 -1
- package/dist/commands/vibe.js +2 -5
- package/dist/commands/vibe.js.map +1 -1
- package/dist/commands/welcome.js +15 -18
- package/dist/commands/welcome.js.map +1 -1
- package/dist/tests/test-chrome-fuzzy.js +7 -10
- package/dist/tests/test-chrome-fuzzy.js.map +1 -1
- package/dist/utils/announcements.js +27 -27
- package/dist/utils/announcements.js.map +1 -1
- package/dist/utils/chrome-extension-confirmer.js +5 -5
- package/dist/utils/chrome-extension-confirmer.js.map +1 -1
- package/dist/utils/color-utils.d.ts +6 -6
- package/dist/utils/color-utils.js +20 -23
- package/dist/utils/color-utils.js.map +1 -1
- package/dist/utils/email-opt-in.js +22 -22
- package/dist/utils/email-opt-in.js.map +1 -1
- package/dist/utils/feedback-messages.d.ts +1 -1
- package/dist/utils/feedback-messages.d.ts.map +1 -1
- package/dist/utils/feedback-messages.js +32 -35
- package/dist/utils/feedback-messages.js.map +1 -1
- package/dist/utils/score-header.js +7 -10
- package/dist/utils/score-header.js.map +1 -1
- package/dist/utils/update-checker.js +2 -2
- package/dist/utils/update-checker.js.map +1 -1
- package/package.json +2 -2
- package/dist/commands/about.d.ts +0 -10
- package/dist/commands/about.d.ts.map +0 -1
- package/dist/commands/about.js +0 -249
- package/dist/commands/about.js.map +0 -1
- package/dist/commands/art.d.ts +0 -10
- package/dist/commands/art.d.ts.map +0 -1
- package/dist/commands/art.js +0 -130
- package/dist/commands/art.js.map +0 -1
- package/dist/commands/email.d.ts +0 -23
- package/dist/commands/email.d.ts.map +0 -1
- package/dist/commands/email.js +0 -183
- package/dist/commands/email.js.map +0 -1
- package/dist/commands/license-config.d.ts +0 -10
- package/dist/commands/license-config.d.ts.map +0 -1
- package/dist/commands/license-config.js +0 -140
- package/dist/commands/license-config.js.map +0 -1
- package/dist/commands/license.d.ts +0 -7
- package/dist/commands/license.d.ts.map +0 -1
- package/dist/commands/license.js +0 -60
- package/dist/commands/license.js.map +0 -1
- package/dist/commands/submit-art.d.ts +0 -25
- package/dist/commands/submit-art.d.ts.map +0 -1
- package/dist/commands/submit-art.js +0 -348
- package/dist/commands/submit-art.js.map +0 -1
- package/dist/commands/subscribe.d.ts +0 -12
- package/dist/commands/subscribe.d.ts.map +0 -1
- package/dist/commands/subscribe.js +0 -38
- package/dist/commands/subscribe.js.map +0 -1
- package/dist/engine/engine-loader.d.ts +0 -24
- package/dist/engine/engine-loader.d.ts.map +0 -1
- package/dist/engine/engine-loader.js +0 -156
- package/dist/engine/engine-loader.js.map +0 -1
- package/dist/engine-bridge.d.ts +0 -38
- package/dist/engine-bridge.d.ts.map +0 -1
- package/dist/engine-bridge.js +0 -71
- package/dist/engine-bridge.js.map +0 -1
- package/dist/engine-mk2/mk2-core.d.ts +0 -38
- package/dist/engine-mk2/mk2-core.d.ts.map +0 -1
- package/dist/engine-mk2/mk2-core.js +0 -217
- package/dist/engine-mk2/mk2-core.js.map +0 -1
- package/dist/license/license-config.d.ts +0 -59
- package/dist/license/license-config.d.ts.map +0 -1
- package/dist/license/license-config.js +0 -263
- package/dist/license/license-config.js.map +0 -1
- package/dist/license/license-controller.d.ts +0 -41
- package/dist/license/license-controller.d.ts.map +0 -1
- package/dist/license/license-controller.js +0 -243
- package/dist/license/license-controller.js.map +0 -1
- package/dist/utils/art-gallery.d.ts +0 -66
- package/dist/utils/art-gallery.d.ts.map +0 -1
- package/dist/utils/art-gallery.js +0 -320
- package/dist/utils/art-gallery.js.map +0 -1
- package/dist/utils/error-handler.d.ts +0 -27
- package/dist/utils/error-handler.d.ts.map +0 -1
- package/dist/utils/error-handler.js +0 -152
- package/dist/utils/error-handler.js.map +0 -1
- package/dist/utils/score-indicators.d.ts +0 -47
- package/dist/utils/score-indicators.d.ts.map +0 -1
- package/dist/utils/score-indicators.js +0 -197
- package/dist/utils/score-indicators.js.map +0 -1
|
@@ -2,12 +2,9 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* š§ faf notifications - Version update notifications management
|
|
4
4
|
*/
|
|
5
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
6
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
7
|
-
};
|
|
8
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
6
|
exports.notificationsCommand = notificationsCommand;
|
|
10
|
-
const
|
|
7
|
+
const colors_1 = require("../fix-once/colors");
|
|
11
8
|
const email_opt_in_1 = require("../utils/email-opt-in");
|
|
12
9
|
async function notificationsCommand(options = {}) {
|
|
13
10
|
try {
|
|
@@ -30,8 +27,8 @@ async function notificationsCommand(options = {}) {
|
|
|
30
27
|
await (0, email_opt_in_1.promptEmailOptIn)({ quiet: options.quiet });
|
|
31
28
|
}
|
|
32
29
|
catch (error) {
|
|
33
|
-
console.log(
|
|
34
|
-
console.log(
|
|
30
|
+
console.log(colors_1.chalk.red('Error managing notifications:'));
|
|
31
|
+
console.log(colors_1.chalk.red(error instanceof Error ? error.message : String(error)));
|
|
35
32
|
process.exit(1);
|
|
36
33
|
}
|
|
37
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notifications.js","sourceRoot":"","sources":["../../src/commands/notifications.ts"],"names":[],"mappings":";AAAA;;GAEG
|
|
1
|
+
{"version":3,"file":"notifications.js","sourceRoot":"","sources":["../../src/commands/notifications.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAiBH,oDA4BC;AA3CD,+CAA2C;AAC3C,wDAK+B;AASxB,KAAK,UAAU,oBAAoB,CAAC,UAA+B,EAAE;IACxE,IAAI,CAAC;QACD,cAAc;QACd,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACjB,IAAA,qCAAsB,GAAE,CAAC;YACzB,OAAO;QACX,CAAC;QAED,eAAe;QACf,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACjB,IAAA,0BAAW,GAAE,CAAC;YACd,OAAO;QACX,CAAC;QAED,qBAAqB;QACrB,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,IAAA,+BAAgB,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACtC,OAAO;QACX,CAAC;QAED,wBAAwB;QACxB,MAAM,IAAA,+BAAgB,EAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAErD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,cAAK,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,cAAK,CAAC,GAAG,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACL,CAAC"}
|
package/dist/commands/quick.js
CHANGED
|
@@ -36,12 +36,9 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
36
36
|
return result;
|
|
37
37
|
};
|
|
38
38
|
})();
|
|
39
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
40
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
41
|
-
};
|
|
42
39
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
40
|
exports.quickCommand = quickCommand;
|
|
44
|
-
const
|
|
41
|
+
const colors_1 = require("../fix-once/colors");
|
|
45
42
|
const fs_1 = require("fs");
|
|
46
43
|
const path = __importStar(require("path"));
|
|
47
44
|
const faf_generator_championship_1 = require("../generators/faf-generator-championship");
|
|
@@ -68,10 +65,10 @@ function parseQuickInput(input) {
|
|
|
68
65
|
const languageDetection = universal_fuzzy_detector_1.UniversalFuzzyDetector.detectLanguage(languageInput);
|
|
69
66
|
// Log if fuzzy matching helped
|
|
70
67
|
if (projectTypeDetection.corrected) {
|
|
71
|
-
console.log(
|
|
68
|
+
console.log(colors_1.chalk.yellow(` š Auto-corrected: "${parts[1]}" ā "${projectTypeDetection.corrected}"`));
|
|
72
69
|
}
|
|
73
70
|
if (languageDetection.corrected) {
|
|
74
|
-
console.log(
|
|
71
|
+
console.log(colors_1.chalk.yellow(` š Auto-corrected: "${languageInput}" ā "${languageDetection.type}"`));
|
|
75
72
|
}
|
|
76
73
|
return {
|
|
77
74
|
projectName: parts[0] || 'my-project',
|
|
@@ -102,9 +99,9 @@ async function quickCommand(input, options = {}) {
|
|
|
102
99
|
console.log(championship_style_1.FAF_COLORS.fafCyan(' faf quick "project-name, description, language, framework, hosting"'));
|
|
103
100
|
console.log();
|
|
104
101
|
console.log(championship_style_1.FAF_COLORS.fafWhite('Examples:'));
|
|
105
|
-
console.log(
|
|
106
|
-
console.log(
|
|
107
|
-
console.log(
|
|
102
|
+
console.log(colors_1.chalk.gray(' faf quick "my-app, e-commerce platform, typescript, react, vercel"'));
|
|
103
|
+
console.log(colors_1.chalk.gray(' faf quick "api-service, REST API for mobile app, python, fastapi, aws"'));
|
|
104
|
+
console.log(colors_1.chalk.gray(' faf quick "cli-tool, developer productivity tool, go"'));
|
|
108
105
|
console.log();
|
|
109
106
|
console.log(championship_style_1.FAF_COLORS.fafOrange('š” Minimum: name and description. Rest is auto-detected!'));
|
|
110
107
|
return;
|
|
@@ -114,15 +111,15 @@ async function quickCommand(input, options = {}) {
|
|
|
114
111
|
// Check if .faf exists
|
|
115
112
|
if (await (0, file_utils_1.fileExists)(outputPath) && !options.force) {
|
|
116
113
|
console.log(championship_style_1.FAF_COLORS.fafOrange(`ā ļø .faf file already exists`));
|
|
117
|
-
console.log(
|
|
114
|
+
console.log(colors_1.chalk.yellow(' Use --force to overwrite or "faf edit" to modify'));
|
|
118
115
|
return;
|
|
119
116
|
}
|
|
120
117
|
// Parse the quick input
|
|
121
118
|
const projectData = parseQuickInput(input);
|
|
122
|
-
console.log(
|
|
119
|
+
console.log(colors_1.chalk.gray(` Creating .faf for: ${projectData.projectName}`));
|
|
123
120
|
// Generate .faf content
|
|
124
121
|
const detectedType = detectProjectTypeFromQuick(projectData);
|
|
125
|
-
console.log(
|
|
122
|
+
console.log(colors_1.chalk.gray(` Detected project type: ${detectedType}`));
|
|
126
123
|
const fafContent = await (0, faf_generator_championship_1.generateFafFromProject)({
|
|
127
124
|
projectType: detectedType,
|
|
128
125
|
outputPath,
|
|
@@ -136,20 +133,20 @@ async function quickCommand(input, options = {}) {
|
|
|
136
133
|
console.log(championship_style_1.FAF_COLORS.fafGreen(`āļø Created .faf in ${elapsedTime}ms!`));
|
|
137
134
|
console.log();
|
|
138
135
|
console.log(championship_style_1.FAF_COLORS.fafWhite('Quick Summary:'));
|
|
139
|
-
console.log(
|
|
140
|
-
console.log(
|
|
141
|
-
console.log(
|
|
136
|
+
console.log(colors_1.chalk.gray(` š¦ Project: ${projectData.projectName}`));
|
|
137
|
+
console.log(colors_1.chalk.gray(` šÆ Purpose: ${projectData.projectGoal}`));
|
|
138
|
+
console.log(colors_1.chalk.gray(` š» Stack: ${projectData.mainLanguage}${projectData.framework !== 'none' ? ' + ' + projectData.framework : ''}`));
|
|
142
139
|
console.log();
|
|
143
140
|
console.log(championship_style_1.FAF_COLORS.fafCyan('Next steps:'));
|
|
144
|
-
console.log(
|
|
145
|
-
console.log(
|
|
146
|
-
console.log(
|
|
141
|
+
console.log(colors_1.chalk.gray(' ⢠Run "faf score" to check AI-readiness'));
|
|
142
|
+
console.log(colors_1.chalk.gray(' ⢠Run "faf enhance" to improve context'));
|
|
143
|
+
console.log(colors_1.chalk.gray(' ⢠Run "faf chat" for interactive improvements'));
|
|
147
144
|
}
|
|
148
145
|
catch (error) {
|
|
149
|
-
console.log(
|
|
150
|
-
console.log(
|
|
146
|
+
console.log(colors_1.chalk.red('š„ Quick creation failed:'));
|
|
147
|
+
console.log(colors_1.chalk.red(error instanceof Error ? error.message : String(error)));
|
|
151
148
|
console.log();
|
|
152
|
-
console.log(
|
|
149
|
+
console.log(colors_1.chalk.yellow('š” Try "faf chat" for interactive mode'));
|
|
153
150
|
process.exit(1);
|
|
154
151
|
}
|
|
155
152
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quick.js","sourceRoot":"","sources":["../../src/commands/quick.ts"],"names":[],"mappings":";AAAA;;;GAGG
|
|
1
|
+
{"version":3,"file":"quick.js","sourceRoot":"","sources":["../../src/commands/quick.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,12 +36,9 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
36
36
|
return result;
|
|
37
37
|
};
|
|
38
38
|
})();
|
|
39
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
40
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
41
|
-
};
|
|
42
39
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
40
|
exports.scoreCommandV3 = scoreCommandV3;
|
|
44
|
-
const
|
|
41
|
+
const colors_1 = require("../fix-once/colors");
|
|
45
42
|
const faf_compiler_1 = require("../compiler/faf-compiler");
|
|
46
43
|
const file_utils_1 = require("../utils/file-utils");
|
|
47
44
|
const faf_dna_1 = require("../engines/faf-dna");
|
|
@@ -50,7 +47,7 @@ async function scoreCommandV3(file, options = {}) {
|
|
|
50
47
|
// Only show header if not in quiet mode
|
|
51
48
|
const isQuiet = process.argv.includes('--quiet');
|
|
52
49
|
if (!isQuiet) {
|
|
53
|
-
console.log(
|
|
50
|
+
console.log(colors_1.chalk.blue("\nšļø FAF Score Compiler v3.0\n"));
|
|
54
51
|
}
|
|
55
52
|
try {
|
|
56
53
|
// Find .faf file
|
|
@@ -69,12 +66,12 @@ async function scoreCommandV3(file, options = {}) {
|
|
|
69
66
|
}
|
|
70
67
|
if (!fafPath) {
|
|
71
68
|
if (file) {
|
|
72
|
-
console.error(
|
|
73
|
-
console.log(
|
|
69
|
+
console.error(colors_1.chalk.red(`ā No .faf file found at: ${file}`));
|
|
70
|
+
console.log(colors_1.chalk.yellow(`š” Check the path or run "faf init" in that directory`));
|
|
74
71
|
}
|
|
75
72
|
else {
|
|
76
|
-
console.error(
|
|
77
|
-
console.log(
|
|
73
|
+
console.error(colors_1.chalk.red("ā No .faf file found in current directory"));
|
|
74
|
+
console.log(colors_1.chalk.yellow('š” Run "faf init" to create one'));
|
|
78
75
|
}
|
|
79
76
|
process.exit(1);
|
|
80
77
|
}
|
|
@@ -83,10 +80,10 @@ async function scoreCommandV3(file, options = {}) {
|
|
|
83
80
|
const compiler = new faf_compiler_1.FafCompiler();
|
|
84
81
|
const isValid = await compiler.verify(fafPath, options.verify);
|
|
85
82
|
if (isValid) {
|
|
86
|
-
console.log(
|
|
83
|
+
console.log(colors_1.chalk.green(`ā
Checksum ${options.verify} verified`));
|
|
87
84
|
}
|
|
88
85
|
else {
|
|
89
|
-
console.log(
|
|
86
|
+
console.log(colors_1.chalk.red(`ā Checksum mismatch`));
|
|
90
87
|
process.exit(1);
|
|
91
88
|
}
|
|
92
89
|
return;
|
|
@@ -99,14 +96,14 @@ async function scoreCommandV3(file, options = {}) {
|
|
|
99
96
|
: await compiler.compile(fafPath);
|
|
100
97
|
// Show IR if requested
|
|
101
98
|
if (options.ir) {
|
|
102
|
-
console.log(
|
|
99
|
+
console.log(colors_1.chalk.cyan("\nš Intermediate Representation:"));
|
|
103
100
|
console.log(JSON.stringify(result.ir, null, 2));
|
|
104
101
|
return;
|
|
105
102
|
}
|
|
106
103
|
// Show breakdown if requested
|
|
107
104
|
if (options.breakdown) {
|
|
108
|
-
console.log(
|
|
109
|
-
console.log(
|
|
105
|
+
console.log(colors_1.chalk.cyan("\nš Score Breakdown:"));
|
|
106
|
+
console.log(colors_1.chalk.gray("ā".repeat(40)));
|
|
110
107
|
const sections = result.breakdown;
|
|
111
108
|
console.log(`Project: ${sections.project.filled}/${sections.project.total} slots (${sections.project.percentage}%)`);
|
|
112
109
|
console.log(`Stack: ${sections.stack.filled}/${sections.stack.total} slots (${sections.stack.percentage}%)`);
|
|
@@ -114,28 +111,28 @@ async function scoreCommandV3(file, options = {}) {
|
|
|
114
111
|
if (sections.discovery.total > 0) {
|
|
115
112
|
console.log(`Discovery: ${sections.discovery.filled}/${sections.discovery.total} slots (${sections.discovery.percentage}%)`);
|
|
116
113
|
}
|
|
117
|
-
console.log(
|
|
114
|
+
console.log(colors_1.chalk.gray("ā".repeat(40)));
|
|
118
115
|
}
|
|
119
116
|
// Show verbose details
|
|
120
117
|
if (options.verbose) {
|
|
121
|
-
console.log(
|
|
118
|
+
console.log(colors_1.chalk.cyan("\nš Compilation Details:"));
|
|
122
119
|
console.log(`Version: ${result.trace.version}`);
|
|
123
120
|
console.log(`Input Hash: ${result.trace.inputHash}`);
|
|
124
121
|
console.log(`Passes: ${result.trace.passes.length}`);
|
|
125
122
|
console.log(`Duration: ${result.trace.passes.reduce((sum, p) => sum + p.duration, 0)}ms`);
|
|
126
123
|
if (result.diagnostics.length > 0) {
|
|
127
|
-
console.log(
|
|
124
|
+
console.log(colors_1.chalk.yellow(`\nā ļø ${result.diagnostics.length} Diagnostics:`));
|
|
128
125
|
result.diagnostics.forEach(d => {
|
|
129
126
|
const icon = d.severity === 'error' ? 'ā' : d.severity === 'warning' ? 'ā ļø' : 'ā¹ļø';
|
|
130
127
|
console.log(` ${icon} ${d.message}`);
|
|
131
128
|
if (d.suggestion) {
|
|
132
|
-
console.log(
|
|
129
|
+
console.log(colors_1.chalk.gray(` ā ${d.suggestion}`));
|
|
133
130
|
}
|
|
134
131
|
});
|
|
135
132
|
}
|
|
136
133
|
}
|
|
137
134
|
// Main score display
|
|
138
|
-
console.log(
|
|
135
|
+
console.log(colors_1.chalk.blue(`š Scoring: ${fafPath}`));
|
|
139
136
|
// Try to show with DNA (birth weight)
|
|
140
137
|
const projectPath = path.dirname(fafPath);
|
|
141
138
|
const dnaManager = new faf_dna_1.FafDNAManager(projectPath);
|
|
@@ -148,24 +145,24 @@ async function scoreCommandV3(file, options = {}) {
|
|
|
148
145
|
const scoreColor = getScoreColor(result.score);
|
|
149
146
|
const scoreEmoji = getScoreEmoji(result.score);
|
|
150
147
|
console.log();
|
|
151
|
-
console.log(scoreColor(
|
|
152
|
-
console.log(
|
|
148
|
+
console.log(scoreColor(colors_1.chalk.bold(`${scoreEmoji} Score: ${result.score}%`)));
|
|
149
|
+
console.log(colors_1.chalk.gray(`Filled: ${result.filled}/${result.total} slots`));
|
|
153
150
|
}
|
|
154
151
|
// Show checksum if requested
|
|
155
152
|
if (options.checksum) {
|
|
156
153
|
console.log();
|
|
157
|
-
console.log(
|
|
158
|
-
console.log(
|
|
154
|
+
console.log(colors_1.chalk.gray(`Checksum: ${result.checksum}`));
|
|
155
|
+
console.log(colors_1.chalk.gray(`Verify with: faf score --verify=${result.checksum}`));
|
|
159
156
|
}
|
|
160
157
|
// Show errors
|
|
161
158
|
const errors = result.diagnostics.filter(d => d.severity === 'error');
|
|
162
159
|
if (errors.length > 0) {
|
|
163
160
|
console.log();
|
|
164
|
-
console.log(
|
|
161
|
+
console.log(colors_1.chalk.red(`ā ${errors.length} errors found:`));
|
|
165
162
|
errors.forEach(err => {
|
|
166
|
-
console.log(
|
|
163
|
+
console.log(colors_1.chalk.red(` ⢠${err.message}`));
|
|
167
164
|
if (err.suggestion) {
|
|
168
|
-
console.log(
|
|
165
|
+
console.log(colors_1.chalk.yellow(` ā ${err.suggestion}`));
|
|
169
166
|
}
|
|
170
167
|
});
|
|
171
168
|
process.exit(1);
|
|
@@ -173,7 +170,7 @@ async function scoreCommandV3(file, options = {}) {
|
|
|
173
170
|
}
|
|
174
171
|
catch (error) {
|
|
175
172
|
const message = error instanceof Error ? error.message : String(error);
|
|
176
|
-
console.error(
|
|
173
|
+
console.error(colors_1.chalk.red(`\nā Compilation failed: ${message}`));
|
|
177
174
|
if (options.verbose && error instanceof Error) {
|
|
178
175
|
console.error(error.stack);
|
|
179
176
|
}
|
|
@@ -183,12 +180,12 @@ async function scoreCommandV3(file, options = {}) {
|
|
|
183
180
|
// Utility functions
|
|
184
181
|
function getScoreColor(percentage) {
|
|
185
182
|
if (percentage >= 85)
|
|
186
|
-
return
|
|
183
|
+
return colors_1.chalk.green;
|
|
187
184
|
if (percentage >= 70)
|
|
188
|
-
return
|
|
185
|
+
return colors_1.chalk.yellow;
|
|
189
186
|
if (percentage >= 50)
|
|
190
|
-
return
|
|
191
|
-
return
|
|
187
|
+
return colors_1.chalk.blue;
|
|
188
|
+
return colors_1.chalk.red;
|
|
192
189
|
}
|
|
193
190
|
function getScoreEmoji(percentage) {
|
|
194
191
|
if (percentage >= 90)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"score-v3.js","sourceRoot":"","sources":["../../src/commands/score-v3.ts"],"names":[],"mappings":";AAAA;;;GAGG
|
|
1
|
+
{"version":3,"file":"score-v3.js","sourceRoot":"","sources":["../../src/commands/score-v3.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/score.js
CHANGED
|
@@ -36,12 +36,9 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
36
36
|
return result;
|
|
37
37
|
};
|
|
38
38
|
})();
|
|
39
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
40
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
41
|
-
};
|
|
42
39
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
40
|
exports.scoreFafFile = scoreFafFile;
|
|
44
|
-
const
|
|
41
|
+
const colors_1 = require("../fix-once/colors");
|
|
45
42
|
const fs_1 = require("fs");
|
|
46
43
|
const YAML = __importStar(require("yaml"));
|
|
47
44
|
const score_calculator_1 = require("../scoring/score-calculator");
|
|
@@ -93,16 +90,16 @@ async function scoreFafFile(file, options = {}) {
|
|
|
93
90
|
}
|
|
94
91
|
if (!fafPath) {
|
|
95
92
|
if (file) {
|
|
96
|
-
console.error(
|
|
97
|
-
console.log(
|
|
93
|
+
console.error(colors_1.chalk.red(`ā No .faf file found at: ${file}`));
|
|
94
|
+
console.log(colors_1.chalk.yellow(`š” Check the path or run "faf init" in that directory`));
|
|
98
95
|
}
|
|
99
96
|
else {
|
|
100
|
-
console.error(
|
|
101
|
-
console.log(
|
|
97
|
+
console.error(colors_1.chalk.red("ā No .faf file found in current directory"));
|
|
98
|
+
console.log(colors_1.chalk.yellow('š” Run "faf init" to create one'));
|
|
102
99
|
}
|
|
103
100
|
process.exit(1);
|
|
104
101
|
}
|
|
105
|
-
console.log(
|
|
102
|
+
console.log(colors_1.chalk.blue(`š Scoring: ${fafPath}`));
|
|
106
103
|
// Read and parse .faf file
|
|
107
104
|
const content = await fs_1.promises.readFile(fafPath, "utf-8");
|
|
108
105
|
const fafData = YAML.parse(content);
|
|
@@ -122,8 +119,8 @@ async function scoreFafFile(file, options = {}) {
|
|
|
122
119
|
const scoreColor = (0, color_utils_1.getScoreColor)(percentage);
|
|
123
120
|
const scoreEmoji = (0, color_utils_1.getScoreEmoji)(percentage);
|
|
124
121
|
const scoreText = `${scoreEmoji} Score: ${percentage}%`;
|
|
125
|
-
console.log(scoreColor(
|
|
126
|
-
console.log(
|
|
122
|
+
console.log(scoreColor(colors_1.chalk.bold(scoreText)));
|
|
123
|
+
console.log(colors_1.chalk.gray(' Run "faf init" to create DNA tracking'));
|
|
127
124
|
}
|
|
128
125
|
// Show AI|HUMAN Balance visualization
|
|
129
126
|
console.log('\n' + 'ā'.repeat(50));
|
|
@@ -143,41 +140,41 @@ async function scoreFafFile(file, options = {}) {
|
|
|
143
140
|
}
|
|
144
141
|
});
|
|
145
142
|
if (missingItems.length > 0 && !options.details) {
|
|
146
|
-
console.log(
|
|
143
|
+
console.log(colors_1.chalk.gray("\n Missing for higher score:"));
|
|
147
144
|
missingItems.slice(0, 5).forEach((item) => {
|
|
148
|
-
console.log(
|
|
145
|
+
console.log(colors_1.chalk.gray(` ⢠${item}`));
|
|
149
146
|
});
|
|
150
|
-
console.log(
|
|
147
|
+
console.log(colors_1.chalk.cyan('\n š” Run "faf score --details" for complete breakdown'));
|
|
151
148
|
}
|
|
152
149
|
// VIBE Progression Path (for low-scoring prototypes)
|
|
153
150
|
const detector = new platform_detector_1.PlatformDetector();
|
|
154
151
|
const platform = await detector.detectPlatform();
|
|
155
152
|
if (platform.tier === 'vibe' && percentage < 70) {
|
|
156
153
|
console.log();
|
|
157
|
-
console.log(
|
|
154
|
+
console.log(colors_1.chalk.bold.cyan('ā”ļø FAF VIBE PROGRESSION PATH:'));
|
|
158
155
|
console.log(vibe_sync_1.VibeSync.getProgressionMessage(percentage));
|
|
159
156
|
}
|
|
160
157
|
// Detailed breakdown
|
|
161
158
|
if (options.details) {
|
|
162
|
-
console.log(
|
|
159
|
+
console.log(colors_1.chalk.blue("\nš Detailed Breakdown:"));
|
|
163
160
|
Object.entries(scoreResult.sectionScores).forEach(([section, score]) => {
|
|
164
161
|
const sectionPercentage = Math.round(score.percentage);
|
|
165
162
|
const sectionColor = sectionPercentage >= 70
|
|
166
|
-
?
|
|
163
|
+
? colors_1.chalk.green
|
|
167
164
|
: sectionPercentage >= 40
|
|
168
|
-
?
|
|
169
|
-
:
|
|
165
|
+
? colors_1.chalk.yellow
|
|
166
|
+
: colors_1.chalk.red;
|
|
170
167
|
console.log(` ${sectionColor(section)}: ${sectionPercentage}% (${score.filled}/${score.total})`);
|
|
171
168
|
if (score.missing.length > 0) {
|
|
172
|
-
console.log(
|
|
169
|
+
console.log(colors_1.chalk.gray(` Missing: ${score.missing.join(", ")}`));
|
|
173
170
|
}
|
|
174
171
|
});
|
|
175
172
|
// Improvement suggestions
|
|
176
173
|
if (percentage < 100) {
|
|
177
|
-
console.log(
|
|
174
|
+
console.log(colors_1.chalk.blue("\nš” Quick Wins:"));
|
|
178
175
|
const suggestions = scoreResult.suggestions.slice(0, 3);
|
|
179
176
|
suggestions.forEach((suggestion, index) => {
|
|
180
|
-
console.log(
|
|
177
|
+
console.log(colors_1.chalk.yellow(` ${index + 1}. ${suggestion}`));
|
|
181
178
|
});
|
|
182
179
|
}
|
|
183
180
|
}
|
|
@@ -185,27 +182,27 @@ async function scoreFafFile(file, options = {}) {
|
|
|
185
182
|
if (options.minimum) {
|
|
186
183
|
const minimumScore = parseInt(options.minimum);
|
|
187
184
|
if (percentage < minimumScore) {
|
|
188
|
-
console.error(
|
|
185
|
+
console.error(colors_1.chalk.red(`\nšØ Score below minimum threshold (${minimumScore}%)`));
|
|
189
186
|
process.exit(1);
|
|
190
187
|
}
|
|
191
188
|
}
|
|
192
189
|
// Success message
|
|
193
190
|
if (percentage === 100) {
|
|
194
|
-
console.log(
|
|
191
|
+
console.log(colors_1.chalk.green.bold("\nš Perfect .faf file! Ready for AI collaboration!"));
|
|
195
192
|
}
|
|
196
193
|
else if (percentage >= 80) {
|
|
197
|
-
console.log(
|
|
194
|
+
console.log(colors_1.chalk.green("\n⨠Excellent .faf file! Minor improvements possible."));
|
|
198
195
|
}
|
|
199
196
|
else if (percentage >= 60) {
|
|
200
|
-
console.log(
|
|
197
|
+
console.log(colors_1.chalk.yellow("\nš Good .faf file! Some gaps to fill."));
|
|
201
198
|
}
|
|
202
199
|
else {
|
|
203
|
-
console.log(
|
|
200
|
+
console.log(colors_1.chalk.red("\nā ļø .faf file needs improvement for optimal AI context."));
|
|
204
201
|
}
|
|
205
202
|
}
|
|
206
203
|
catch (error) {
|
|
207
|
-
console.error(
|
|
208
|
-
console.error(
|
|
204
|
+
console.error(colors_1.chalk.red("š„ Scoring failed:"));
|
|
205
|
+
console.error(colors_1.chalk.red(error instanceof Error ? error.message : String(error)));
|
|
209
206
|
process.exit(1);
|
|
210
207
|
}
|
|
211
208
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"score.js","sourceRoot":"","sources":["../../src/commands/score.ts"],"names":[],"mappings":";AAAA;;;GAGG
|
|
1
|
+
{"version":3,"file":"score.js","sourceRoot":"","sources":["../../src/commands/score.ts"],"names":[],"mappings":"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"}
|