diff --git a/apps/x/packages/core/src/pre_built/config.ts b/apps/x/packages/core/src/pre_built/config.ts index 1012b7d3..63c7f1ac 100644 --- a/apps/x/packages/core/src/pre_built/config.ts +++ b/apps/x/packages/core/src/pre_built/config.ts @@ -19,6 +19,13 @@ function ensureDir(dirPath: string): void { } } +function ensureConfigFile(): void { + if (!fs.existsSync(CONFIG_PATH)) { + ensureDir(path.dirname(CONFIG_PATH)); + fs.writeFileSync(CONFIG_PATH, JSON.stringify(getDefaultConfig(), null, 2)); + } +} + // --- Config Management --- export function getDefaultConfig(): PreBuiltConfig { @@ -33,16 +40,15 @@ export function getDefaultConfig(): PreBuiltConfig { } export function loadConfig(): PreBuiltConfig { + ensureConfigFile(); try { - if (fs.existsSync(CONFIG_PATH)) { - const content = fs.readFileSync(CONFIG_PATH, 'utf-8'); - const parsed = JSON.parse(content); - return PreBuiltConfig.parse(parsed); - } + const content = fs.readFileSync(CONFIG_PATH, 'utf-8'); + const parsed = JSON.parse(content); + return PreBuiltConfig.parse(parsed); } catch (error) { console.error('[PreBuilt] Error loading config:', error); + return getDefaultConfig(); } - return getDefaultConfig(); } export function saveConfig(config: PreBuiltConfig): void {