Skip to content
Apothem
Концепции

Позиция независимости от хоста

Как Apothem достигает позиции независимости от хоста через общий профиль и адаптеры окружений.

Apothem спроектирован вокруг единого принципа: ваша конфигурация управления должна пережить любую отдельную среду выполнения ассистента по написанию кода. Общий профиль Apothem — это файл YAML, прошедший проверку по схеме, по адресу ~/.config/apothem/profile.yaml или --profile PATH; упакованные когорты Apothem предоставляют команды, правила, навыки, хуки, шаблоны, строки состояния, стили вывода и определения делегирования. Адаптеры для конкретных окружений в каталоге src/apothem/harnesses/<harness>/ преобразуют эти входные данные в формат, требуемый каждым поддерживаемым окружением:

Claude Code, Cursor, Gemini CLI, GitHub Copilot, Codex, Windsurf,
OpenCode, Antigravity, Open-Claw, Hermes, Qwen Code,
CodeBuddy, Kiro, Trae, Zed

Основная идея

Независимость от хоста означает, что ваше намерение — кто вы, как вы хотите, чтобы ассистенты себя вели, какие правила они должны соблюдать — живёт в одном месте, которым не владеет ни одно отдельное окружение. Окружения — это взаимозаменяемые потребители этого намерения. Когда появляется новый ассистент, вы внедряете его, добавляя адаптер, а не переписывая свою конфигурацию. Когда ассистент, которым вы пользовались, выходит из употребления, вы отказываетесь от него, не теряя построенного вами управления. Профиль — это актив; окружение — это цель отрисовки. Окружение может использоваться для написания кода, чата, совместной работы, исследований или письма — профиль не зависит от того, для чего предназначено окружение.

Это намеренная инверсия. Общепринятый путь — настраивать каждый инструмент напрямую, что делает ваши вложения заложником долговечности и формата того инструмента. Apothem относится к конфигурации как к переносимому капиталу, а к окружению — как к одноразовому терминалу.

Проблема

У каждого окружения для написания кода свой формат конфигурации:

Claude Code:    CLAUDE.md + settings.json
Cursor:         .cursor/rules/*.mdc
GitHub Copilot: .github/copilot-instructions.md
Windsurf:       .devin/rules/
Codex:          AGENTS.md

Без Apothem вы поддерживаете N отдельных файлов конфигурации, которые со временем расходятся друг с другом.

Решение Apothem

One shared Apothem profile (YAML) + packaged cohorts
    identity.name
    preferences.style
    rules[]
         |
         v
    Adapter layer (HarnessAdapter protocol — src/apothem/harnesses/<harness>/)
         |
         +---> Claude Code adapter   -> ~/.claude/
         +---> Cursor adapter        -> .cursor/rules/*.mdc
         +---> Copilot adapter       -> .github/copilot-instructions.md
         +---> Windsurf adapter      -> .devin/rules/
         +---> ...

Вы редактируете общий профиль один раз, затем запускаете apothem update --harness <name> или apothem update --harness all --project <path>, чтобы распространить изменение. apothem harnesses list выводит зарегистрированный набор.

Почему «apothem»

Имя кодирует архитектуру. В геометрии апофема — это перпендикуляр от центра правильного многоугольника до середины одной из его сторон — единственное расстояние от ядра до каждого ребра, одинаковое по каждому направлению. Таков замысел: один общий профиль в центре, семнадцать равноудалённых окружений по периметру, каждая материализация на одинаковом расстоянии от источника истины. Ядро не меняется, когда меняется ребро; рёбра разделяют единое отношение к ядру. Расхождение структурно невозможно.

Гарантии переносимости

Правила, помеченные portability: universal, гарантированно переводимы для каждого поддерживаемого окружения. Правила, помеченные portability: project-specific, могут требовать документирования переопределений по каждому окружению в теле правила.

On this page