/** * Kimi Code artifact writers. */ import type { InitOptions, InitResult } from './types.js'; /** * Write Kimi Code artifacts. ADDITIVE — only invoked when * `components.kimicode` is set. Never touches .claude/, .gemini/, .opencode/. * * Tier 1: .kimi-code/mcp.json (merged, never clobbered), AGENTS.md (skip-if-exists), * .kimi-code/{agents,skills}/ converted from the Claude tree. * Tier 2: .kimi-code/plugin/hooks/monomind-gate.mjs — stdin/exit-code bridge into * the existing .claude/helpers gate handlers (kimi has no project-level * hooks, so enforcement only activates via the Tier 3 plugin). * Tier 3: .kimi-code/plugin/kimi.plugin.json + commands/ — installable via * `/plugins install ./.kimi-code/plugin` for /monomind:* slash commands * and auto-wired hooks. */ export declare function writeKimiFiles(targetDir: string, options: InitOptions, result: InitResult): Promise; /** * Convert the project's `.claude/{agents,commands,skills}` into * `.kimi-code/{agents,skills,plugin/commands}` and retire what a previous run * generated and this one no longer does. Split out of writeKimiFiles so * `monomind packs add|remove` can refresh the tree without touching * `.kimi-code/mcp.json`, AGENTS.md or the plugin files. */ export declare function writeKimiTree(targetDir: string, options: InitOptions, result: InitResult): { agentCount: number; skillCount: number; commandCount: number; }; /** * True for a `.claude/commands/` markdown file that is an invocable command. * Not commands: READMEs, `_`-prefixed shared includes other commands read * (e.g. `mastermind/_repeat.md`, `mastermind/_taskfile.md`) and anything under * a `references/` directory (platform tool-mapping notes). Converting those * exposed them as slash commands, and `_repeat.md` slugified to the same * `mastermind-repeat.md` as the real `repeat.md` — whichever the directory * walk returned last silently won. */ export declare function isConvertibleCommand(rel: string): boolean; /** Kimi artifacts derived from one `.claude/` tree, keyed by destination. */ export interface KimiConvertedTree { /** `.kimi-code/agents/` → content */ agents: Map; /** `.kimi-code/skills//SKILL.md` → content (real skills and command flow skills) */ skills: Map; /** `.kimi-code/plugin/commands/` → content */ pluginCommands: Map; /** Human-readable notes for sources that were deliberately not converted. */ skipped: string[]; } /** * Convert `/{agents,skills,commands}` into kimi shape, in memory. * Sources are visited in sorted order so the output — including which source * wins a name collision — is the same on every machine. */ export declare function convertClaudeTreeToKimi(claudeDir: string): KimiConvertedTree; //# sourceMappingURL=write-kimicode.d.ts.map