Об этом проекте

AI Rules — это инструмент командной строки для хранения конфигураций нескольких ИИ-агентов кодирования в одном месте, отслеживаемом через git, и связывания их с ожидаемыми каталогами конфигурации каждого агента с помощью симлинков. Заявленная цель — «редактируй один раз, применяй везде», при этом допускается настройка для каждого агента и каждой машины. Поддерживаемые агенты и их каталоги конфигурации: - Amp: ~/.config/amp/ (навыки в ~/.config/agents/skills/) - Claude Code: ~/.claude/ (навыки в ~/.claude/skills/) - Codex CLI: ~/.codex/ (навыки в ~/.agents/skills/) - Gemini CLI: ~/.gemini/ (обнаруживает навыки через ~/.agents/skills/) - Goose: ~/.config/goose/ (навыки в ~/.config/goose/skills/) - Общие материалы, такие как AGENTS.md и навыки Для установки требуется Python 3.10+ и uv. Рекомендуемый путь — однокомандная установка из PyPI (uvx --from ai-agent-rules ai-agent-rules setup), которая устанавливает симлинки, делает команду ai-agent-rules (и псевдоним ai-rules) доступной системно и опционально устанавливает вспомогательные инструменты. Флаг --github устанавливает из основной ветки вместо этого, а для локальной разработки используется uv run ai-agent-rules install. Команда upgrade проверяет и устанавливает обновления, с флагами для проверки только, принудительной установки, пропуска послеустановочной установки или обновления только конкретного инструмента. Основные команды охватывают настройку, установку/синхронизацию, статус и проверку, конфигурацию, исключения и переопределения, навыки, инструменты и завершения оболочки. Примечательные поведения: - install поддерживает выбор конкретных агентов, предварительный просмотр в режиме dry-run, автоподтверждение, пересборку кэша и выбор профиля. - status сообщает состояние симлинков, опциональные инструменты и активный профиль с символами статуса и различиями; validate проверяет, что исходные файлы существуют; uninstall удаляет симлинки. - config init/show/edit отображает сырые или объединенные настройки, опционально для каждого агента. - exclude add/remove/list управляет шаблонами glob для файлов, которые не должны быть симлинками (например, файлы, управляемые компанией). - override set/unset/list редактирует вложенные настройки, включая обозначение индексов массива для таких структур, как массивы команд хуков, с проверкой пути, которая предлагает допустимые ключи при опечатках. - skill list/show отображает встроенные навыки, может выводить версионированный GitHub URL для обмена или выдавать сырой markdown для передачи в конвейер. - tool list/show и tool source get/set управляют опциональными инструментами и их источником установки (pypi, github, локальный путь, сброс). - completions install/uninstall/update/status и вывод сырых скриптов bash/zsh предоставляются. Конфигурация многослойна. Файл уровня пользователя в ~/.ai-agent-rules-config.yaml содержит исключения и machine-specific settings_overrides. Состояние (активный профиль, временная метка последней установки) хранится в ~/.ai-agent-rules/state.yaml, а объединенные настройки кэшируются в ~/.ai-agent-rules/cache/. Документированный конвейер слияния: базовые настройки, отслеживаемые git, затем переопределения профиля, затем пользовательские переопределения, затем сохраненные поля, управляемые агентом, объединенные из кэша, затем кэширование, затем симлинки в каталог агента. Сохраненные поля включают enabledPlugins и hooks от Claude, extensions от Goose, projects от Codex и ide от Gemini. Изменение переопределений требует запуска install --rebuild-cache. Профили группируют переопределения в именованные пресеты и поддерживают наследование; три встроенных профиля поставляются с инструментом с цепочкой default -> personal -> work, где default описан как общий, а personal/work — как собственные пресеты автора, а не общие рекомендации. Профили могут определять settings_overrides, plugins, marketplaces, источники установки управляемых инструментов, фрагменты AGENTS.md (agents_md_file, добавляемые родитель-первым через наследование, взаимоисключающие с встроенным agents_md), исключения и MCP-переопределения. Локальная пользовательская конфигурация имеет приоритет над переопределениями профиля. Пользовательские файлы профилей в настоящее время не поддерживаются; настройка для конкретной машины выполняется в пользовательском файле конфигурации. MCP-серверы определяются один раз в общем mcps.json и переводятся менеджером каждого агента в нативные форматы (JSON для Amp, Claude, Gemini; TOML для Codex; YAML-расширения для Goose). Управляемые записи несут маркер _managedBy, чтобы отличать их от серверов, добавленных пользователем, а mcp_overrides позволяют задавать значения для конкретной машины, такие как API-ключи. Плагины Claude Code могут быть объявлены в профилях или пользовательской конфигурации; install добавляет отсутствующие маркетплейсы и плагины, автоматически удаляет осиротевшие ранее управляемые плагины и предупреждает о вручную установленных, не удаляя их. Состояние плагинов отслеживается в управляемом JSON-файле. Функции безопасности включают предупреждения при первом запуске, резервные копии с временными метками, интерактивные подсказки, режим dry-run, утверждение, что управляются только симлинки и реальные файлы никогда не удаляются, а также контекстные сообщения об ошибках. Руководство по устранению неполадок охватывает неправильные цели, восстановление резервных копий, отключение симлинка через исключение, пересборку кэша, когда переопределения не применяются, просмотр объединенных настроек и автоматическую миграцию с путей конфигурации до версии v0.35. Проект лицензирован под MIT.