faf-cli 7.8.0 → 7.10.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 +18 -15
- package/dist/cli.js +235 -235
- package/dist/cli.js.map +20 -17
- package/dist/core/types.d.ts +2 -0
- package/dist/detect/relentless.d.ts +8 -2
- package/dist/detect/scanner.d.ts +27 -0
- package/dist/index.js +109 -109
- package/dist/index.js.map +15 -12
- package/dist/interrogate/build-files.d.ts +10 -0
- package/dist/interrogate/compose.d.ts +11 -0
- package/dist/interrogate/env.d.ts +8 -0
- package/dist/interrogate/index.d.ts +12 -5
- package/dist/interrogate/types.d.ts +17 -0
- package/package.json +1 -1
- package/project.faf +3 -3
package/dist/core/types.d.ts
CHANGED
|
@@ -46,11 +46,17 @@ export interface SeededContextDetailed {
|
|
|
46
46
|
* confidence}. This is the auditable form: the seeded/confirm UI can show the
|
|
47
47
|
* human WHERE a value was relocated from before they accept it.
|
|
48
48
|
*/
|
|
49
|
-
|
|
49
|
+
/** `toolingRoot`: the repo root's package.json is a tooling shell (polyglot repo
|
|
50
|
+
* — real code is in sibling dirs), so its description/repo/scripts describe the
|
|
51
|
+
* tooling, not the product. Skip package.json-sourced context; README only. */
|
|
52
|
+
export interface RelentlessOpts {
|
|
53
|
+
toolingRoot?: boolean;
|
|
54
|
+
}
|
|
55
|
+
export declare function relentlessContextDetailed(dir: string, opts?: RelentlessOpts): SeededContextDetailed;
|
|
50
56
|
/**
|
|
51
57
|
* The bare 6-W extractor — values only, backward-compatible. A pure projection
|
|
52
58
|
* of `relentlessContextDetailed` (single internal source; identical output to
|
|
53
59
|
* the pre-provenance version). Existing consumers (claude-faf-mcp's faf_auto)
|
|
54
60
|
* keep working unchanged; opt into provenance via the Detailed form.
|
|
55
61
|
*/
|
|
56
|
-
export declare function relentlessContext(dir: string): SeededContext;
|
|
62
|
+
export declare function relentlessContext(dir: string, opts?: RelentlessOpts): SeededContext;
|
package/dist/detect/scanner.d.ts
CHANGED
|
@@ -18,6 +18,33 @@ interface PackageJson {
|
|
|
18
18
|
};
|
|
19
19
|
files?: string[];
|
|
20
20
|
}
|
|
21
|
+
/** One app component discovered directly under the repo root. */
|
|
22
|
+
export interface SubdirStack {
|
|
23
|
+
/** basename */
|
|
24
|
+
name: string;
|
|
25
|
+
/** detectLanguage() of the subdir */
|
|
26
|
+
language: string;
|
|
27
|
+
/** highest-confidence real-stack framework in the subdir (never Docker/CI/etc.) */
|
|
28
|
+
topFramework: string | null;
|
|
29
|
+
frontend: boolean;
|
|
30
|
+
backend: boolean;
|
|
31
|
+
/** a real-stack framework (not infra) was detected — ranks it as the "primary" */
|
|
32
|
+
hasFramework: boolean;
|
|
33
|
+
/** a "this dir IS the app" marker (manage.py / config.ru / bin/rails) */
|
|
34
|
+
appRoot: boolean;
|
|
35
|
+
}
|
|
36
|
+
/** Shallow (depth-1) scan for per-subdirectory app stacks. Feeds the polyglot
|
|
37
|
+
* classifier + `main_language` aggregation. A dir counts only when it carries a
|
|
38
|
+
* real language manifest. This is NOT monorepo tooling — it only exists to stop
|
|
39
|
+
* a repo whose real stack lives in subdirs from falling to the `library` lie. */
|
|
40
|
+
export declare function detectSubdirStacks(dir: string): SubdirStack[];
|
|
41
|
+
/** Polyglot signal — ≥2 sibling app dirs, ≥2 distinct languages, a frontend AND
|
|
42
|
+
* a backend among them. Returns the `# found:` evidence string, or null. */
|
|
43
|
+
export declare function detectPolyglotSignal(dir: string, pkg: PackageJson | null): string | null;
|
|
44
|
+
/** Aggregate the polyglot `main_language` string — primary first (a framework-
|
|
45
|
+
* bearing backend dir wins), deduped by language, roles annotated.
|
|
46
|
+
* e.g. "Python (Django · backend); JavaScript (React · frontend); Go (service)" */
|
|
47
|
+
export declare function detectPolyglotLanguage(dir: string): string | null;
|
|
21
48
|
/** Read and parse package.json from a directory */
|
|
22
49
|
export declare function readPackageJson(dir: string): PackageJson | null;
|
|
23
50
|
/** Detect frameworks in a directory */
|