faf-cli 3.1.6 โ 3.2.1
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 +57 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +92 -14
- package/dist/cli.js.map +1 -1
- package/dist/commands/check.d.ts +19 -3
- package/dist/commands/check.d.ts.map +1 -1
- package/dist/commands/check.js +280 -37
- package/dist/commands/check.js.map +1 -1
- package/dist/commands/git.d.ts.map +1 -1
- package/dist/commands/git.js +7 -4
- package/dist/commands/git.js.map +1 -1
- package/dist/commands/human.d.ts +19 -0
- package/dist/commands/human.d.ts.map +1 -0
- package/dist/commands/human.js +205 -0
- package/dist/commands/human.js.map +1 -0
- package/dist/commands/readme.d.ts +16 -0
- package/dist/commands/readme.d.ts.map +1 -0
- package/dist/commands/readme.js +453 -0
- package/dist/commands/readme.js.map +1 -0
- package/dist/commands/version.d.ts +1 -1
- package/dist/commands/version.js +2 -2
- package/dist/compiler/faf-compiler.d.ts.map +1 -1
- package/dist/compiler/faf-compiler.js +43 -0
- package/dist/compiler/faf-compiler.js.map +1 -1
- package/dist/engines/fab-formats-processor.d.ts +8 -0
- package/dist/engines/fab-formats-processor.d.ts.map +1 -1
- package/dist/engines/fab-formats-processor.js +78 -1
- package/dist/engines/fab-formats-processor.js.map +1 -1
- package/dist/framework-detector.d.ts.map +1 -1
- package/dist/framework-detector.js +7 -0
- package/dist/framework-detector.js.map +1 -1
- package/dist/github/github-extractor.d.ts +12 -6
- package/dist/github/github-extractor.d.ts.map +1 -1
- package/dist/github/github-extractor.js +339 -84
- package/dist/github/github-extractor.js.map +1 -1
- package/dist/utils/fab-formats-engine.d.ts +7 -0
- package/dist/utils/fab-formats-engine.d.ts.map +1 -1
- package/dist/utils/fab-formats-engine.js +23 -1
- package/dist/utils/fab-formats-engine.js.map +1 -1
- package/dist/utils/file-utils.d.ts.map +1 -1
- package/dist/utils/file-utils.js +20 -1
- package/dist/utils/file-utils.js.map +1 -1
- package/dist/utils/turbo-cat-knowledge.d.ts +2 -0
- package/dist/utils/turbo-cat-knowledge.d.ts.map +1 -1
- package/dist/utils/turbo-cat-knowledge.js +15 -0
- package/dist/utils/turbo-cat-knowledge.js.map +1 -1
- package/dist/utils/turbo-cat.d.ts +7 -0
- package/dist/utils/turbo-cat.d.ts.map +1 -1
- package/dist/utils/turbo-cat.js +30 -2
- package/dist/utils/turbo-cat.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* ๐งก faf human - Interactive Human Context Collection
|
|
4
|
+
* Asks for one W at a time, simple and focused
|
|
5
|
+
*/
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
18
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
19
|
+
}) : function(o, v) {
|
|
20
|
+
o["default"] = v;
|
|
21
|
+
});
|
|
22
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
23
|
+
var ownKeys = function(o) {
|
|
24
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
25
|
+
var ar = [];
|
|
26
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
27
|
+
return ar;
|
|
28
|
+
};
|
|
29
|
+
return ownKeys(o);
|
|
30
|
+
};
|
|
31
|
+
return function (mod) {
|
|
32
|
+
if (mod && mod.__esModule) return mod;
|
|
33
|
+
var result = {};
|
|
34
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
35
|
+
__setModuleDefault(result, mod);
|
|
36
|
+
return result;
|
|
37
|
+
};
|
|
38
|
+
})();
|
|
39
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
+
exports.humanCommand = humanCommand;
|
|
41
|
+
exports.humanAddCommand = humanAddCommand;
|
|
42
|
+
const colors_1 = require("../fix-once/colors");
|
|
43
|
+
const fs_1 = require("fs");
|
|
44
|
+
const yaml_1 = require("../fix-once/yaml");
|
|
45
|
+
const championship_style_1 = require("../utils/championship-style");
|
|
46
|
+
const file_utils_1 = require("../utils/file-utils");
|
|
47
|
+
const readline = __importStar(require("readline"));
|
|
48
|
+
const W_FIELDS = [
|
|
49
|
+
{ key: 'who', question: 'WHO is this for?', example: 'e.g., "Developers using AI assistants"' },
|
|
50
|
+
{ key: 'what', question: 'WHAT does it do?', example: 'e.g., "CLI tool for project context"' },
|
|
51
|
+
{ key: 'why', question: 'WHY does it exist?', example: 'e.g., "AI needs persistent context"' },
|
|
52
|
+
{ key: 'where', question: 'WHERE does it run?', example: 'e.g., "npm, browser, edge"' },
|
|
53
|
+
{ key: 'when', question: 'WHEN was it made/status?', example: 'e.g., "v1.0, production ready"' },
|
|
54
|
+
{ key: 'how', question: 'HOW do you use it?', example: 'e.g., "npm install -g faf-cli"' },
|
|
55
|
+
];
|
|
56
|
+
/**
|
|
57
|
+
* Prompt for a single input
|
|
58
|
+
*/
|
|
59
|
+
async function askQuestion(rl, prompt) {
|
|
60
|
+
return new Promise((resolve) => {
|
|
61
|
+
rl.question(prompt, (answer) => {
|
|
62
|
+
resolve(answer.trim());
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Main human command
|
|
68
|
+
*/
|
|
69
|
+
async function humanCommand(projectPath, options = {}) {
|
|
70
|
+
const projectRoot = projectPath || process.cwd();
|
|
71
|
+
try {
|
|
72
|
+
// Find .faf file
|
|
73
|
+
const fafPath = await (0, file_utils_1.findFafFile)(projectRoot);
|
|
74
|
+
if (!fafPath) {
|
|
75
|
+
console.log();
|
|
76
|
+
console.log(colors_1.chalk.yellow(`${championship_style_1.FAF_ICONS.robot} No .faf file found. Run 'faf init' first.`));
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
// Read existing .faf
|
|
80
|
+
const fafContent = await fs_1.promises.readFile(fafPath, 'utf-8');
|
|
81
|
+
const fafData = (0, yaml_1.parse)(fafContent) || {};
|
|
82
|
+
if (!fafData.human_context) {
|
|
83
|
+
fafData.human_context = {};
|
|
84
|
+
}
|
|
85
|
+
// === NON-INTERACTIVE MODE: --set field "value" ===
|
|
86
|
+
if (options.set) {
|
|
87
|
+
const validFields = W_FIELDS.map(f => f.key);
|
|
88
|
+
const field = options.set.toLowerCase();
|
|
89
|
+
if (!validFields.includes(field)) {
|
|
90
|
+
console.log();
|
|
91
|
+
console.log(colors_1.chalk.red(`Unknown field: ${field}`));
|
|
92
|
+
console.log(colors_1.chalk.gray(`Valid fields: ${validFields.join(', ')}`));
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
// The value comes as the next argument (projectPath in this case)
|
|
96
|
+
// We need to handle this differently - the value is passed separately
|
|
97
|
+
console.log();
|
|
98
|
+
console.log(colors_1.chalk.yellow(`Usage: faf human --set <field> "<value>"`));
|
|
99
|
+
console.log(colors_1.chalk.gray(`Example: faf human --set why "32x faster than Rust"`));
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
// === INTERACTIVE MODE ===
|
|
103
|
+
console.log();
|
|
104
|
+
console.log(championship_style_1.FAF_COLORS.fafOrange(`${championship_style_1.FAF_ICONS.heart_orange} Human Context Collection`));
|
|
105
|
+
console.log(colors_1.chalk.gray('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ'));
|
|
106
|
+
console.log(colors_1.chalk.gray(' Answer each question (Enter to skip)'));
|
|
107
|
+
console.log();
|
|
108
|
+
const rl = readline.createInterface({
|
|
109
|
+
input: process.stdin,
|
|
110
|
+
output: process.stdout
|
|
111
|
+
});
|
|
112
|
+
let updatedCount = 0;
|
|
113
|
+
for (const field of W_FIELDS) {
|
|
114
|
+
const currentValue = fafData.human_context[field.key];
|
|
115
|
+
const hasValue = currentValue && currentValue !== null && currentValue !== '';
|
|
116
|
+
// Skip if already has value and not --all flag
|
|
117
|
+
if (hasValue && !options.all) {
|
|
118
|
+
console.log(colors_1.chalk.gray(` ${field.key.toUpperCase()}: ${currentValue} (keeping)`));
|
|
119
|
+
continue;
|
|
120
|
+
}
|
|
121
|
+
// Show current value if exists
|
|
122
|
+
if (hasValue) {
|
|
123
|
+
console.log(colors_1.chalk.gray(` Current: ${currentValue}`));
|
|
124
|
+
}
|
|
125
|
+
// Ask the question
|
|
126
|
+
console.log(championship_style_1.FAF_COLORS.fafCyan(` ${field.question}`));
|
|
127
|
+
console.log(colors_1.chalk.gray(` ${field.example}`));
|
|
128
|
+
const answer = await askQuestion(rl, championship_style_1.FAF_COLORS.fafOrange(' > '));
|
|
129
|
+
if (answer) {
|
|
130
|
+
fafData.human_context[field.key] = answer;
|
|
131
|
+
updatedCount++;
|
|
132
|
+
console.log(colors_1.chalk.green(` โ๏ธ ${field.key} updated`));
|
|
133
|
+
}
|
|
134
|
+
else if (hasValue) {
|
|
135
|
+
console.log(colors_1.chalk.gray(` (kept existing)`));
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
console.log(colors_1.chalk.gray(` (skipped)`));
|
|
139
|
+
}
|
|
140
|
+
console.log();
|
|
141
|
+
}
|
|
142
|
+
rl.close();
|
|
143
|
+
// Save if any updates
|
|
144
|
+
if (updatedCount > 0) {
|
|
145
|
+
await fs_1.promises.writeFile(fafPath, (0, yaml_1.stringify)(fafData), 'utf-8');
|
|
146
|
+
console.log(colors_1.chalk.gray('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ'));
|
|
147
|
+
console.log(championship_style_1.FAF_COLORS.fafGreen(`${championship_style_1.FAF_ICONS.heart_orange} Updated ${updatedCount} field${updatedCount > 1 ? 's' : ''}`));
|
|
148
|
+
console.log(colors_1.chalk.gray(' Run: faf score to see your new score'));
|
|
149
|
+
}
|
|
150
|
+
else {
|
|
151
|
+
console.log(colors_1.chalk.gray('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ'));
|
|
152
|
+
console.log(colors_1.chalk.gray(' No changes made'));
|
|
153
|
+
}
|
|
154
|
+
console.log();
|
|
155
|
+
}
|
|
156
|
+
catch (error) {
|
|
157
|
+
console.log(colors_1.chalk.red(`\n${championship_style_1.FAF_ICONS.fire} Human context collection failed:`));
|
|
158
|
+
console.log(colors_1.chalk.red(error instanceof Error ? error.message : String(error)));
|
|
159
|
+
process.exit(1);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Add a single human_context field (non-interactive)
|
|
164
|
+
*/
|
|
165
|
+
async function humanAddCommand(field, value, projectPath) {
|
|
166
|
+
const projectRoot = projectPath || process.cwd();
|
|
167
|
+
const validFields = W_FIELDS.map(f => f.key);
|
|
168
|
+
const fieldLower = field.toLowerCase();
|
|
169
|
+
if (!validFields.includes(fieldLower)) {
|
|
170
|
+
console.log();
|
|
171
|
+
console.log(colors_1.chalk.red(`Unknown field: ${field}`));
|
|
172
|
+
console.log(colors_1.chalk.gray(`Valid fields: ${validFields.join(', ')}`));
|
|
173
|
+
return;
|
|
174
|
+
}
|
|
175
|
+
try {
|
|
176
|
+
const fafPath = await (0, file_utils_1.findFafFile)(projectRoot);
|
|
177
|
+
if (!fafPath) {
|
|
178
|
+
console.log();
|
|
179
|
+
console.log(colors_1.chalk.yellow(`${championship_style_1.FAF_ICONS.robot} No .faf file found. Run 'faf init' first.`));
|
|
180
|
+
return;
|
|
181
|
+
}
|
|
182
|
+
const fafContent = await fs_1.promises.readFile(fafPath, 'utf-8');
|
|
183
|
+
const fafData = (0, yaml_1.parse)(fafContent) || {};
|
|
184
|
+
if (!fafData.human_context) {
|
|
185
|
+
fafData.human_context = {};
|
|
186
|
+
}
|
|
187
|
+
const oldValue = fafData.human_context[fieldLower];
|
|
188
|
+
fafData.human_context[fieldLower] = value;
|
|
189
|
+
await fs_1.promises.writeFile(fafPath, (0, yaml_1.stringify)(fafData), 'utf-8');
|
|
190
|
+
console.log();
|
|
191
|
+
console.log(championship_style_1.FAF_COLORS.fafOrange(`${championship_style_1.FAF_ICONS.heart_orange} Human Context Updated`));
|
|
192
|
+
console.log(colors_1.chalk.gray('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ'));
|
|
193
|
+
console.log(colors_1.chalk.green(` โ๏ธ ${fieldLower.toUpperCase()}: ${value}`));
|
|
194
|
+
if (oldValue) {
|
|
195
|
+
console.log(colors_1.chalk.gray(` (was: ${oldValue})`));
|
|
196
|
+
}
|
|
197
|
+
console.log();
|
|
198
|
+
}
|
|
199
|
+
catch (error) {
|
|
200
|
+
console.log(colors_1.chalk.red(`\nFailed to set ${field}:`));
|
|
201
|
+
console.log(colors_1.chalk.red(error instanceof Error ? error.message : String(error)));
|
|
202
|
+
process.exit(1);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
//# sourceMappingURL=human.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"human.js","sourceRoot":"","sources":["../../src/commands/human.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ๐ faf readme - Extract 6 Ws from README intelligently
|
|
3
|
+
* Reads README.md and fills human_context slots smartly
|
|
4
|
+
*/
|
|
5
|
+
interface ReadmeOptions {
|
|
6
|
+
apply?: boolean;
|
|
7
|
+
force?: boolean;
|
|
8
|
+
file?: string;
|
|
9
|
+
quiet?: boolean;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Main readme command
|
|
13
|
+
*/
|
|
14
|
+
export declare function readmeCommand(projectPath?: string, options?: ReadmeOptions): Promise<void>;
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=readme.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readme.d.ts","sourceRoot":"","sources":["../../src/commands/readme.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH,UAAU,aAAa;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAyUD;;GAEG;AACH,wBAAsB,aAAa,CACjC,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,GAAE,aAAkB,iBA4J5B"}
|