UNPKG

faf-cli

Version:

😽 TURBO-CAT: The Rapid Catalytic Converter • Project DNA ✨ for ANY AI • Fully Integrated with React, Next.js, Svelte, TypeScript, Vite & n8n • FREE FOREVER • 10,000+ developers • Championship Edition

1,362 lines • 34.3 kB
"use strict"; /** * 🔺 TURBO-CAT™ FORMAT PYRAMID v1.0.0 * * THE SACRED 154 - Each format is a pyramid stone! * * 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 Status: 134/154 stones placed (20 positions available) * * THE DOCTRINE: To add a new format, PROVE it's better than existing ones! * Sum(1..17) = 153 + TURBO-CAT = 154 Perfect Formats * * 😽 We are the FORMAT FREAKS - Quality over Quantity! */ Object.defineProperty(exports, "__esModule", { value: true }); exports.KNOWLEDGE_BASE = void 0; exports.getFormatKnowledge = getFormatKnowledge; exports.getAllFormats = getAllFormats; exports.getHighValueFormats = getHighValueFormats; exports.getFormatsByIntelligence = getFormatsByIntelligence; exports.getFormatsForSlot = getFormatsForSlot; exports.getMaxIntelligenceScore = getMaxIntelligenceScore; /** * 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! */ exports.KNOWLEDGE_BASE = { // ============================================ // ULTRA-HIGH VALUE (35 points) - Package Managers // ============================================ 'package.json': { frameworks: ['Node.js', 'JavaScript', 'TypeScript'], slots: { packageManager: 'npm/yarn/pnpm', mainLanguage: 'JavaScript/TypeScript' }, priority: 35, intelligence: 'ultra-high' }, 'README.md': { frameworks: [], // Can be any framework slots: { targetUser: 'developers', // Often contains who it's for coreProblem: 'understanding project', // Usually describes the problem missionPurpose: 'project documentation' // Contains the why }, priority: 25, // HIGH: Human context goldmine intelligence: 'high' }, 'requirements.txt': { frameworks: ['Python'], slots: { packageManager: 'pip', mainLanguage: 'Python' }, priority: 35, intelligence: 'ultra-high' }, 'Pipfile': { frameworks: ['Python'], slots: { packageManager: 'pipenv', mainLanguage: 'Python' }, priority: 35, intelligence: 'ultra-high' }, 'pyproject.toml': { frameworks: ['Python'], slots: { packageManager: 'poetry', mainLanguage: 'Python', buildTool: 'poetry' }, priority: 35, intelligence: 'ultra-high' }, 'Gemfile': { frameworks: ['Ruby', 'Rails'], slots: { packageManager: 'bundler', mainLanguage: 'Ruby' }, priority: 35, intelligence: 'ultra-high' }, 'composer.json': { frameworks: ['PHP', 'Laravel', 'Symfony'], slots: { packageManager: 'composer', mainLanguage: 'PHP' }, priority: 35, intelligence: 'ultra-high' }, 'Cargo.toml': { frameworks: ['Rust'], slots: { packageManager: 'cargo', mainLanguage: 'Rust', buildTool: 'cargo' }, priority: 35, intelligence: 'ultra-high' }, 'go.mod': { frameworks: ['Go'], slots: { packageManager: 'go modules', mainLanguage: 'Go', buildTool: 'go build' }, priority: 35, intelligence: 'ultra-high' }, 'pubspec.yaml': { frameworks: ['Flutter', 'Dart'], slots: { packageManager: 'pub', mainLanguage: 'Dart', framework: 'Flutter' }, priority: 35, intelligence: 'ultra-high' }, 'pom.xml': { frameworks: ['Java', 'Spring', 'Maven'], slots: { packageManager: 'maven', mainLanguage: 'Java', buildTool: 'maven' }, priority: 35, intelligence: 'ultra-high' }, 'build.gradle': { frameworks: ['Java', 'Kotlin', 'Spring', 'Gradle'], slots: { packageManager: 'gradle', mainLanguage: 'Java/Kotlin', buildTool: 'gradle' }, priority: 35, intelligence: 'ultra-high' }, // ============================================ // HIGH VALUE (30 points) - JavaScript Frameworks // ============================================ 'next.config.js': { frameworks: ['Next.js'], slots: { framework: 'Next.js', runtime: 'Node.js', buildTool: 'Next.js', mainLanguage: 'JavaScript', server: 'Node.js' }, priority: 30, intelligence: 'high' }, 'next.config.mjs': { frameworks: ['Next.js'], slots: { framework: 'Next.js', runtime: 'Node.js', buildTool: 'Next.js', mainLanguage: 'JavaScript', server: 'Node.js' }, priority: 30, intelligence: 'high' }, 'next.config.ts': { frameworks: ['Next.js 13+'], slots: { framework: 'Next.js 13+', runtime: 'Node.js', buildTool: 'Next.js', mainLanguage: 'TypeScript', server: 'Node.js' }, priority: 30, intelligence: 'high' }, 'nuxt.config.js': { frameworks: ['Nuxt 2'], slots: { framework: 'Nuxt 2', runtime: 'Node.js', buildTool: 'Nuxt', mainLanguage: 'JavaScript', server: 'Node.js' }, priority: 30, intelligence: 'high' }, 'nuxt.config.ts': { frameworks: ['Nuxt 3'], slots: { framework: 'Nuxt 3', runtime: 'Node.js', buildTool: 'Nuxt', mainLanguage: 'TypeScript', server: 'Node.js' }, priority: 30, intelligence: 'high' }, 'svelte.config.js': { frameworks: ['SvelteKit'], slots: { framework: 'SvelteKit', buildTool: 'Vite', mainLanguage: 'JavaScript', server: 'Node.js' }, priority: 30, intelligence: 'high' }, 'angular.json': { frameworks: ['Angular'], slots: { framework: 'Angular', buildTool: 'Angular CLI', mainLanguage: 'TypeScript', server: 'Node.js' }, priority: 30, intelligence: 'high' }, // ============================================ // CHROME EXTENSION SUPPORT // ============================================ 'manifest.json': { frameworks: ['Chrome Extension', 'Browser Extension'], slots: { framework: 'Chrome Extension', runtime: 'Chrome/Browser', mainLanguage: 'JavaScript', hosting: 'Chrome Web Store', apiType: 'Chrome APIs' }, priority: 35, intelligence: 'ultra-high', confirmWith: ['popup.html', 'background.js', 'content.js'] }, 'vue.config.js': { frameworks: ['Vue'], slots: { framework: 'Vue', buildTool: 'Vue CLI', mainLanguage: 'JavaScript' }, priority: 30, intelligence: 'high' }, 'remix.config.js': { frameworks: ['Remix'], slots: { framework: 'Remix', runtime: 'Node.js', mainLanguage: 'JavaScript', server: 'Node.js' }, priority: 30, intelligence: 'high' }, 'gatsby-config.js': { frameworks: ['Gatsby'], slots: { framework: 'Gatsby', buildTool: 'Gatsby', mainLanguage: 'JavaScript', server: 'Node.js' }, priority: 30, intelligence: 'high' }, 'gatsby-config.ts': { frameworks: ['Gatsby'], slots: { framework: 'Gatsby', buildTool: 'Gatsby', mainLanguage: 'TypeScript', server: 'Node.js' }, priority: 30, intelligence: 'high' }, 'astro.config.mjs': { frameworks: ['Astro'], slots: { framework: 'Astro', buildTool: 'Vite', mainLanguage: 'JavaScript', server: 'Node.js' }, priority: 30, intelligence: 'high' }, 'redwood.toml': { frameworks: ['RedwoodJS'], slots: { framework: 'RedwoodJS', buildTool: 'Webpack', mainLanguage: 'JavaScript/TypeScript', server: 'Node.js', database: 'Prisma' }, priority: 30, intelligence: 'high' }, 'blitz.config.ts': { frameworks: ['Blitz.js'], slots: { framework: 'Blitz.js', buildTool: 'Next.js', mainLanguage: 'TypeScript', server: 'Node.js', database: 'Prisma' }, priority: 30, intelligence: 'high' }, 'qwik.config.ts': { frameworks: ['Qwik'], slots: { framework: 'Qwik', buildTool: 'Vite', mainLanguage: 'TypeScript', server: 'Node.js' }, priority: 30, intelligence: 'high' }, // ============================================ // HIGH VALUE (30 points) - Backend Frameworks // ============================================ 'manage.py': { frameworks: ['Django'], slots: { framework: 'Django', backend: 'Django', mainLanguage: 'Python', server: 'Django', apiType: 'Django Views' }, priority: 30, intelligence: 'high' }, 'artisan': { frameworks: ['Laravel'], slots: { framework: 'Laravel', backend: 'Laravel', mainLanguage: 'PHP', server: 'PHP', apiType: 'Laravel Routes' }, priority: 30, intelligence: 'high' }, 'mix.exs': { frameworks: ['Phoenix', 'Elixir'], slots: { framework: 'Phoenix', backend: 'Phoenix', mainLanguage: 'Elixir', server: 'BEAM' }, priority: 30, intelligence: 'high' }, 'nest-cli.json': { frameworks: ['NestJS'], slots: { framework: 'NestJS', backend: 'NestJS', mainLanguage: 'TypeScript', server: 'Node.js', apiType: 'REST API' }, priority: 30, intelligence: 'high' }, 'strapi.config.js': { frameworks: ['Strapi'], slots: { backend: 'Strapi', apiType: 'REST API', database: 'Required', server: 'Node.js' }, priority: 30, intelligence: 'high' }, // ============================================ // HIGH VALUE (30 points) - Infrastructure // ============================================ 'Dockerfile': { frameworks: ['Docker'], slots: { hosting: 'Docker', connection: 'Containerized' }, priority: 30, intelligence: 'high' }, 'docker-compose.yml': { frameworks: ['Docker Compose'], slots: { hosting: 'Docker', connection: 'Multi-container' }, priority: 30, intelligence: 'high' }, 'docker-compose.yaml': { frameworks: ['Docker Compose'], slots: { hosting: 'Docker', connection: 'Multi-container' }, priority: 30, intelligence: 'high' }, 'kubernetes.yml': { frameworks: ['Kubernetes'], slots: { hosting: 'Kubernetes', connection: 'Orchestrated' }, priority: 30, intelligence: 'high' }, 'k8s.yaml': { frameworks: ['Kubernetes'], slots: { hosting: 'Kubernetes', connection: 'Orchestrated' }, priority: 30, intelligence: 'high' }, // ============================================ // HIGH VALUE (30 points) - Deployment // ============================================ 'vercel.json': { frameworks: ['Vercel'], slots: { hosting: 'Vercel', cicd: 'Vercel' }, priority: 30, intelligence: 'high' }, 'netlify.toml': { frameworks: ['Netlify'], slots: { hosting: 'Netlify', cicd: 'Netlify' }, priority: 30, intelligence: 'high' }, 'render.yaml': { frameworks: ['Render'], slots: { hosting: 'Render', cicd: 'Render' }, priority: 30, intelligence: 'high' }, 'fly.toml': { frameworks: ['Fly.io'], slots: { hosting: 'Fly.io', cicd: 'Fly.io' }, priority: 30, intelligence: 'high' }, 'railway.json': { frameworks: ['Railway'], slots: { hosting: 'Railway', cicd: 'Railway' }, priority: 30, intelligence: 'high' }, 'railway.toml': { frameworks: ['Railway'], slots: { hosting: 'Railway', cicd: 'Railway' }, priority: 30, intelligence: 'high' }, 'app.yaml': { frameworks: ['Google App Engine'], slots: { hosting: 'Google Cloud', cicd: 'Google Cloud' }, priority: 30, intelligence: 'high' }, 'Procfile': { frameworks: ['Heroku'], slots: { hosting: 'Heroku', cicd: 'Heroku' }, priority: 30, intelligence: 'high' }, // ============================================ // MEDIUM VALUE (25 points) - Build Tools // ============================================ 'vite.config.js': { frameworks: ['Vite'], slots: { buildTool: 'Vite' }, priority: 25, intelligence: 'medium' }, 'vite.config.ts': { frameworks: ['Vite'], slots: { buildTool: 'Vite', mainLanguage: 'TypeScript' }, priority: 25, intelligence: 'medium' }, 'webpack.config.js': { frameworks: ['Webpack'], slots: { buildTool: 'Webpack' }, priority: 25, intelligence: 'medium' }, 'rollup.config.js': { frameworks: ['Rollup'], slots: { buildTool: 'Rollup' }, priority: 25, intelligence: 'medium' }, 'esbuild.config.js': { frameworks: ['esbuild'], slots: { buildTool: 'esbuild' }, priority: 25, intelligence: 'medium' }, 'parcel.config.js': { frameworks: ['Parcel'], slots: { buildTool: 'Parcel' }, priority: 25, intelligence: 'medium' }, 'snowpack.config.js': { frameworks: ['Snowpack'], slots: { buildTool: 'Snowpack' }, priority: 25, intelligence: 'medium' }, // ============================================ // MEDIUM VALUE (25 points) - Language Config // ============================================ 'tsconfig.json': { frameworks: ['TypeScript'], slots: { mainLanguage: 'TypeScript' }, priority: 25, intelligence: 'medium' }, 'jsconfig.json': { frameworks: ['JavaScript'], slots: { mainLanguage: 'JavaScript' }, priority: 20, intelligence: 'medium' }, 'babel.config.js': { frameworks: ['Babel'], slots: { buildTool: 'Babel' }, priority: 20, intelligence: 'medium' }, '.babelrc': { frameworks: ['Babel'], slots: { buildTool: 'Babel' }, priority: 20, intelligence: 'medium' }, // ============================================ // MEDIUM VALUE (25 points) - Testing // ============================================ 'jest.config.js': { frameworks: ['Jest'], slots: { cicd: 'Jest' }, priority: 25, intelligence: 'medium' }, 'jest.config.ts': { frameworks: ['Jest'], slots: { cicd: 'Jest', mainLanguage: 'TypeScript' }, priority: 25, intelligence: 'medium' }, 'vitest.config.ts': { frameworks: ['Vitest'], slots: { cicd: 'Vitest', mainLanguage: 'TypeScript' }, priority: 25, intelligence: 'medium' }, 'cypress.config.js': { frameworks: ['Cypress'], slots: { cicd: 'Cypress' }, priority: 25, intelligence: 'medium' }, 'playwright.config.ts': { frameworks: ['Playwright'], slots: { cicd: 'Playwright', mainLanguage: 'TypeScript' }, priority: 25, intelligence: 'medium' }, 'karma.conf.js': { frameworks: ['Karma'], slots: { cicd: 'Karma' }, priority: 20, intelligence: 'medium' }, 'mocha.opts': { frameworks: ['Mocha'], slots: { cicd: 'Mocha' }, priority: 20, intelligence: 'medium' }, '.rspec': { frameworks: ['RSpec'], slots: { cicd: 'RSpec', mainLanguage: 'Ruby' }, priority: 25, intelligence: 'medium' }, 'pytest.ini': { frameworks: ['Pytest'], slots: { cicd: 'Pytest', mainLanguage: 'Python' }, priority: 25, intelligence: 'medium' }, 'phpunit.xml': { frameworks: ['PHPUnit'], slots: { cicd: 'PHPUnit', mainLanguage: 'PHP' }, priority: 25, intelligence: 'medium' }, // ============================================ // MEDIUM VALUE (25 points) - Database/ORM // ============================================ 'schema.prisma': { frameworks: ['Prisma'], slots: { database: 'Prisma ORM', connection: 'Prisma' }, priority: 25, intelligence: 'medium' }, 'drizzle.config.ts': { frameworks: ['Drizzle'], slots: { database: 'Drizzle ORM', connection: 'Drizzle', mainLanguage: 'TypeScript' }, priority: 25, intelligence: 'medium' }, 'ormconfig.js': { frameworks: ['TypeORM'], slots: { database: 'TypeORM', connection: 'TypeORM' }, priority: 25, intelligence: 'medium' }, 'knexfile.js': { frameworks: ['Knex.js'], slots: { database: 'Knex.js', connection: 'Knex.js' }, priority: 25, intelligence: 'medium' }, 'sequelize.config.js': { frameworks: ['Sequelize'], slots: { database: 'Sequelize', connection: 'Sequelize' }, priority: 25, intelligence: 'medium' }, 'alembic.ini': { frameworks: ['Alembic'], slots: { database: 'Alembic', mainLanguage: 'Python' }, priority: 25, intelligence: 'medium' }, // ============================================ // MEDIUM VALUE (25 points) - CI/CD // ============================================ '.github/workflows': { frameworks: ['GitHub Actions'], slots: { cicd: 'GitHub Actions' }, priority: 25, intelligence: 'medium' }, '.gitlab-ci.yml': { frameworks: ['GitLab CI'], slots: { cicd: 'GitLab CI' }, priority: 25, intelligence: 'medium' }, 'Jenkinsfile': { frameworks: ['Jenkins'], slots: { cicd: 'Jenkins' }, priority: 25, intelligence: 'medium' }, '.circleci/config.yml': { frameworks: ['CircleCI'], slots: { cicd: 'CircleCI' }, priority: 25, intelligence: 'medium' }, '.travis.yml': { frameworks: ['Travis CI'], slots: { cicd: 'Travis CI' }, priority: 25, intelligence: 'medium' }, 'azure-pipelines.yml': { frameworks: ['Azure DevOps'], slots: { cicd: 'Azure DevOps' }, priority: 25, intelligence: 'medium' }, 'bitbucket-pipelines.yml': { frameworks: ['Bitbucket Pipelines'], slots: { cicd: 'Bitbucket Pipelines' }, priority: 25, intelligence: 'medium' }, // ============================================ // MEDIUM VALUE (20 points) - CSS/UI // ============================================ 'tailwind.config.js': { frameworks: ['Tailwind CSS'], slots: { cssFramework: 'Tailwind CSS' }, priority: 20, intelligence: 'medium' }, 'tailwind.config.ts': { frameworks: ['Tailwind CSS'], slots: { cssFramework: 'Tailwind CSS', mainLanguage: 'TypeScript' }, priority: 20, intelligence: 'medium' }, 'postcss.config.js': { frameworks: ['PostCSS'], slots: { cssFramework: 'PostCSS' }, priority: 20, intelligence: 'medium' }, 'uno.config.ts': { frameworks: ['UnoCSS'], slots: { cssFramework: 'UnoCSS', mainLanguage: 'TypeScript' }, priority: 20, intelligence: 'medium' }, 'styled-components.config.js': { frameworks: ['styled-components'], slots: { cssFramework: 'styled-components', uiLibrary: 'styled-components' }, priority: 20, intelligence: 'medium' }, 'emotion.config.js': { frameworks: ['Emotion'], slots: { cssFramework: 'Emotion', uiLibrary: 'Emotion' }, priority: 20, intelligence: 'medium' }, // ============================================ // MEDIUM VALUE (25 points) - Mobile // ============================================ 'metro.config.js': { frameworks: ['React Native'], slots: { framework: 'React Native', mainLanguage: 'JavaScript' }, priority: 25, intelligence: 'medium' }, 'expo.config.js': { frameworks: ['Expo'], slots: { framework: 'React Native', buildTool: 'Expo' }, priority: 25, intelligence: 'medium' }, 'app.json': { frameworks: ['React Native', 'Expo'], slots: { framework: 'React Native' }, priority: 20, intelligence: 'medium', confirmWith: ['expo'] }, 'capacitor.config.ts': { frameworks: ['Capacitor'], slots: { framework: 'Capacitor', mainLanguage: 'TypeScript' }, priority: 25, intelligence: 'medium' }, 'ionic.config.json': { frameworks: ['Ionic'], slots: { framework: 'Ionic', uiLibrary: 'Ionic' }, priority: 25, intelligence: 'medium' }, // ============================================ // MEDIUM VALUE (25 points) - Monorepo // ============================================ 'nx.json': { frameworks: ['Nx'], slots: { buildTool: 'Nx' }, priority: 25, intelligence: 'medium' }, 'turbo.json': { frameworks: ['Turborepo'], slots: { buildTool: 'Turborepo' }, priority: 25, intelligence: 'medium' }, 'lerna.json': { frameworks: ['Lerna'], slots: { buildTool: 'Lerna' }, priority: 25, intelligence: 'medium' }, 'rush.json': { frameworks: ['Rush'], slots: { buildTool: 'Rush' }, priority: 25, intelligence: 'medium' }, 'pnpm-workspace.yaml': { frameworks: ['pnpm workspaces'], slots: { packageManager: 'pnpm', buildTool: 'pnpm workspaces' }, priority: 25, intelligence: 'medium' }, // ============================================ // LOW VALUE (15 points) - File Extensions // These are pattern-based and less definitive // ============================================ '*.svelte': { frameworks: ['Svelte', 'SvelteKit'], slots: { framework: 'Svelte' }, priority: 15, intelligence: 'low' }, '*.vue': { frameworks: ['Vue'], slots: { framework: 'Vue' }, priority: 15, intelligence: 'low' }, '*.jsx': { frameworks: ['React'], slots: { framework: 'React', mainLanguage: 'JavaScript' }, priority: 15, intelligence: 'low' }, '*.ts': { frameworks: ['TypeScript'], slots: { mainLanguage: 'TypeScript' }, priority: 15, intelligence: 'low' }, '*.tsx': { frameworks: ['React', 'TypeScript'], slots: { framework: 'React', mainLanguage: 'TypeScript' }, priority: 15, intelligence: 'low' }, '*.py': { frameworks: ['Python'], slots: { mainLanguage: 'Python' }, priority: 15, intelligence: 'low' }, '*.rb': { frameworks: ['Ruby'], slots: { mainLanguage: 'Ruby' }, priority: 15, intelligence: 'low' }, '*.php': { frameworks: ['PHP'], slots: { mainLanguage: 'PHP' }, priority: 15, intelligence: 'low' }, '*.java': { frameworks: ['Java'], slots: { mainLanguage: 'Java' }, priority: 15, intelligence: 'low' }, '*.kt': { frameworks: ['Kotlin'], slots: { mainLanguage: 'Kotlin' }, priority: 15, intelligence: 'low' }, '*.swift': { frameworks: ['Swift'], slots: { mainLanguage: 'Swift' }, priority: 15, intelligence: 'low' }, '*.go': { frameworks: ['Go'], slots: { mainLanguage: 'Go' }, priority: 15, intelligence: 'low' }, '*.rs': { frameworks: ['Rust'], slots: { mainLanguage: 'Rust' }, priority: 15, intelligence: 'low' }, '*.dart': { frameworks: ['Flutter', 'Dart'], slots: { mainLanguage: 'Dart' }, priority: 15, intelligence: 'low' }, '*.ex': { frameworks: ['Elixir'], slots: { mainLanguage: 'Elixir' }, priority: 15, intelligence: 'low' }, '*.exs': { frameworks: ['Elixir'], slots: { mainLanguage: 'Elixir' }, priority: 15, intelligence: 'low' }, '*.scala': { frameworks: ['Scala'], slots: { mainLanguage: 'Scala' }, priority: 15, intelligence: 'low' }, '*.clj': { frameworks: ['Clojure'], slots: { mainLanguage: 'Clojure' }, priority: 15, intelligence: 'low' }, '*.lua': { frameworks: ['Lua'], slots: { mainLanguage: 'Lua' }, priority: 15, intelligence: 'low' }, '*.r': { frameworks: ['R'], slots: { mainLanguage: 'R' }, priority: 15, intelligence: 'low' }, '*.R': { frameworks: ['R'], slots: { mainLanguage: 'R' }, priority: 15, intelligence: 'low' }, '*.jl': { frameworks: ['Julia'], slots: { mainLanguage: 'Julia' }, priority: 15, intelligence: 'low' }, '*.nim': { frameworks: ['Nim'], slots: { mainLanguage: 'Nim' }, priority: 15, intelligence: 'low' }, '*.zig': { frameworks: ['Zig'], slots: { mainLanguage: 'Zig' }, priority: 15, intelligence: 'low' }, // ============================================ // SPECIAL VALUE (20 points) - API/Schema // ============================================ 'openapi.json': { frameworks: ['OpenAPI'], slots: { apiType: 'REST API', backend: 'API Server' }, priority: 30, intelligence: 'high' }, 'openapi.yaml': { frameworks: ['OpenAPI'], slots: { apiType: 'REST API', backend: 'API Server' }, priority: 30, intelligence: 'high' }, 'swagger.json': { frameworks: ['Swagger'], slots: { apiType: 'REST API', backend: 'API Server' }, priority: 30, intelligence: 'high' }, 'graphql.schema': { frameworks: ['GraphQL'], slots: { apiType: 'GraphQL', backend: 'GraphQL Server' }, priority: 30, intelligence: 'high' }, 'schema.graphql': { frameworks: ['GraphQL'], slots: { apiType: 'GraphQL', backend: 'GraphQL Server' }, priority: 30, intelligence: 'high' }, '.graphqlconfig': { frameworks: ['GraphQL'], slots: { apiType: 'GraphQL' }, priority: 25, intelligence: 'medium' }, // ============================================ // SPECIAL VALUE (20 points) - State Management // ============================================ 'redux.config.js': { frameworks: ['Redux'], slots: { stateManagement: 'Redux' }, priority: 20, intelligence: 'medium' }, 'mobx.config.js': { frameworks: ['MobX'], slots: { stateManagement: 'MobX' }, priority: 20, intelligence: 'medium' }, 'vuex.config.js': { frameworks: ['Vuex'], slots: { stateManagement: 'Vuex', framework: 'Vue' }, priority: 20, intelligence: 'medium' }, 'pinia.config.js': { frameworks: ['Pinia'], slots: { stateManagement: 'Pinia', framework: 'Vue' }, priority: 20, intelligence: 'medium' }, 'zustand.config.js': { frameworks: ['Zustand'], slots: { stateManagement: 'Zustand' }, priority: 20, intelligence: 'medium' }, // ============================================ // SPECIAL VALUE (15 points) - Linting/Formatting // ============================================ '.eslintrc.js': { frameworks: ['ESLint'], slots: {}, priority: 15, intelligence: 'low' }, '.eslintrc.json': { frameworks: ['ESLint'], slots: {}, priority: 15, intelligence: 'low' }, '.prettierrc': { frameworks: ['Prettier'], slots: {}, priority: 15, intelligence: 'low' }, '.prettierrc.json': { frameworks: ['Prettier'], slots: {}, priority: 15, intelligence: 'low' }, 'biome.json': { frameworks: ['Biome'], slots: {}, priority: 15, intelligence: 'low' }, '.editorconfig': { frameworks: ['EditorConfig'], slots: {}, priority: 10, intelligence: 'low' } }; // ============================================ // HELPER FUNCTIONS // ============================================ /** * Get knowledge for a specific format */ function getFormatKnowledge(format) { return exports.KNOWLEDGE_BASE[format]; } /** * Get all format keys */ function getAllFormats() { return Object.keys(exports.KNOWLEDGE_BASE); } /** * Get high-value formats (priority >= 30) */ function getHighValueFormats() { return Object.entries(exports.KNOWLEDGE_BASE) .filter(([, knowledge]) => knowledge.priority >= 30) .map(([format]) => format); } /** * Get formats by intelligence level */ function getFormatsByIntelligence(level) { return Object.entries(exports.KNOWLEDGE_BASE) .filter(([, knowledge]) => knowledge.intelligence === level) .map(([format]) => format); } /** * Get formats that can fill a specific slot */ function getFormatsForSlot(slotName) { return Object.entries(exports.KNOWLEDGE_BASE) .filter(([, knowledge]) => slotName in knowledge.slots) .map(([format]) => format); } /** * Calculate total possible intelligence score */ function getMaxIntelligenceScore() { return Object.values(exports.KNOWLEDGE_BASE) .reduce((sum, knowledge) => sum + knowledge.priority, 0); } //# sourceMappingURL=turbo-cat-knowledge.js.map