interface Domain { key: string; label: string; description: string; examples: string; } declare const DEFAULT_DOMAINS: readonly Domain[]; declare const ADDITIONAL_DOMAIN_CATALOG: readonly Domain[]; declare function findDomainByKey(key: string): Domain | undefined; type AgentKey = 'claude' | 'codex' | 'cursor' | 'cursor-legacy' | 'vscode' | 'trae' | 'openclaw' | 'hermes' | 'opencode'; interface AgentTarget { key: AgentKey; label: string; description: string; /** Path relative to vault root where the rules file is written. */ rulesPath: string; /** Optional content to prepend to the rules file (e.g. mdc frontmatter). */ prefix?: string; } declare const AGENT_TARGETS: readonly AgentTarget[]; declare function findAgentByKey(key: AgentKey): AgentTarget; declare function isAgentKey(s: string): s is AgentKey; interface CliFlags { name?: string; domains?: string[]; agents?: AgentKey[]; mcp?: boolean; site?: boolean; recipes?: boolean; git?: boolean; remoteDocs?: boolean; yes?: boolean; json?: boolean; quiet?: boolean; } interface ParsedArgs { flags: CliFlags; positional: string[]; } declare function parseArgs(argv: string[]): ParsedArgs; /** True when we should NOT prompt the user — flag-only mode. */ declare function isNonInteractive(flags: CliFlags): boolean; type ExtraKey = 'mcp' | 'recipes' | 'site'; interface ScaffoldAnswers { projectName: string; targetDir: string; domains: Domain[]; agents: AgentKey[]; extras: ExtraKey[]; includeRemoteDocs: boolean; initGit: boolean; } /** * Resolve a complete ScaffoldAnswers from flags, env, prompts, and defaults. * Non-interactive (--yes, --json, non-TTY): use defaults for any field not * supplied by flag/env. Interactive: prompt only for fields not supplied. */ declare function resolveAnswers(flags: CliFlags, positional?: string): Promise; declare function runPrompts(positionalName?: string): Promise; interface ScaffoldResult { filesWritten: number; dirsCreated: number; skipped: string[]; } declare function scaffold(templatesDir: string, targetDir: string, answers: ScaffoldAnswers): Promise; declare function resolveTemplatesDir(): string; export { ADDITIONAL_DOMAIN_CATALOG, AGENT_TARGETS, type AgentKey, type AgentTarget, type CliFlags, DEFAULT_DOMAINS, type ExtraKey, type ParsedArgs, type ScaffoldAnswers, type ScaffoldResult, findAgentByKey, findDomainByKey, isAgentKey, isNonInteractive, parseArgs, resolveAnswers, resolveTemplatesDir, runPrompts, scaffold };