/*
 * Copyright 2026, Jaime Terrats.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
import { join } from 'node:path';
import { generateAgentsMd, generateCodexProfileRule } from '../generators/codex-generator.js';
import { ensureDir } from '../services/file-writer.js';
import { getTargetPath, loadRegistry, renderForTarget } from '../services/rule-registry.js';
import { PLUGIN_VERSION } from '../version.js';
export function setupCodex(opts) {
    const { cwd, profiles, writer, isSalesforceProject } = opts;
    const codexDir = join(cwd, '.codex');
    writer.write(join(cwd, 'AGENTS.md'), generateAgentsMd(profiles, PLUGIN_VERSION, { isSalesforceProject }));
    if (profiles.length > 0) {
        ensureDir(codexDir);
        for (const profile of profiles) {
            writer.write(join(codexDir, `${profile.id}.md`), generateCodexProfileRule(profile, PLUGIN_VERSION));
        }
    }
    // Inject any neutral rules from .setup-agents/rules/ (backward-compatible no-op if empty)
    const registryRules = loadRegistry(cwd);
    for (const rule of registryRules) {
        const rendered = renderForTarget(rule, 'codex');
        const targetPath = getTargetPath(cwd, rule, 'codex');
        ensureDir(codexDir);
        writer.write(targetPath, rendered);
    }
}
//# sourceMappingURL=codex-setup.js.map