// packages/plugin-awf/src/constants/skills.ts
// Master skills catalog - Single Source of Truth
/**
 * Skills organized by category
 */
export const SKILLS_BY_CATEGORY = {
    Frontend: ["react", "vue", "svelte", "angular", "nextjs", "nuxt"],
    Backend: ["typescript", "python", "go", "rust", "java", "kotlin", "csharp", "cpp", "php"],
    Mobile: ["react-native", "flutter", "swift"],
    DevOps: ["docker", "kubernetes", "ci-cd", "aws"],
    Database: ["database", "sql", "mongodb", "redis"],
    Quality: ["testing", "security", "performance"],
};
/**
 * All available skills with descriptions
 */
export const AVAILABLE_SKILLS = [
    // Frontend
    { name: "react", description: "React + hooks patterns", category: "Frontend" },
    { name: "vue", description: "Vue 3 Composition API", category: "Frontend" },
    { name: "svelte", description: "Svelte & SvelteKit", category: "Frontend" },
    { name: "angular", description: "Angular 18+", category: "Frontend" },
    { name: "nextjs", description: "Next.js App Router", category: "Frontend" },
    { name: "nuxt", description: "Nuxt 3 with Nitro", category: "Frontend" },
    // Backend
    { name: "typescript", description: "TypeScript best practices", category: "Backend" },
    { name: "python", description: "Python + typing", category: "Backend" },
    { name: "go", description: "Go idioms & patterns", category: "Backend" },
    { name: "rust", description: "Rust ownership & lifetimes", category: "Backend" },
    { name: "java", description: "Java Spring Boot", category: "Backend" },
    { name: "kotlin", description: "Kotlin coroutines", category: "Backend" },
    { name: "csharp", description: "C# .NET patterns", category: "Backend" },
    { name: "cpp", description: "Modern C++", category: "Backend" },
    { name: "php", description: "PHP PSR-12", category: "Backend" },
    // Mobile
    { name: "react-native", description: "React Native + Expo", category: "Mobile" },
    { name: "flutter", description: "Flutter & Dart", category: "Mobile" },
    { name: "swift", description: "SwiftUI patterns", category: "Mobile" },
    // DevOps
    { name: "docker", description: "Docker & containers", category: "DevOps" },
    { name: "kubernetes", description: "K8s orchestration", category: "DevOps" },
    { name: "ci-cd", description: "CI/CD pipelines", category: "DevOps" },
    { name: "aws", description: "AWS services", category: "DevOps" },
    // Database
    { name: "database", description: "SQL & NoSQL", category: "Database" },
    { name: "sql", description: "Advanced SQL", category: "Database" },
    { name: "mongodb", description: "MongoDB patterns", category: "Database" },
    { name: "redis", description: "Redis caching", category: "Database" },
    // Quality
    { name: "testing", description: "Test frameworks", category: "Quality" },
    { name: "security", description: "Security practices", category: "Quality" },
    { name: "performance", description: "Web performance", category: "Quality" },
];
/**
 * Get skill by name
 */
export function getSkillByName(name) {
    return AVAILABLE_SKILLS.find((s) => s.name === name);
}
/**
 * Check if skill exists
 */
export function isValidSkill(name) {
    return AVAILABLE_SKILLS.some((s) => s.name === name);
}
/**
 * Get all skill names
 */
export function getSkillNames() {
    return AVAILABLE_SKILLS.map((s) => s.name);
}
/**
 * Get skills by category
 */
export function getSkillsByCategory(category) {
    return AVAILABLE_SKILLS.filter((s) => s.category === category);
}
