export const ARQUETIPOS = [{
        nome: 'cli-modular',
        descricao: 'CLI modular em TypeScript/JavaScript com comandos organizados e entrada via bin/',
        requiredDirs: ['bin'],
        optionalDirs: ['src/cli', 'src/cli/commands', 'src/commands', 'cli', 'cli/commands', 'src/utils', 'src/lib'],
        filePresencePatterns: ['bin/index.js', 'bin/index.ts', 'bin/cli.js', 'bin/cli.ts', 'cli.ts'],
        dependencyHints: ['commander', 'yargs', 'chalk', 'inquirer', 'ora', 'prompts'],
        rootFilesAllowed: ['package.json', 'tsconfig.json', 'README.md', '.gitignore', '.prettierrc', 'eslint.config.js', '.lintstagedrc.cjs', '.lintstagedrc.mjs', 'LICENSE', 'CHANGELOG.md'],
        forbiddenDirs: ['pages', 'prisma', 'public', 'events', 'scenes'],
        pesoBase: 1.5
    }, {
        nome: 'landing-page',
        descricao: 'Aplicação web simples (frontend) com pages/ e components/',
        requiredDirs: ['pages', 'components'],
        optionalDirs: ['public', 'styles', 'utils'],
        forbiddenDirs: ['prisma', 'api', 'server'],
        rootFilesAllowed: ['package.json', 'tsconfig.json', 'README.md', 'next.config.js', 'tailwind.config.js'],
        pesoBase: 1.0
    }, {
        nome: 'api-rest-express',
        descricao: 'API REST em Express com controllers/ e estrutura backend',
        requiredDirs: ['src', 'src/controllers'],
        optionalDirs: ['src/routes', 'src/middlewares', 'src/models', 'src/services'],
        dependencyHints: ['express', 'cors', 'helmet', 'joi', 'joi-to-swagger'],
        forbiddenDirs: ['pages', 'components', 'public'],
        rootFilesAllowed: ['package.json', 'tsconfig.json', '.env.example', 'README.md', 'server.js'],
        pesoBase: 1.3
    }, {
        nome: 'fullstack',
        descricao: 'Aplicação fullstack (Next.js) com pages/, api/ e prisma/',
        requiredDirs: ['pages', 'api', 'prisma'],
        optionalDirs: ['components', 'lib', 'styles', 'utils', 'types'],
        forbiddenDirs: ['packages', 'apps', 'server'],
        dependencyHints: ['next', 'react', 'prisma'],
        rootFilesAllowed: ['package.json', 'tsconfig.json', 'next.config.js', 'tailwind.config.js'],
        pesoBase: 1.4
    }, {
        nome: 'bot',
        descricao: 'Bot (Discord/Telegram) com handlers de eventos e comandos específicos',
        requiredDirs: ['src/bot'],
        optionalDirs: ['src/commands', 'src/events', 'src/utils', 'src/handlers'],
        filePresencePatterns: ['bot.ts', 'bot.js', 'index.ts'],
        dependencyHints: ['telegraf', 'discord.js', 'grammy', '@discordjs/builders'],
        rootFilesAllowed: ['package.json', 'tsconfig.json', 'README.md', '.env.example'],
        forbiddenDirs: ['pages', 'prisma', 'packages', 'electron-app', 'public', 'bin', 'cli'],
        pesoBase: 0.8
    }, {
        nome: 'electron',
        descricao: 'Aplicação Electron com main process e renderer',
        requiredDirs: ['src', 'src/main'],
        optionalDirs: ['src/renderer', 'src/preload', 'public'],
        filePresencePatterns: ['electron.js', 'electron.ts', 'main.js'],
        dependencyHints: ['electron', 'electron-builder'],
        rootFilesAllowed: ['package.json', 'tsconfig.json', 'README.md', 'electron-builder.json'],
        forbiddenDirs: ['pages', 'prisma', 'packages', 'api'],
        pesoBase: 1.2
    }, {
        nome: 'lib-tsc',
        descricao: 'Biblioteca TypeScript compilada com estrutura organizada',
        requiredDirs: ['src', 'src/index.ts'],
        optionalDirs: ['src/lib', 'src/utils', 'src/types', 'examples'],
        filePresencePatterns: ['index.ts', 'lib/index.ts'],
        dependencyHints: [],
        rootFilesAllowed: ['package.json', 'tsconfig.json', 'README.md', 'LICENSE', 'rollup.config.js', 'webpack.config.js'],
        forbiddenDirs: ['pages', 'api', 'prisma', 'public', 'server'],
        pesoBase: 1.0
    }, {
        nome: 'monorepo-packages',
        descricao: 'Monorepo com packages/ e workspaces (pnpm/npm/yarn)',
        requiredDirs: ['packages'],
        optionalDirs: ['apps', 'tools', 'packages/shared', 'packages/core'],
        dependencyHints: [],
        rootFilesAllowed: ['package.json', 'tsconfig.json', 'turbo.json', 'pnpm-workspace.yaml', 'yarn.lock', 'pnpm-lock.yaml'],
        forbiddenDirs: ['src', 'pages', 'api', 'prisma', 'lib'],
        pesoBase: 1.5
    }, {
        nome: 'vue-spa',
        descricao: 'SPA Vue.js com components/, views/ e estrutura moderna',
        requiredDirs: ['src', 'src/components'],
        optionalDirs: ['src/views', 'src/router', 'src/store', 'src/composables', 'src/assets', 'public'],
        dependencyHints: ['vue', 'vue-router', 'vuex', 'pinia', '@vue/cli-service'],
        rootFilesAllowed: ['package.json', 'tsconfig.json', 'README.md', 'vue.config.js', 'vue.config.ts', 'babel.config.js', 'tailwind.config.js'],
        forbiddenDirs: ['pages', 'api', 'prisma', 'server', 'packages'],
        pesoBase: 1.2
    }, {
        nome: 'clean-arch',
        descricao: 'Clean Architecture (Arquitetura Limpa) com domínio, aplicação, infraestrutura e apresentação',
        requiredDirs: ['src'],
        optionalDirs: ['src/domain', 'src/domain/entities', 'src/domain/repositories', 'src/domain/value-objects', 'src/application', 'src/application/use-cases', 'src/application/ports', 'src/application/dto', 'src/infrastructure', 'src/infrastructure/persistence', 'src/infrastructure/repositories', 'src/infrastructure/http', 'src/presentation', 'src/presentation/controllers', 'src/presentation/middlewares'],
        filePresencePatterns: ['domain/', 'use-case', 'repository.ts', 'entity.ts', 'value-object'],
        dependencyHints: ['zod', 'tsyringe', 'inversify', 'awilix', 'typeorm', 'prisma', 'mongoose'],
        forbiddenDirs: ['pages', 'components', 'prisma'],
        rootFilesAllowed: ['package.json', 'tsconfig.json', 'README.md', '.env.example', 'Dockerfile', 'docker-compose.yml'],
        pesoBase: 1.5
    }, {
        nome: 'microservices',
        descricao: 'Arquitetura Distribuída em Microsserviços com boundaries e comunicação assíncrona',
        requiredDirs: ['src'],
        optionalDirs: ['src/services', 'src/services/*/domain', 'src/services/*/application', 'src/services/*/infrastructure', 'src/shared', 'src/shared/messaging', 'src/shared/events', 'src/gateway', 'src/api-gateway', 'src/discovery', 'src/monitoring'],
        filePresencePatterns: ['service/', 'message-queue', 'event-bus', 'kafka', 'rabbitmq', 'redis', 'gateway', 'discovery'],
        dependencyHints: ['kafkajs', 'amqplib', 'ioredis', 'bull', 'bullmq', 'nats', 'grpc', '@grpc/grpc-js', 'express', 'fastify'],
        forbiddenDirs: ['pages', 'components', 'prisma'],
        rootFilesAllowed: ['package.json', 'tsconfig.json', 'README.md', '.env.example', 'Dockerfile', 'docker-compose.yml', 'docker-compose.yaml', 'kubernetes', 'k8s'],
        pesoBase: 1.6
    }];
export function normalizarCaminho(caminho) {
    return caminho.replace(/\\/g, '/');
}
//# sourceMappingURL=archetypes-defs.js.map