Позиция независимости от хоста
Как Apothem достигает позиции независимости от хоста через общий профиль и адаптеры окружений.
Apothem спроектирован вокруг единого принципа: ваша конфигурация управления
должна пережить любую отдельную среду выполнения ассистента по написанию кода. Общий профиль Apothem —
это файл YAML, прошедший проверку по схеме, по адресу ~/.config/apothem/profile.yaml или
--profile PATH; упакованные группы Apothem предоставляют команды, правила, навыки,
хуки, шаблоны, строки состояния, output-стили и определения делегирования.
Адаптеры для конкретных окружений в каталоге src/apothem/harnesses/<harness>/ преобразуют эти входные данные в формат,
требуемый каждым поддерживаемым окружением:
Claude Code, Cursor, Gemini CLI, GitHub Copilot, Codex, Windsurf,
OpenCode, Antigravity, Open-Claw, Hermes, Qwen Code,
CodeBuddy, Kiro, Trae, Zed, GLM (Z.ai), Kimi CodeОсновная идея
Независимость от хоста означает, что ваше намерение — кто вы, как вы хотите, чтобы ассистенты себя вели, какие правила они должны соблюдать — живёт в одном месте, которым не владеет ни одно отдельное окружение. Окружения — это взаимозаменяемые потребители этого намерения. Когда появляется новый ассистент, вы внедряете его, добавляя адаптер, а не переписывая свою конфигурацию. Когда ассистент, которым вы пользовались, выходит из употребления, вы отказываетесь от него, не теряя построенного вами управления. Профиль — это актив; окружение — это цель отрисовки. Окружение может использоваться для написания кода, чата, совместной работы, исследований или письма — профиль не зависит от того, для чего предназначено окружение.
Это намеренная инверсия. Общепринятый путь — настраивать каждый инструмент напрямую, что делает ваши вложения заложником долговечности и формата того инструмента. 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»
Имя кодирует архитектуру. В геометрии апофема — это перпендикуляр
от центра правильного многоугольника до середины одной из его сторон —
единственное расстояние от ядра до каждого ребра, одинаковое по каждому направлению. Таков
замысел: один общий профиль в центре, семнадцать равноудалённых окружений по
периметру, каждая материализация на одинаковом расстоянии от источника истины.
Ядро не меняется, когда меняется ребро; рёбра разделяют единое отношение к
ядру. Поскольку каждое окружение выводится из одного профиля, расхождение обнаруживаемо
(apothem status сообщает о нём) и исправимо (apothem update заново материализует конфигурацию).
Гарантии переносимости
Команды и помощники, помеченные portability: universal, переводятся в каждое окружение, чья запись в реестре поддерживает поверхность команд (преобразованную или поддерево поддержки); окружения без неё команд не получают. Движок не анализирует маркер. Команды и помощники, помеченные portability: project-specific,
могут требовать документирования переопределений для каждого окружения в теле файла.
Концепции
Концепции Apothem — идеи, лежащие в основе инструмента: позиция независимости от хоста, когнитивная идентичность, аудиторская проверка и уровни серьёзности.
Возобновляемое планирование
Как Apothem выносит рабочее состояние в локальный для проекта набор планов .apothem/plans/, чтобы долгая работа переживала границы сессии, учётной записи и машины.