{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAqBA,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAoBhD","sourcesContent":["import { mkdir, stat, writeFile } from \"fs/promises\";\nimport { dirname, join } from \"path\";\nimport { getHooCodeDir } from \"./config.js\";\nimport { EMBEDDED_DEFAULT_CONFIG, EMBEDDED_MODES } from \"./init-templates.generated.js\";\n\nconst HOOCODE_DIR = getHooCodeDir();\n\nasync function exists(p: string): Promise<boolean> {\n\ttry {\n\t\tawait stat(p);\n\t\treturn true;\n\t} catch {\n\t\treturn false;\n\t}\n}\n\nasync function writeSeedFile(dest: string, contents: string): Promise<void> {\n\tawait mkdir(dirname(dest), { recursive: true });\n\tawait writeFile(dest, contents);\n}\n\nexport async function initConfig(): Promise<void> {\n\tconst configPath = join(HOOCODE_DIR, \"hoo-config.json\");\n\n\tif (await exists(configPath)) {\n\t\treturn;\n\t}\n\n\tawait mkdir(join(HOOCODE_DIR, \"modes\"), { recursive: true });\n\tawait mkdir(join(HOOCODE_DIR, \"mcp-servers\"), { recursive: true });\n\tawait mkdir(join(HOOCODE_DIR, \"extensions\"), { recursive: true });\n\t// Skill and agent directories — created up-front so users know where to put files.\n\t// Use /new-skill <name> or /new-agent <name> to scaffold correctly-formatted files.\n\tawait mkdir(join(HOOCODE_DIR, \"skills\"), { recursive: true });\n\tawait mkdir(join(HOOCODE_DIR, \"agents\"), { recursive: true });\n\n\tawait writeSeedFile(configPath, EMBEDDED_DEFAULT_CONFIG);\n\n\tfor (const [modeName, content] of Object.entries(EMBEDDED_MODES)) {\n\t\tawait writeSeedFile(join(HOOCODE_DIR, \"modes\", modeName, \"system.md\"), content);\n\t}\n}\n"]}