/** * πŸ”Ί TURBO-CATβ„’ FORMAT PYRAMID v3.1.1 * * ROW 20 IN PROGRESS - 199 FORMATS CATALOGUED! * * Like precious metals in a catalytic converter - each format triggers * a specific intelligence reaction. We CAN catalyze ANY format, but only * the WORTHY earn a pyramid stone! * * Pyramid Evolution: * β”œβ”€β”€ Row 17: Sum(1..17) + 1 = 154 (THE SACRED - ACHIEVED 2024) * β”œβ”€β”€ Row 18: Sum(1..18) + 1 = 172 (BEYOND SACRED - ACHIEVED) * β”œβ”€β”€ Row 19: Sum(1..19) + 1 = 190 (ACHIEVED 2025-12-17) * └── Row 20: Sum(1..20) + 1 = 211 (IN PROGRESS - 9/21 added) * * Row 20 Tier 1 Added (2025-12-17): * - build.zig.zon (Zig packages) * - gleam.toml (Gleam - 2nd most admired 2025) * - bunfig.toml (Bun config) * - mise.toml / .mise.toml (mise version manager) * - manifest.toml (Flox/Nix environments) * - justfile (Just command runner - 10k+ stars) * - .pre-commit-config.yaml (Git hooks framework) * - CLAUDE.md (Claude Code AI context) * * THE DOCTRINE: To add a new format, PROVE it's better than existing ones! * * 😽 We are the FORMAT FREAKS - Quality over Quantity! * πŸ† 199 formats - CHAMPIONSHIP GRADE FORMAT DETECTION */ /** * A slot value here must name what the file itself proves, in a slot that * value fills: `vercel.json` β†’ hosting Vercel; `Dockerfile` β†’ no hosting (it * shows a container build, not where the app runs); `jest.config.js` β†’ * nothing for CI/CD (Jest is a test runner, not a pipeline). No generic words ('Cloud', * 'Containerized', 'API Server'), no language in a framework or backend slot, * and no `runtime: Node.js` from a framework config alone β€” package.json is * that fact, and detectRuntime reads it. `faf auto` writes these values into * project.faf, so a value that is not a fact about the repo is a guess. */ export interface FormatKnowledge { frameworks: string[]; slots: Partial; priority: number; intelligence: 'ultra-high' | 'high' | 'medium' | 'low'; confirmWith?: string[]; } export interface ContextSlots { framework: string; mainLanguage: string; buildTool: string; packageManager: string; hosting: string; backend: string; apiType: string; cicd: string; database: string; cssFramework: string; uiLibrary: string; stateManagement: string; server: string; connection: string; runtime: string; build: string; main_language: string; build_tool: string; pkg_manager: string; api: string; css: string; ui_library: string; state: string; db: string; targetUser: string; coreProblem: string; missionPurpose: string; deploymentMarket: string; timeline: string; approach: string; } /** * THE KNOWLEDGE BASE * * Add any file format here and map it to: * 1. Frameworks it indicates * 2. Context slots it can fill * 3. Priority/intelligence score * * The fab-formats engine will automatically use this knowledge! */ export declare const KNOWLEDGE_BASE: Record; /** * Get knowledge for a specific format */ export declare function getFormatKnowledge(format: string): FormatKnowledge | undefined; /** * Get all format keys */ export declare function getAllFormats(): string[]; /** * Get high-value formats (priority >= 30) */ export declare function getHighValueFormats(): string[]; /** * Get formats by intelligence level */ export declare function getFormatsByIntelligence(level: FormatKnowledge['intelligence']): string[]; /** * Get formats that can fill a specific slot */ export declare function getFormatsForSlot(slotName: keyof ContextSlots): string[]; /** * Calculate total possible intelligence score */ export declare function getMaxIntelligenceScore(): number;