Skip to main content
Glama

Front Office

Система учёта (system of record) для дизайн-операций над проектами, создаваемыми в диалоге с ИИ: журнал решений, открытые вопросы и документация как генерируемые представления — чтобы каждая сессия (человек или ИИ, сегодня или через месяцы, параллельная или последовательная) работала с одним и тем же «мозгом», а не с прокруткой чата.

Родилось из реальной проблемы: при разработке игры в длинных сессиях с ИИ было зафиксировано 46 решений, и вопрос «а это вообще когда-нибудь утверждали?» постоянно требовал аудита. Front Office делает журнал аудита основным артефактом.

Ключевые идеи

  • Журнал решений — это журнал событий. Каждое решение несёт когда / кто / почему, тег происхождения — [A] явное решение человека · [A→C] указание человека, спецификация ИИ · [C→A] предложение ИИ, ратифицировано человеком · [C] предположено ИИ, действует, но может быть отклонено — и статус (✅ решено · 🕐 ожидает документации · 💬 предложено). Исправления — это новые записи со ссылкой на старые, а не правки.

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

  • Документация — это сборка. Контекстные пакеты и представления статуса генерируются из записей; markdown — это и хранилище, и формат обмена, поэтому нет привязки к инструментам: файлы полезны даже без какого-либо ПО.

  • Защита от «наездника». Предложение, прикреплённое к утверждённому решению, никогда не наследует это утверждение. Черновики, написанные ИИ, всегда помечаются 💬.

Related MCP server: kb

Использование

npm ci
npm run fo -- status                 # counts, unratified [C] list, pending rulings
npm run fo -- decisions --provenance C --status decided
npm run fo -- open --section A
npm run fo -- show 12
npm run fo -- pack                   # writes projects/<p>/context-pack.md
npm run fo -- validate               # CI-able: exit 1 on invariant violations

Данные проекта хранятся в projects/<name>/ и содержат *decision-log.md и *open-items.md (формат см. в test/fixtures/). projects/ игнорируется git — данные арендатора принадлежат вам и остаются приватными. Укажите другой путь с помощью --project <dir> или FO_PROJECT_DIR.

Веб-интерфейс

npm run fo -- pack   # optional: regenerate views first
npm run web          # http://localhost:4747 (FO_PORT / FO_PROJECT_DIR to override)

Живая панель поверх тех же файлов: лента решений с чипами происхождения/статуса и фильтрами, полоса внимания (ожидающие решения, нератифицированные [C]), открытые пункты по разделам, статистика — и форма черновика (черновики всегда 💬). 100% разделение UI и логики: клиент не содержит бизнес-логики; каждое производное значение приходит заранее вычисленным из /api/state, браузер только отображает и отправляет команды.

MCP-сервер (подключение «мозгов»)

Предоставляет записи любой сессии Claude Code:

claude mcp add front-office --scope user -- npx tsx <repo>/src/mcp/server.ts

Инструменты: get_context_pack · list_decisions · list_open_items · draft_decision (всегда 💬) · get_stats. Установите FO_PROJECT_DIR в окружении сервера, чтобы выбрать проект.

Архитектура

Согласно собственной доктрине проекта (да, его проектные решения отслеживаются в журнале Front Office):

  • src/core, src/adapters, src/views — чистые (строгий функциональный профиль ESLint: без let/циклов/классов/мутаций, часы и случайность должны быть инъецированы).

  • src/shell, src/mcp — граница эффектов (умеренный профиль).

  • Парсеры сохраняют исходные ячейки дословно → сериализация проходит точно в обе стороны (parse(serialize(parse(x))) ≡ parse(x), проверено свойствами).

npm run typecheck && npm run lint && npm test

MIT.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A database-backed MCP server that acts as a project memory bank, enabling AI assistants to store, retrieve, and search structured context like decisions, tasks, and architecture using SQLite and vector embeddings.
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    A local MCP server that provides a shared context and learning foundation across multiple AI tools (Claude, Copilot, Codex) for multiple projects, enabling persistent knowledge, decisions, and gap reflection through note storage.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    An MCP server that records decisions, rejected alternatives, and justifications, and retrieves them later to avoid re-litigating past choices. It stores data locally in SQLite and Markdown.
    2
    62 PyPI
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for BRIEF.md that captures decisions, constraints, and questions during AI chats, enabling seamless project re-entry across different AI tools.
    8 npm
    MIT