faf-cli 3.4.7 ā 4.0.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/README.md +59 -41
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +60 -3
- package/dist/cli.js.map +1 -1
- package/dist/commands/antigravity.d.ts +16 -0
- package/dist/commands/antigravity.d.ts.map +1 -0
- package/dist/commands/antigravity.js +398 -0
- package/dist/commands/antigravity.js.map +1 -0
- package/dist/commands/conductor.js +1 -1
- package/dist/commands/conductor.js.map +1 -1
- package/dist/commands/demo.js +2 -2
- package/dist/commands/demo.js.map +1 -1
- package/dist/commands/gemini.js +1 -1
- package/dist/commands/gemini.js.map +1 -1
- package/dist/commands/go.d.ts +23 -0
- package/dist/commands/go.d.ts.map +1 -0
- package/dist/commands/go.js +277 -0
- package/dist/commands/go.js.map +1 -0
- package/dist/commands/init.d.ts +1 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +24 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/status.d.ts +2 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +35 -1
- package/dist/commands/status.js.map +1 -1
- package/dist/compiler/faf-compiler.d.ts.map +1 -1
- package/dist/compiler/faf-compiler.js +8 -2
- package/dist/compiler/faf-compiler.js.map +1 -1
- package/dist/engines/c-mirror/core/mirror-engine.d.ts +1 -0
- package/dist/engines/c-mirror/core/mirror-engine.d.ts.map +1 -1
- package/dist/engines/c-mirror/core/mirror-engine.js +45 -3
- package/dist/engines/c-mirror/core/mirror-engine.js.map +1 -1
- package/dist/engines/c-mirror/faf-extensions/faf-mirror.d.ts +2 -0
- package/dist/engines/c-mirror/faf-extensions/faf-mirror.d.ts.map +1 -1
- package/dist/engines/c-mirror/faf-extensions/faf-mirror.js +19 -5
- package/dist/engines/c-mirror/faf-extensions/faf-mirror.js.map +1 -1
- package/dist/engines/execution-context.d.ts +75 -0
- package/dist/engines/execution-context.d.ts.map +1 -0
- package/dist/engines/execution-context.js +308 -0
- package/dist/engines/execution-context.js.map +1 -0
- package/dist/smart-faf.d.ts +16 -5
- package/dist/smart-faf.d.ts.map +1 -1
- package/dist/smart-faf.js +124 -52
- package/dist/smart-faf.js.map +1 -1
- package/dist/systems/question-system.d.ts +122 -0
- package/dist/systems/question-system.d.ts.map +1 -0
- package/dist/systems/question-system.js +411 -0
- package/dist/systems/question-system.js.map +1 -0
- package/dist/utils/conductor-parser.js +2 -1
- package/dist/utils/conductor-parser.js.map +1 -1
- package/package.json +2 -2
- package/project.faf +1 -1
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* FAF Execution Context Engine
|
|
4
|
+
*
|
|
5
|
+
* Detects the runtime context to enable context-aware behavior:
|
|
6
|
+
* - Terminal interactive (human typing, TTY)
|
|
7
|
+
* - Terminal script (CI/CD, piped input)
|
|
8
|
+
* - Claude Code (running via Claude Code bash/MCP)
|
|
9
|
+
* - MCP Server (direct MCP tool call)
|
|
10
|
+
* - API (programmatic usage)
|
|
11
|
+
*
|
|
12
|
+
* This enables the "faf go" guided experience to work seamlessly
|
|
13
|
+
* across all contexts, using inquirer in terminal and returning
|
|
14
|
+
* structured questions for Claude Code's AskUserQuestion.
|
|
15
|
+
*
|
|
16
|
+
* @since v3.5.0
|
|
17
|
+
*/
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
exports.detectExecutionContext = detectExecutionContext;
|
|
20
|
+
exports.canPromptInteractively = canPromptInteractively;
|
|
21
|
+
exports.shouldReturnStructuredQuestions = shouldReturnStructuredQuestions;
|
|
22
|
+
exports.isCI = isCI;
|
|
23
|
+
exports.getContextDescription = getContextDescription;
|
|
24
|
+
exports.logContextDetection = logContextDetection;
|
|
25
|
+
exports.setExecutionContext = setExecutionContext;
|
|
26
|
+
exports.clearForcedContext = clearForcedContext;
|
|
27
|
+
/**
|
|
28
|
+
* Environment variable markers for different contexts
|
|
29
|
+
*/
|
|
30
|
+
const CONTEXT_MARKERS = {
|
|
31
|
+
// Claude Code markers
|
|
32
|
+
claudeCode: [
|
|
33
|
+
'CLAUDE_CODE',
|
|
34
|
+
'CLAUDE_CODE_VERSION',
|
|
35
|
+
'ANTHROPIC_API_KEY', // Often present in Claude Code
|
|
36
|
+
],
|
|
37
|
+
// MCP markers
|
|
38
|
+
mcp: [
|
|
39
|
+
'MCP_SERVER',
|
|
40
|
+
'FAF_MCP_MODE',
|
|
41
|
+
'CLAUDE_MCP_SERVER',
|
|
42
|
+
],
|
|
43
|
+
// Cursor markers
|
|
44
|
+
cursor: [
|
|
45
|
+
'CURSOR_EDITOR',
|
|
46
|
+
'CURSOR_SESSION_ID',
|
|
47
|
+
'CURSOR_TRACE_ID',
|
|
48
|
+
],
|
|
49
|
+
// Gemini markers
|
|
50
|
+
gemini: [
|
|
51
|
+
'GEMINI_CLI',
|
|
52
|
+
'GOOGLE_GENAI_API_KEY',
|
|
53
|
+
'GEMINI_API_KEY',
|
|
54
|
+
],
|
|
55
|
+
// CI/CD markers
|
|
56
|
+
ci: [
|
|
57
|
+
'CI',
|
|
58
|
+
'CONTINUOUS_INTEGRATION',
|
|
59
|
+
'GITHUB_ACTIONS',
|
|
60
|
+
'GITLAB_CI',
|
|
61
|
+
'CIRCLECI',
|
|
62
|
+
'TRAVIS',
|
|
63
|
+
'JENKINS_URL',
|
|
64
|
+
'BUILDKITE',
|
|
65
|
+
'CODEBUILD_BUILD_ID',
|
|
66
|
+
'BITBUCKET_BUILD_NUMBER',
|
|
67
|
+
],
|
|
68
|
+
// API/programmatic markers
|
|
69
|
+
api: [
|
|
70
|
+
'FAF_API_MODE',
|
|
71
|
+
'FAF_PROGRAMMATIC',
|
|
72
|
+
],
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* Check if any environment variables from a list are set
|
|
76
|
+
*/
|
|
77
|
+
function hasEnvMarker(markers) {
|
|
78
|
+
for (const marker of markers) {
|
|
79
|
+
if (process.env[marker]) {
|
|
80
|
+
return marker;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Detect the current execution context
|
|
87
|
+
*
|
|
88
|
+
* Priority order (first match wins):
|
|
89
|
+
* 1. Explicit MCP mode
|
|
90
|
+
* 2. Explicit API mode
|
|
91
|
+
* 3. Claude Code context
|
|
92
|
+
* 4. Cursor context
|
|
93
|
+
* 5. Gemini context
|
|
94
|
+
* 6. CI/CD environment
|
|
95
|
+
* 7. TTY check (interactive vs script)
|
|
96
|
+
*/
|
|
97
|
+
function detectExecutionContext() {
|
|
98
|
+
const detectedVia = [];
|
|
99
|
+
// 1. Check for explicit MCP mode
|
|
100
|
+
const mcpMarker = hasEnvMarker(CONTEXT_MARKERS.mcp);
|
|
101
|
+
if (mcpMarker) {
|
|
102
|
+
detectedVia.push(`env:${mcpMarker}`);
|
|
103
|
+
return {
|
|
104
|
+
context: 'mcp-server',
|
|
105
|
+
interactive: false,
|
|
106
|
+
supportsAskUserQuestion: true, // MCP can relay to Claude Code
|
|
107
|
+
supportsColors: false,
|
|
108
|
+
supportsEmoji: true,
|
|
109
|
+
ci: false,
|
|
110
|
+
detectedVia,
|
|
111
|
+
rawMode: false,
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
// 2. Check for explicit API mode
|
|
115
|
+
const apiMarker = hasEnvMarker(CONTEXT_MARKERS.api);
|
|
116
|
+
if (apiMarker) {
|
|
117
|
+
detectedVia.push(`env:${apiMarker}`);
|
|
118
|
+
return {
|
|
119
|
+
context: 'api',
|
|
120
|
+
interactive: false,
|
|
121
|
+
supportsAskUserQuestion: false,
|
|
122
|
+
supportsColors: false,
|
|
123
|
+
supportsEmoji: false,
|
|
124
|
+
ci: false,
|
|
125
|
+
detectedVia,
|
|
126
|
+
rawMode: false,
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
// 3. Check for Claude Code context
|
|
130
|
+
const claudeMarker = hasEnvMarker(CONTEXT_MARKERS.claudeCode);
|
|
131
|
+
if (claudeMarker) {
|
|
132
|
+
detectedVia.push(`env:${claudeMarker}`);
|
|
133
|
+
return {
|
|
134
|
+
context: 'claude-code',
|
|
135
|
+
interactive: false, // Can't prompt directly
|
|
136
|
+
supportsAskUserQuestion: true, // Can return structured questions
|
|
137
|
+
supportsColors: true, // Claude Code terminal supports colors
|
|
138
|
+
supportsEmoji: true,
|
|
139
|
+
ci: false,
|
|
140
|
+
detectedVia,
|
|
141
|
+
rawMode: false,
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
// 4. Check for Cursor context
|
|
145
|
+
const cursorMarker = hasEnvMarker(CONTEXT_MARKERS.cursor);
|
|
146
|
+
if (cursorMarker) {
|
|
147
|
+
detectedVia.push(`env:${cursorMarker}`);
|
|
148
|
+
return {
|
|
149
|
+
context: 'cursor',
|
|
150
|
+
interactive: false,
|
|
151
|
+
supportsAskUserQuestion: true, // Cursor may support similar
|
|
152
|
+
supportsColors: true,
|
|
153
|
+
supportsEmoji: true,
|
|
154
|
+
ci: false,
|
|
155
|
+
detectedVia,
|
|
156
|
+
rawMode: false,
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
// 5. Check for Gemini context
|
|
160
|
+
const geminiMarker = hasEnvMarker(CONTEXT_MARKERS.gemini);
|
|
161
|
+
if (geminiMarker) {
|
|
162
|
+
detectedVia.push(`env:${geminiMarker}`);
|
|
163
|
+
return {
|
|
164
|
+
context: 'gemini',
|
|
165
|
+
interactive: false,
|
|
166
|
+
supportsAskUserQuestion: false, // Gemini has different patterns
|
|
167
|
+
supportsColors: true,
|
|
168
|
+
supportsEmoji: true,
|
|
169
|
+
ci: false,
|
|
170
|
+
detectedVia,
|
|
171
|
+
rawMode: false,
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
// 6. Check for CI/CD environment
|
|
175
|
+
const ciMarker = hasEnvMarker(CONTEXT_MARKERS.ci);
|
|
176
|
+
if (ciMarker) {
|
|
177
|
+
detectedVia.push(`env:${ciMarker}`);
|
|
178
|
+
return {
|
|
179
|
+
context: 'terminal-script',
|
|
180
|
+
interactive: false,
|
|
181
|
+
supportsAskUserQuestion: false,
|
|
182
|
+
supportsColors: true, // Most CI supports colors
|
|
183
|
+
supportsEmoji: true,
|
|
184
|
+
ci: true,
|
|
185
|
+
detectedVia,
|
|
186
|
+
rawMode: false,
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
// 7. Check TTY for interactive vs script
|
|
190
|
+
const isTTY = process.stdin.isTTY && process.stdout.isTTY;
|
|
191
|
+
detectedVia.push(isTTY ? 'tty:true' : 'tty:false');
|
|
192
|
+
if (isTTY) {
|
|
193
|
+
return {
|
|
194
|
+
context: 'terminal-interactive',
|
|
195
|
+
interactive: true,
|
|
196
|
+
supportsAskUserQuestion: false, // Use inquirer instead
|
|
197
|
+
supportsColors: true,
|
|
198
|
+
supportsEmoji: true,
|
|
199
|
+
ci: false,
|
|
200
|
+
detectedVia,
|
|
201
|
+
rawMode: true,
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
// Default: non-interactive terminal script
|
|
205
|
+
return {
|
|
206
|
+
context: 'terminal-script',
|
|
207
|
+
interactive: false,
|
|
208
|
+
supportsAskUserQuestion: false,
|
|
209
|
+
supportsColors: process.env.FORCE_COLOR !== '0',
|
|
210
|
+
supportsEmoji: true,
|
|
211
|
+
ci: false,
|
|
212
|
+
detectedVia,
|
|
213
|
+
rawMode: false,
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Quick check: can we prompt the user interactively?
|
|
218
|
+
*/
|
|
219
|
+
function canPromptInteractively(ctx) {
|
|
220
|
+
const context = ctx || detectExecutionContext();
|
|
221
|
+
return context.interactive;
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Quick check: should we return structured questions for AI?
|
|
225
|
+
*/
|
|
226
|
+
function shouldReturnStructuredQuestions(ctx) {
|
|
227
|
+
const context = ctx || detectExecutionContext();
|
|
228
|
+
return context.supportsAskUserQuestion && !context.interactive;
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Quick check: is this a CI/CD environment?
|
|
232
|
+
*/
|
|
233
|
+
function isCI(ctx) {
|
|
234
|
+
const context = ctx || detectExecutionContext();
|
|
235
|
+
return context.ci;
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Get a human-readable description of the context
|
|
239
|
+
*/
|
|
240
|
+
function getContextDescription(ctx) {
|
|
241
|
+
const context = ctx || detectExecutionContext();
|
|
242
|
+
switch (context.context) {
|
|
243
|
+
case 'terminal-interactive':
|
|
244
|
+
return 'Interactive terminal (human)';
|
|
245
|
+
case 'terminal-script':
|
|
246
|
+
return context.ci ? 'CI/CD pipeline' : 'Non-interactive terminal';
|
|
247
|
+
case 'claude-code':
|
|
248
|
+
return 'Claude Code';
|
|
249
|
+
case 'mcp-server':
|
|
250
|
+
return 'MCP Server';
|
|
251
|
+
case 'cursor':
|
|
252
|
+
return 'Cursor IDE';
|
|
253
|
+
case 'gemini':
|
|
254
|
+
return 'Gemini CLI';
|
|
255
|
+
case 'api':
|
|
256
|
+
return 'Programmatic API';
|
|
257
|
+
default:
|
|
258
|
+
return 'Unknown context';
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Log context detection for debugging
|
|
263
|
+
*/
|
|
264
|
+
function logContextDetection(ctx) {
|
|
265
|
+
const context = ctx || detectExecutionContext();
|
|
266
|
+
if (process.env.FAF_DEBUG) {
|
|
267
|
+
console.error('[FAF Context Detection]');
|
|
268
|
+
console.error(` Context: ${context.context}`);
|
|
269
|
+
console.error(` Interactive: ${context.interactive}`);
|
|
270
|
+
console.error(` AskUserQuestion: ${context.supportsAskUserQuestion}`);
|
|
271
|
+
console.error(` Detected via: ${context.detectedVia.join(', ')}`);
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Set execution context explicitly (for testing or forcing behavior)
|
|
276
|
+
*/
|
|
277
|
+
function setExecutionContext(context) {
|
|
278
|
+
switch (context) {
|
|
279
|
+
case 'claude-code':
|
|
280
|
+
process.env.CLAUDE_CODE = '1';
|
|
281
|
+
break;
|
|
282
|
+
case 'mcp-server':
|
|
283
|
+
process.env.MCP_SERVER = '1';
|
|
284
|
+
break;
|
|
285
|
+
case 'cursor':
|
|
286
|
+
process.env.CURSOR_EDITOR = '1';
|
|
287
|
+
break;
|
|
288
|
+
case 'gemini':
|
|
289
|
+
process.env.GEMINI_CLI = '1';
|
|
290
|
+
break;
|
|
291
|
+
case 'api':
|
|
292
|
+
process.env.FAF_API_MODE = '1';
|
|
293
|
+
break;
|
|
294
|
+
// terminal-interactive and terminal-script depend on TTY, can't be forced via env
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* Clear forced execution context (for testing)
|
|
299
|
+
*/
|
|
300
|
+
function clearForcedContext() {
|
|
301
|
+
delete process.env.CLAUDE_CODE;
|
|
302
|
+
delete process.env.MCP_SERVER;
|
|
303
|
+
delete process.env.CURSOR_EDITOR;
|
|
304
|
+
delete process.env.GEMINI_CLI;
|
|
305
|
+
delete process.env.FAF_API_MODE;
|
|
306
|
+
delete process.env.FAF_MCP_MODE;
|
|
307
|
+
}
|
|
308
|
+
//# sourceMappingURL=execution-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-context.js","sourceRoot":"","sources":["../../src/engines/execution-context.ts"],"names":[],"mappings":"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"}
|
package/dist/smart-faf.d.ts
CHANGED
|
@@ -2,20 +2,31 @@
|
|
|
2
2
|
* Smart FAF Command Logic
|
|
3
3
|
* Contextually aware command that adapts based on project state
|
|
4
4
|
*
|
|
5
|
+
* Updated for 2026 Claude Code alignment:
|
|
6
|
+
* - Detects execution context (terminal, Claude Code, MCP)
|
|
7
|
+
* - In Claude Code: returns structured JSON for AskUserQuestion
|
|
8
|
+
* - In terminal: interactive prompts
|
|
9
|
+
* - Recommends `faf go` as guided path to Gold Code (100%)
|
|
10
|
+
*
|
|
5
11
|
* Flow:
|
|
6
|
-
* 1. No .faf ā auto
|
|
7
|
-
* 2. Score <
|
|
8
|
-
* 3.
|
|
9
|
-
*
|
|
10
|
-
* 5.
|
|
12
|
+
* 1. No .faf ā suggest init or auto
|
|
13
|
+
* 2. Score < 100 ā suggest faf go (guided interview)
|
|
14
|
+
* 3. Score 100 ā celebrate and suggest maintenance
|
|
15
|
+
*
|
|
16
|
+
* @since v3.5.0 - Added execution context awareness
|
|
11
17
|
*/
|
|
12
18
|
declare class SmartFaf {
|
|
13
19
|
private stateFile;
|
|
14
20
|
private fafFile;
|
|
15
21
|
/**
|
|
16
22
|
* Main entry point - smart contextual command
|
|
23
|
+
* Updated for 2026 Claude Code alignment
|
|
17
24
|
*/
|
|
18
25
|
execute(): Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
* Output structured JSON for Claude Code / MCP contexts
|
|
28
|
+
*/
|
|
29
|
+
private outputStructuredStatus;
|
|
19
30
|
/**
|
|
20
31
|
* Get current FAF state from file and system
|
|
21
32
|
*/
|
package/dist/smart-faf.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smart-faf.d.ts","sourceRoot":"","sources":["../src/smart-faf.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"smart-faf.d.ts","sourceRoot":"","sources":["../src/smart-faf.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAqBH,cAAM,QAAQ;IACZ,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,OAAO,CAAU;IAEzB;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAkG9B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAqD9B;;OAEG;IACH,OAAO,CAAC,QAAQ;IA2ChB;;OAEG;IACH,OAAO,CAAC,eAAe;IA6BvB;;OAEG;IACH,OAAO,CAAC,WAAW;IAenB;;OAEG;IACH,OAAO,CAAC,UAAU;IAWlB;;OAEG;IACH,OAAO,CAAC,UAAU;IAclB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAWxB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAwBhC;;OAEG;IACH,OAAO,CAAC,aAAa;IAWrB;;OAEG;IACH,UAAU,IAAI,IAAI;CAMnB;AAGD,eAAe,QAAQ,CAAC"}
|
package/dist/smart-faf.js
CHANGED
|
@@ -3,12 +3,18 @@
|
|
|
3
3
|
* Smart FAF Command Logic
|
|
4
4
|
* Contextually aware command that adapts based on project state
|
|
5
5
|
*
|
|
6
|
+
* Updated for 2026 Claude Code alignment:
|
|
7
|
+
* - Detects execution context (terminal, Claude Code, MCP)
|
|
8
|
+
* - In Claude Code: returns structured JSON for AskUserQuestion
|
|
9
|
+
* - In terminal: interactive prompts
|
|
10
|
+
* - Recommends `faf go` as guided path to Gold Code (100%)
|
|
11
|
+
*
|
|
6
12
|
* Flow:
|
|
7
|
-
* 1. No .faf ā auto
|
|
8
|
-
* 2. Score <
|
|
9
|
-
* 3.
|
|
10
|
-
*
|
|
11
|
-
* 5.
|
|
13
|
+
* 1. No .faf ā suggest init or auto
|
|
14
|
+
* 2. Score < 100 ā suggest faf go (guided interview)
|
|
15
|
+
* 3. Score 100 ā celebrate and suggest maintenance
|
|
16
|
+
*
|
|
17
|
+
* @since v3.5.0 - Added execution context awareness
|
|
12
18
|
*/
|
|
13
19
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
20
|
if (k2 === undefined) k2 = k;
|
|
@@ -47,24 +53,41 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
47
53
|
const fs = __importStar(require("fs"));
|
|
48
54
|
const path = __importStar(require("path"));
|
|
49
55
|
const child_process_1 = require("child_process");
|
|
56
|
+
const execution_context_1 = require("./engines/execution-context");
|
|
50
57
|
class SmartFaf {
|
|
51
58
|
stateFile = '.faf-state.json';
|
|
52
59
|
fafFile = '.faf';
|
|
53
60
|
/**
|
|
54
61
|
* Main entry point - smart contextual command
|
|
62
|
+
* Updated for 2026 Claude Code alignment
|
|
55
63
|
*/
|
|
56
64
|
async execute() {
|
|
57
|
-
|
|
65
|
+
const ctx = (0, execution_context_1.detectExecutionContext)();
|
|
58
66
|
const currentDir = process.cwd();
|
|
59
67
|
const homeDir = require('os').homedir();
|
|
68
|
+
// CRITICAL: Check if we're in home or root directory
|
|
60
69
|
if (currentDir === homeDir || currentDir === '/') {
|
|
70
|
+
if ((0, execution_context_1.shouldReturnStructuredQuestions)(ctx)) {
|
|
71
|
+
// Claude Code / MCP: return JSON guidance
|
|
72
|
+
console.log(JSON.stringify({
|
|
73
|
+
status: 'no_project',
|
|
74
|
+
message: 'FAF requires a project directory. Navigate to a project folder first.',
|
|
75
|
+
suggestions: [
|
|
76
|
+
'cd /path/to/your/project && faf',
|
|
77
|
+
'faf init /path/to/project',
|
|
78
|
+
],
|
|
79
|
+
context: (0, execution_context_1.getContextDescription)(ctx),
|
|
80
|
+
}, null, 2));
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
// Terminal: show welcome message
|
|
61
84
|
console.log('\nš§”ā”ļø FAF - AI Context, On-Demand\n');
|
|
62
85
|
console.log('DROP | PASTE | CREATE - Click & Go!\n');
|
|
63
86
|
console.log('šÆ What is FAF?');
|
|
64
87
|
console.log('Persistent Project Context - makes your project AI-readable in <50ms\n');
|
|
65
88
|
console.log('š How to start:');
|
|
66
89
|
console.log('⢠DROP: Navigate to your project: cd my-project && faf');
|
|
67
|
-
console.log('⢠PASTE: Provide path: faf
|
|
90
|
+
console.log('⢠PASTE: Provide path: faf init /path/to/project');
|
|
68
91
|
console.log('⢠CREATE: New project: faf quick "ProjectName, description, language"\n');
|
|
69
92
|
console.log('š” Examples:');
|
|
70
93
|
console.log(' cd ~/my-app && faf');
|
|
@@ -73,61 +96,110 @@ class SmartFaf {
|
|
|
73
96
|
return;
|
|
74
97
|
}
|
|
75
98
|
const state = this.getState();
|
|
99
|
+
// === CLAUDE CODE / MCP CONTEXT ===
|
|
100
|
+
// Return structured JSON for AI to parse and use with AskUserQuestion
|
|
101
|
+
if ((0, execution_context_1.shouldReturnStructuredQuestions)(ctx)) {
|
|
102
|
+
this.outputStructuredStatus(state);
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
// === TERMINAL CONTEXT ===
|
|
76
106
|
console.log('šļø FAF Smart Mode Engaged...\n');
|
|
77
|
-
//
|
|
107
|
+
// No .faf file - suggest creation
|
|
78
108
|
if (!state.exists) {
|
|
79
|
-
|
|
109
|
+
console.log('š No .faf file found.\n');
|
|
110
|
+
console.log('šÆ Quick Start:');
|
|
111
|
+
console.log(' faf auto ā Full setup in one command (recommended)');
|
|
112
|
+
console.log(' faf init ā Create minimal .faf file');
|
|
113
|
+
console.log(' faf go ā Guided interview to Gold Code\n');
|
|
80
114
|
return;
|
|
81
115
|
}
|
|
82
|
-
//
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
}
|
|
93
|
-
else if (!state.locked) {
|
|
94
|
-
// They've synced but haven't committed - remind them
|
|
95
|
-
this.suggestCommit(state);
|
|
96
|
-
return;
|
|
97
|
-
}
|
|
98
|
-
else {
|
|
99
|
-
this.showStatus(state);
|
|
100
|
-
}
|
|
116
|
+
// Show current status + next action
|
|
117
|
+
console.log(`š Current Score: ${state.score}%`);
|
|
118
|
+
// Perfect score - celebrate
|
|
119
|
+
if (state.score >= 100) {
|
|
120
|
+
this.displayChampionshipScore(state.score);
|
|
121
|
+
console.log('š GOLD CODE ACHIEVED! Your AI has complete context.\n');
|
|
122
|
+
console.log('Maintenance:');
|
|
123
|
+
console.log(' faf bi-sync ā Keep CLAUDE.md synchronized');
|
|
124
|
+
console.log(' faf trust ā Verify integrity');
|
|
125
|
+
console.log(' faf status ā Check current state');
|
|
101
126
|
return;
|
|
102
127
|
}
|
|
103
|
-
// Score <
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
128
|
+
// Score < 100 - suggest faf go
|
|
129
|
+
const toGold = 100 - state.score;
|
|
130
|
+
console.log(`šÆ Target: 100% Gold Code (+${toGold}% to go)\n`);
|
|
131
|
+
// Primary recommendation: faf go
|
|
132
|
+
console.log('š Next Step:');
|
|
133
|
+
console.log(' faf go ā Guided interview to 100% (recommended)');
|
|
134
|
+
console.log(' Claude asks questions till you\'re done!\n');
|
|
135
|
+
// Alternative options
|
|
136
|
+
console.log('Other Options:');
|
|
137
|
+
console.log(' faf auto ā Auto-fill what we can detect');
|
|
138
|
+
console.log(' faf score --breakdown ā See what\'s missing');
|
|
139
|
+
console.log(' faf edit ā Manual edit .faf file\n');
|
|
140
|
+
// Growth hint
|
|
141
|
+
if (state.score < 70) {
|
|
142
|
+
console.log('š” Tip: Run "faf auto" first to boost to ~80%, then "faf go" to finish.');
|
|
143
|
+
}
|
|
144
|
+
else if (state.score < 85) {
|
|
145
|
+
console.log('š” Tip: You\'re close! Run "faf go" to answer a few questions and hit Gold.');
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
console.log('š” Tip: Almost there! "faf go" will ask just a few more questions.');
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Output structured JSON for Claude Code / MCP contexts
|
|
153
|
+
*/
|
|
154
|
+
outputStructuredStatus(state) {
|
|
155
|
+
if (!state.exists) {
|
|
156
|
+
console.log(JSON.stringify({
|
|
157
|
+
status: 'no_faf_file',
|
|
158
|
+
score: 0,
|
|
159
|
+
message: 'No .faf file found in this directory.',
|
|
160
|
+
nextAction: {
|
|
161
|
+
command: 'faf auto',
|
|
162
|
+
description: 'Create .faf file and auto-fill what we can detect',
|
|
163
|
+
},
|
|
164
|
+
alternativeActions: [
|
|
165
|
+
{ command: 'faf init', description: 'Create minimal .faf file' },
|
|
166
|
+
{ command: 'faf go', description: 'Guided interview to Gold Code' },
|
|
167
|
+
],
|
|
168
|
+
}, null, 2));
|
|
117
169
|
return;
|
|
118
170
|
}
|
|
119
|
-
if (
|
|
120
|
-
console.log(
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
171
|
+
if (state.score >= 100) {
|
|
172
|
+
console.log(JSON.stringify({
|
|
173
|
+
status: 'gold_code',
|
|
174
|
+
score: state.score,
|
|
175
|
+
message: 'Gold Code achieved! AI has complete context.',
|
|
176
|
+
nextAction: {
|
|
177
|
+
command: 'faf bi-sync',
|
|
178
|
+
description: 'Keep CLAUDE.md synchronized',
|
|
179
|
+
},
|
|
180
|
+
maintenanceActions: [
|
|
181
|
+
{ command: 'faf trust', description: 'Verify integrity' },
|
|
182
|
+
{ command: 'faf status', description: 'Check current state' },
|
|
183
|
+
],
|
|
184
|
+
}, null, 2));
|
|
127
185
|
return;
|
|
128
186
|
}
|
|
129
|
-
//
|
|
130
|
-
|
|
187
|
+
// Score < 100 - recommend faf go
|
|
188
|
+
console.log(JSON.stringify({
|
|
189
|
+
status: 'needs_improvement',
|
|
190
|
+
score: state.score,
|
|
191
|
+
target: 100,
|
|
192
|
+
toGold: 100 - state.score,
|
|
193
|
+
message: `Score is ${state.score}%. Use 'faf go' for guided interview to Gold Code.`,
|
|
194
|
+
nextAction: {
|
|
195
|
+
command: 'faf go',
|
|
196
|
+
description: 'Guided interview to 100% - Claude asks questions till done',
|
|
197
|
+
},
|
|
198
|
+
alternativeActions: [
|
|
199
|
+
{ command: 'faf auto', description: 'Auto-fill detectable fields' },
|
|
200
|
+
{ command: 'faf score --breakdown', description: 'See what\'s missing' },
|
|
201
|
+
],
|
|
202
|
+
}, null, 2));
|
|
131
203
|
}
|
|
132
204
|
/**
|
|
133
205
|
* Get current FAF state from file and system
|
package/dist/smart-faf.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smart-faf.js","sourceRoot":"","sources":["../src/smart-faf.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"smart-faf.js","sourceRoot":"","sources":["../src/smart-faf.ts"],"names":[],"mappings":"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"}
|