faf-cli 8.4.0 → 8.5.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.
@@ -53,10 +53,15 @@ export declare function isPlaceholder(value: unknown): boolean;
53
53
  * about the repo: `faf auto` writes no `slotignored` over typed words on it,
54
54
  * and `faf score` promises none. */
55
55
  export declare const NO_CLASSIFYING_SIGNALS = "no classifying signals \u2014 fallback";
56
+ /** The slots a type uses although their categories are not active. Both
57
+ * skills types name their framework (the skills format they ship: Agent
58
+ * Skills, a Claude Code plugin): `skills` 9 + 1 = 10. A `skills-plugin`
59
+ * also names its runtime (what runs its build and scripts): 12 + 2 = 14. */
60
+ export declare const APP_TYPE_ADDS: Readonly<Record<string, ReadonlySet<string>>>;
56
61
  /** Whether the app-type `type` uses `slot` — the one rule for which slots
57
- * count: the type's active categories, less the slots a `framework` repo
58
- * leaves out. `null` when `type` is not an app-type faf knows (then faf
59
- * cannot tell, and decides nothing from it). */
62
+ * count: the type's active categories, plus the slots it adds, less the
63
+ * slots a `framework` repo leaves out. `null` when `type` is not an
64
+ * app-type faf knows (then faf cannot tell, and decides nothing from it). */
60
65
  export declare function appTypeUsesSlot(type: unknown, slot: SlotDef): boolean | null;
61
66
  /** App-type to active category mapping. The canonical 26-type ladder —
62
67
  * detectable apps + `encyclopedia` (curated knowledge) + `intent` (seed).
@@ -61,6 +61,15 @@ export interface ProjectTypeDetection {
61
61
  /** Signals that matched, in order observed. */
62
62
  found: string[];
63
63
  }
64
+ /** The SKILL.md files a repo ships: one at the root (a single skill), or one
65
+ * per skill folder, under `skills/` or at the top level (the Agent Skills
66
+ * layout: a folder per skill). Dot folders are left out — `.claude/skills`
67
+ * holds a project's own skills, not what the repo ships. */
68
+ export declare function findSkillFiles(dir: string): string[];
69
+ /** The skills format a repo ships — the framework slot of the skills
70
+ * app-types: `Claude Code plugin` with a plugin manifest, `Agent Skills`
71
+ * for SKILL.md files alone, `''` when it ships none. */
72
+ export declare function detectSkillsFormat(dir: string): string;
64
73
  /** Detect the project type with rationale. The `found` list captures every
65
74
  * positive signal that contributed to the classification — used downstream
66
75
  * by `writeFaf` to render `# found: <list>` next to `type:` in the .faf.