faf-mcp 2.3.1 → 3.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/CHANGELOG.md +26 -3
- package/CLAUDE.md +6 -6
- package/README.md +71 -72
- package/dist/src/faf-core/commands/bi-sync.d.ts +1 -3
- package/dist/src/faf-core/commands/bi-sync.js +21 -64
- package/dist/src/faf-core/commands/bi-sync.js.map +1 -1
- package/dist/src/faf-core/commands/sync.js.map +1 -1
- package/dist/src/faf-core/engines/dependency-tsa.js.map +1 -1
- package/dist/src/faf-core/fix-once/colors.js +1 -1
- package/dist/src/faf-core/fix-once/colors.js.map +1 -1
- package/dist/src/faf-core/parsers/agents-parser.d.ts +15 -0
- package/dist/src/faf-core/parsers/agents-parser.js +29 -123
- package/dist/src/faf-core/parsers/agents-parser.js.map +1 -1
- package/dist/src/faf-core/parsers/conductor-parser.js +1 -1
- package/dist/src/faf-core/parsers/conductor-parser.js.map +1 -1
- package/dist/src/faf-core/parsers/cursorrules-parser.d.ts +15 -0
- package/dist/src/faf-core/parsers/cursorrules-parser.js +54 -111
- package/dist/src/faf-core/parsers/cursorrules-parser.js.map +1 -1
- package/dist/src/faf-core/parsers/faf-git-generator.js +0 -1
- package/dist/src/faf-core/parsers/faf-git-generator.js.map +1 -1
- package/dist/src/faf-core/parsers/gemini-parser.d.ts +10 -0
- package/dist/src/faf-core/parsers/gemini-parser.js +19 -77
- package/dist/src/faf-core/parsers/gemini-parser.js.map +1 -1
- package/dist/src/handlers/engine-adapter.d.ts +13 -12
- package/dist/src/handlers/engine-adapter.js +103 -682
- package/dist/src/handlers/engine-adapter.js.map +1 -1
- package/dist/src/handlers/resources.d.ts +19 -1
- package/dist/src/handlers/resources.js +108 -23
- package/dist/src/handlers/resources.js.map +1 -1
- package/dist/src/handlers/skills.d.ts +70 -0
- package/dist/src/handlers/skills.js +174 -0
- package/dist/src/handlers/skills.js.map +1 -0
- package/dist/src/handlers/tools.d.ts +41 -5
- package/dist/src/handlers/tools.js +213 -258
- package/dist/src/handlers/tools.js.map +1 -1
- package/dist/src/server.d.ts +4 -0
- package/dist/src/server.js +51 -6
- package/dist/src/server.js.map +1 -1
- package/dist/src/utils/faf-cli-bridge.d.ts +2 -0
- package/dist/src/utils/faf-cli-bridge.js +16 -0
- package/dist/src/utils/faf-cli-bridge.js.map +1 -1
- package/package.json +16 -13
- package/project.faf +11 -6
- package/scripts/check-engines.mjs +53 -0
- package/scripts/sync-version.js +33 -19
- package/skills/faf-ide/SKILL.md +40 -0
- package/dist/src/config/visibility.d.ts +0 -41
- package/dist/src/config/visibility.js +0 -158
- package/dist/src/config/visibility.js.map +0 -1
- package/dist/src/faf-core/commands/audit.d.ts +0 -21
- package/dist/src/faf-core/commands/audit.js +0 -83
- package/dist/src/faf-core/commands/audit.js.map +0 -1
- package/dist/src/faf-core/commands/auto.d.ts +0 -25
- package/dist/src/faf-core/commands/auto.js +0 -74
- package/dist/src/faf-core/commands/auto.js.map +0 -1
- package/dist/src/faf-core/commands/doctor.d.ts +0 -17
- package/dist/src/faf-core/commands/doctor.js +0 -198
- package/dist/src/faf-core/commands/doctor.js.map +0 -1
- package/dist/src/faf-core/commands/enhance.d.ts +0 -46
- package/dist/src/faf-core/commands/enhance.js +0 -360
- package/dist/src/faf-core/commands/enhance.js.map +0 -1
- package/dist/src/faf-core/commands/formats.d.ts +0 -22
- package/dist/src/faf-core/commands/formats.js +0 -117
- package/dist/src/faf-core/commands/formats.js.map +0 -1
- package/dist/src/faf-core/commands/human.d.ts +0 -27
- package/dist/src/faf-core/commands/human.js +0 -183
- package/dist/src/faf-core/commands/human.js.map +0 -1
- package/dist/src/faf-core/commands/init.d.ts +0 -26
- package/dist/src/faf-core/commands/init.js +0 -114
- package/dist/src/faf-core/commands/init.js.map +0 -1
- package/dist/src/faf-core/commands/innit.d.ts +0 -7
- package/dist/src/faf-core/commands/innit.js +0 -13
- package/dist/src/faf-core/commands/innit.js.map +0 -1
- package/dist/src/faf-core/commands/migrate.d.ts +0 -15
- package/dist/src/faf-core/commands/migrate.js +0 -86
- package/dist/src/faf-core/commands/migrate.js.map +0 -1
- package/dist/src/faf-core/commands/quick.d.ts +0 -16
- package/dist/src/faf-core/commands/quick.js +0 -184
- package/dist/src/faf-core/commands/quick.js.map +0 -1
- package/dist/src/faf-core/commands/readme.d.ts +0 -47
- package/dist/src/faf-core/commands/readme.js +0 -361
- package/dist/src/faf-core/commands/readme.js.map +0 -1
- package/dist/src/faf-core/commands/score.d.ts +0 -47
- package/dist/src/faf-core/commands/score.js +0 -49
- package/dist/src/faf-core/commands/score.js.map +0 -1
- package/dist/src/faf-core/commands/update.d.ts +0 -12
- package/dist/src/faf-core/commands/update.js +0 -46
- package/dist/src/faf-core/commands/update.js.map +0 -1
- package/dist/src/faf-core/commands/validate.d.ts +0 -21
- package/dist/src/faf-core/commands/validate.js +0 -81
- package/dist/src/faf-core/commands/validate.js.map +0 -1
- package/dist/src/faf-core/compiler/faf-compiler.d.ts +0 -138
- package/dist/src/faf-core/compiler/faf-compiler.js +0 -1362
- package/dist/src/faf-core/compiler/faf-compiler.js.map +0 -1
- package/dist/src/faf-core/engines/fab-formats-processor.d.ts +0 -166
- package/dist/src/faf-core/engines/fab-formats-processor.js +0 -1274
- package/dist/src/faf-core/engines/fab-formats-processor.js.map +0 -1
- package/dist/src/faf-core/engines/faf-dna.d.ts +0 -159
- package/dist/src/faf-core/engines/faf-dna.js +0 -555
- package/dist/src/faf-core/engines/faf-dna.js.map +0 -1
- package/dist/src/faf-core/engines/relentless-context-extractor.d.ts +0 -100
- package/dist/src/faf-core/engines/relentless-context-extractor.js +0 -625
- package/dist/src/faf-core/engines/relentless-context-extractor.js.map +0 -1
- package/dist/src/faf-core/fix-once/types.d.ts +0 -257
- package/dist/src/faf-core/fix-once/types.js +0 -26
- package/dist/src/faf-core/fix-once/types.js.map +0 -1
- package/dist/src/faf-core/generators/faf-generator-championship.d.ts +0 -16
- package/dist/src/faf-core/generators/faf-generator-championship.js +0 -463
- package/dist/src/faf-core/generators/faf-generator-championship.js.map +0 -1
- package/dist/src/faf-core/inject.d.ts +0 -19
- package/dist/src/faf-core/inject.js +0 -57
- package/dist/src/faf-core/inject.js.map +0 -1
- package/dist/src/faf-core/parsers/index.d.ts +0 -12
- package/dist/src/faf-core/parsers/index.js +0 -29
- package/dist/src/faf-core/parsers/index.js.map +0 -1
- package/dist/src/faf-core/utils/balance-visualizer.d.ts +0 -37
- package/dist/src/faf-core/utils/balance-visualizer.js +0 -197
- package/dist/src/faf-core/utils/balance-visualizer.js.map +0 -1
- package/dist/src/faf-core/utils/championship-style.d.ts +0 -109
- package/dist/src/faf-core/utils/championship-style.js +0 -219
- package/dist/src/faf-core/utils/championship-style.js.map +0 -1
- package/dist/src/faf-core/utils/chrome-extension-detector.d.ts +0 -73
- package/dist/src/faf-core/utils/chrome-extension-detector.js +0 -268
- package/dist/src/faf-core/utils/chrome-extension-detector.js.map +0 -1
- package/dist/src/faf-core/utils/platform-detector.d.ts +0 -30
- package/dist/src/faf-core/utils/platform-detector.js +0 -218
- package/dist/src/faf-core/utils/platform-detector.js.map +0 -1
- package/dist/src/faf-core/utils/technical-credit.d.ts +0 -35
- package/dist/src/faf-core/utils/technical-credit.js +0 -286
- package/dist/src/faf-core/utils/technical-credit.js.map +0 -1
- package/dist/src/faf-core/utils/yaml-generator.d.ts +0 -41
- package/dist/src/faf-core/utils/yaml-generator.js +0 -360
- package/dist/src/faf-core/utils/yaml-generator.js.map +0 -1
- package/dist/src/handlers/behavioral-instruction.d.ts +0 -16
- package/dist/src/handlers/behavioral-instruction.js +0 -43
- package/dist/src/handlers/behavioral-instruction.js.map +0 -1
- package/dist/src/handlers/championship-tools.d.ts +0 -116
- package/dist/src/handlers/championship-tools.js +0 -2320
- package/dist/src/handlers/championship-tools.js.map +0 -1
- package/dist/src/handlers/cloud-handler.d.ts +0 -59
- package/dist/src/handlers/cloud-handler.js +0 -348
- package/dist/src/handlers/cloud-handler.js.map +0 -1
- package/dist/src/handlers/tool-registry.d.ts +0 -23
- package/dist/src/handlers/tool-registry.js +0 -68
- package/dist/src/handlers/tool-registry.js.map +0 -1
- package/dist/src/handlers/tool-types.d.ts +0 -167
- package/dist/src/handlers/tool-types.js +0 -7
- package/dist/src/handlers/tool-types.js.map +0 -1
- package/dist/src/test-all-functions.d.ts +0 -15
- package/dist/src/test-all-functions.js +0 -163
- package/dist/src/test-all-functions.js.map +0 -1
- package/dist/src/types/mcp-tools.d.ts +0 -53
- package/dist/src/types/mcp-tools.js +0 -77
- package/dist/src/types/mcp-tools.js.map +0 -1
- package/dist/src/types/tool-visibility.d.ts +0 -36
- package/dist/src/types/tool-visibility.js +0 -551
- package/dist/src/types/tool-visibility.js.map +0 -1
- package/dist/src/utils/auto-path-detection.d.ts +0 -26
- package/dist/src/utils/auto-path-detection.js +0 -198
- package/dist/src/utils/auto-path-detection.js.map +0 -1
- package/dist/src/utils/championship-format.d.ts +0 -30
- package/dist/src/utils/championship-format.js +0 -81
- package/dist/src/utils/championship-format.js.map +0 -1
- package/dist/src/utils/cli-detector.d.ts +0 -17
- package/dist/src/utils/cli-detector.js +0 -247
- package/dist/src/utils/cli-detector.js.map +0 -1
- package/dist/src/utils/display-protocol.d.ts +0 -57
- package/dist/src/utils/display-protocol.js +0 -131
- package/dist/src/utils/display-protocol.js.map +0 -1
- package/dist/src/utils/username-detector.d.ts +0 -27
- package/dist/src/utils/username-detector.js +0 -90
- package/dist/src/utils/username-detector.js.map +0 -1
- package/dist/src/utils/visual-style.d.ts +0 -62
- package/dist/src/utils/visual-style.js +0 -166
- package/dist/src/utils/visual-style.js.map +0 -1
- package/scripts/postinstall.js +0 -50
- package/skill/SKILL.md +0 -385
|
@@ -23,7 +23,7 @@ exports.detectGeminiMd = detectGeminiMd;
|
|
|
23
23
|
exports.detectGlobalGeminiMd = detectGlobalGeminiMd;
|
|
24
24
|
const fs_1 = require("fs");
|
|
25
25
|
const path_1 = __importDefault(require("path"));
|
|
26
|
-
const
|
|
26
|
+
const faf_cli_bridge_js_1 = require("../../utils/faf-cli-bridge.js");
|
|
27
27
|
// ============================================================================
|
|
28
28
|
// Parsing
|
|
29
29
|
// ============================================================================
|
|
@@ -36,8 +36,9 @@ function parseGeminiMd(content) {
|
|
|
36
36
|
const sections = [];
|
|
37
37
|
let currentSection = null;
|
|
38
38
|
for (const line of lines) {
|
|
39
|
-
// H1 = Project name
|
|
40
|
-
|
|
39
|
+
// H1 = Project name. Strips faf-cli's current `# GEMINI.md — <name>`
|
|
40
|
+
// shape (v3.0) as well as the legacy bare `# <name>` / `# Project: <name>`.
|
|
41
|
+
const h1Match = line.match(/^#\s+(?:Project:\s*|GEMINI\.md\s+—\s+)?(.+)$/);
|
|
41
42
|
if (h1Match) {
|
|
42
43
|
projectName = h1Match[1].trim();
|
|
43
44
|
continue;
|
|
@@ -152,81 +153,22 @@ function createEmptyFaf() {
|
|
|
152
153
|
// ============================================================================
|
|
153
154
|
// Export: FAF -> GEMINI.md
|
|
154
155
|
// ============================================================================
|
|
156
|
+
/**
|
|
157
|
+
* Render GEMINI.md content from .faf data.
|
|
158
|
+
*
|
|
159
|
+
* v3.0: ported from faf-cli's CURRENT `renderGeminiMd`
|
|
160
|
+
* (~/FAF/cli/src/interop/gemini.ts, faf-cli 7.11.0) — matches Gemini CLI's
|
|
161
|
+
* own GEMINI.md convention (hierarchical, concatenation-friendly,
|
|
162
|
+
* `@file.md`-importable): commands, key files, and confirmation-required
|
|
163
|
+
* actions, not the AGENTS.md guardrail ladder — a different spec for a
|
|
164
|
+
* different reader.
|
|
165
|
+
*/
|
|
155
166
|
async function geminiExport(fafContent, outputPath) {
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
const
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
lines.push(`# Project: ${projectName}`);
|
|
162
|
-
lines.push('');
|
|
163
|
-
// Description as intro paragraph if exists
|
|
164
|
-
const description = fafContent.project?.description || fafContent.description;
|
|
165
|
-
if (description) {
|
|
166
|
-
lines.push(description);
|
|
167
|
-
lines.push('');
|
|
168
|
-
}
|
|
169
|
-
// General Instructions section
|
|
170
|
-
const guidelineItems = fafContent.project?.guidelines || fafContent.guidelines || [];
|
|
171
|
-
const ruleItems = fafContent.project?.rules || fafContent.rules || [];
|
|
172
|
-
const generalInstructions = [...guidelineItems, ...ruleItems];
|
|
173
|
-
if (generalInstructions.length > 0) {
|
|
174
|
-
lines.push('## General Instructions');
|
|
175
|
-
lines.push('');
|
|
176
|
-
for (const item of generalInstructions) {
|
|
177
|
-
lines.push(`- ${item}`);
|
|
178
|
-
}
|
|
179
|
-
lines.push('');
|
|
180
|
-
}
|
|
181
|
-
// Coding Style section
|
|
182
|
-
const codingStyleItems = fafContent.project?.codingStyle || fafContent.codingStyle || [];
|
|
183
|
-
const stack = fafContent.project?.stack || {};
|
|
184
|
-
// Add languages/frameworks to coding style context
|
|
185
|
-
const styleItems = [...codingStyleItems];
|
|
186
|
-
if (stack.languages?.length > 0) {
|
|
187
|
-
styleItems.push(`Languages: ${stack.languages.join(', ')}`);
|
|
188
|
-
}
|
|
189
|
-
if (stack.frameworks?.length > 0) {
|
|
190
|
-
styleItems.push(`Frameworks: ${stack.frameworks.join(', ')}`);
|
|
191
|
-
}
|
|
192
|
-
if (styleItems.length > 0) {
|
|
193
|
-
lines.push('## Coding Style');
|
|
194
|
-
lines.push('');
|
|
195
|
-
for (const item of styleItems) {
|
|
196
|
-
lines.push(`- ${item}`);
|
|
197
|
-
}
|
|
198
|
-
lines.push('');
|
|
199
|
-
}
|
|
200
|
-
// Tech Stack section (if detailed)
|
|
201
|
-
if (stack.databases?.length > 0 || stack.infrastructure?.length > 0) {
|
|
202
|
-
lines.push('## Tech Stack');
|
|
203
|
-
lines.push('');
|
|
204
|
-
if (stack.databases?.length > 0) {
|
|
205
|
-
lines.push(`- Databases: ${stack.databases.join(', ')}`);
|
|
206
|
-
}
|
|
207
|
-
if (stack.infrastructure?.length > 0) {
|
|
208
|
-
lines.push(`- Infrastructure: ${stack.infrastructure.join(', ')}`);
|
|
209
|
-
}
|
|
210
|
-
lines.push('');
|
|
211
|
-
}
|
|
212
|
-
// Goals section
|
|
213
|
-
const goals = fafContent.project?.goals || [];
|
|
214
|
-
if (goals.length > 0) {
|
|
215
|
-
lines.push('## Project Goals');
|
|
216
|
-
lines.push('');
|
|
217
|
-
for (const goal of goals) {
|
|
218
|
-
lines.push(`- ${goal}`);
|
|
219
|
-
}
|
|
220
|
-
lines.push('');
|
|
221
|
-
}
|
|
222
|
-
// Write file — non-destructive: inject/update the faf block, preserve the rest.
|
|
223
|
-
const content = lines.join('\n');
|
|
224
|
-
await (0, inject_1.injectFafBlock)(outputPath, content);
|
|
225
|
-
return {
|
|
226
|
-
success: true,
|
|
227
|
-
filePath: outputPath,
|
|
228
|
-
warnings,
|
|
229
|
-
};
|
|
167
|
+
// Composed from faf-cli (7.12.0+): the same bytes `faf export --gemini` writes.
|
|
168
|
+
const { renderGeminiMd, enrichFromRepo, injectFafBlock } = await faf_cli_bridge_js_1.fafCli;
|
|
169
|
+
const dir = path_1.default.dirname(outputPath);
|
|
170
|
+
injectFafBlock(outputPath, renderGeminiMd(enrichFromRepo(dir, fafContent ?? {})));
|
|
171
|
+
return { success: true, filePath: outputPath, warnings: [] };
|
|
230
172
|
}
|
|
231
173
|
// ============================================================================
|
|
232
174
|
// Detection
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini-parser.js","sourceRoot":"","sources":["../../../../src/faf-core/parsers/gemini-parser.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;;;AAuDH,
|
|
1
|
+
{"version":3,"file":"gemini-parser.js","sourceRoot":"","sources":["../../../../src/faf-core/parsers/gemini-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,23 +6,24 @@ export interface FafEngineResult {
|
|
|
6
6
|
}
|
|
7
7
|
export declare class FafEngineAdapter {
|
|
8
8
|
private enginePath;
|
|
9
|
-
private detectedCliPath;
|
|
10
|
-
private cliVersion;
|
|
11
|
-
private timeout;
|
|
12
9
|
private workingDirectory;
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
/**
|
|
11
|
+
* `enginePath` is kept for the config surface (server.ts passes it through;
|
|
12
|
+
* faf_debug reports it). `_timeout` was the exec fallback's — retained in
|
|
13
|
+
* the signature so callers do not break, unused now that nothing spawns.
|
|
14
|
+
*/
|
|
15
|
+
constructor(enginePath?: string, _timeout?: number);
|
|
15
16
|
private findBestWorkingDirectory;
|
|
17
|
+
/**
|
|
18
|
+
* Wrap a bundled command's outcome. A failed command's reason travels in
|
|
19
|
+
* `error` so handlers can print it — previously the bundled branches set
|
|
20
|
+
* only `success` and users saw "❌ undefined".
|
|
21
|
+
*/
|
|
22
|
+
private outcome;
|
|
23
|
+
private failure;
|
|
16
24
|
callEngine(command: string, args?: string[]): Promise<FafEngineResult>;
|
|
17
|
-
private parseOutput;
|
|
18
|
-
checkHealth(): Promise<boolean>;
|
|
19
25
|
getWorkingDirectory(): string;
|
|
20
26
|
setWorkingDirectory(dir: string): void;
|
|
21
27
|
updateWorkingDirectoryFromPath(filePath: string): void;
|
|
22
28
|
getEnginePath(): string;
|
|
23
|
-
getCliInfo(): {
|
|
24
|
-
detected: boolean;
|
|
25
|
-
path?: string;
|
|
26
|
-
version?: string;
|
|
27
|
-
};
|
|
28
29
|
}
|