Front Office
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 testMIT.
This server cannot be deployed
Maintenance
Related MCP Connectors
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
MCP server for generating rough-draft project plans from natural-language prompts.
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
MCP server for building and testing AI agents with multi-model experimentation and insights.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA 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
- AlicenseNot gradedqualityCmaintenanceA 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
- AlicenseAqualityDmaintenanceAn 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.262 PyPIApache 2.0
- AlicenseNot gradedqualityDmaintenanceMCP server for BRIEF.md that captures decisions, constraints, and questions during AI chats, enabling seamless project re-entry across different AI tools.8 npmMIT