import type { Phase, Task } from '../types/index.js'; export { buildExecutionContext } from './context.js'; export interface PlanOptions { template?: string; force?: boolean; superpowers?: boolean; execution?: 'subagent' | 'inline'; autoKnowledge?: boolean; techStack?: TechStack; resolveTechStack?: (analysis: KnowledgeAnalysis) => Promise; } export interface TechStack { backend: string; frontend: string; database: string; infrastructure: string[]; } export interface KnowledgeAnalysis { documents: string[]; contents: Record; projectType?: string; keywords: string[]; techStack: string[]; extractedPhases: ExtractedPhase[]; extractedTasks: ExtractedTask[]; } export interface ExtractedPhase { name: string; description: string; } export interface ExtractedTask { title: string; description: string; phase?: string; priority: number; dependsOn: string[]; knowledgeRefs?: string[]; } export interface PlanningResult { phases: Phase[]; tasks: Task[]; analysis: KnowledgeAnalysis; requiredSkills: string[]; template: string; techStack: TechStack; reusedExistingPlan: boolean; planDocumentPath?: string; } interface SkillCatalogEntry { name: string; patterns: string[]; description: string; category: 'frontend' | 'backend' | 'database' | 'language' | 'testing' | 'document' | 'ai' | 'other'; priority: number; } export declare const TECH_STACK_OPTIONS: { readonly backend: readonly [{ readonly name: "Node.js + TypeScript + NestJS"; readonly value: "nodejs-nestjs"; readonly skills: readonly ["backend-patterns", "tdd-workflow"]; }, { readonly name: "Go + Gin"; readonly value: "go-gin"; readonly skills: readonly ["golang-patterns", "backend-patterns"]; }, { readonly name: "Java + Spring Boot"; readonly value: "java-spring"; readonly skills: readonly ["backend-patterns"]; }, { readonly name: "Python + FastAPI"; readonly value: "python-fastapi"; readonly skills: readonly ["backend-patterns"]; }]; readonly frontend: readonly [{ readonly name: "Vue 3 + TypeScript"; readonly value: "vue3"; readonly skills: readonly ["vue-best-practices", "frontend-design"]; }, { readonly name: "React 18 + TypeScript"; readonly value: "react"; readonly skills: readonly ["frontend-design"]; }, { readonly name: "Angular"; readonly value: "angular"; readonly skills: readonly ["frontend-design"]; }]; readonly database: readonly [{ readonly name: "PostgreSQL"; readonly value: "postgresql"; readonly skills: readonly ["postgres-patterns"]; }, { readonly name: "MySQL"; readonly value: "mysql"; readonly skills: readonly []; }, { readonly name: "MongoDB"; readonly value: "mongodb"; readonly skills: readonly []; }, { readonly name: "PostgreSQL + Redis"; readonly value: "postgres-redis"; readonly skills: readonly ["postgres-patterns"]; }]; readonly infrastructure: readonly [{ readonly name: "Docker"; readonly value: "docker"; readonly skills: readonly []; }, { readonly name: "Docker + Kubernetes"; readonly value: "docker-k8s"; readonly skills: readonly []; }, { readonly name: "AWS"; readonly value: "aws"; readonly skills: readonly []; }, { readonly name: "阿里云"; readonly value: "aliyun"; readonly skills: readonly []; }]; }; export declare const AVAILABLE_SKILLS: Record; export declare function buildPlanFromKnowledge(basePath: string, options?: PlanOptions): Promise; export declare function getTechStackName(category: keyof typeof TECH_STACK_OPTIONS, value: string): string; //# sourceMappingURL=planning.d.ts.map