Skip to main content
Glama

Front Office

AIとの会話で構築されたプロジェクトのためのデザインオペレーションズのシステム・オブ・レコード:決定ログ、未解決の質問、そして生成されたビューとしてのドキュメント — すべてのセッション(人間またはAI、今日または数ヶ月後、並行または逐次)がチャットのスクロールバックではなく同じ頭脳から作業できるように。

実際の問題から生まれた:長いAIセッションにわたるゲームの設計で46件のログされた決定が生まれ、「それは実際に承認されたのか?」という監査が常に必要だった。Front Officeは監査証跡を主要な成果物にする。

コアアイデア

  • 決定ログはイベントログである。 すべての決定はいつ/誰が/なぜ来歴タグ[A] 明示的な人間の裁定 · [A→C] 人間の指示、AIの仕様 · [C→A] AIの提案、人間が批准 · [C] AIが想定、有効だが拒否可能 — そしてステータス(✅ 決定済み · 🕐 ドキュメント待ち · 💬 提案中)を持つ。修正は古いエントリを参照する新しいエントリであり、決して編集ではない。

  • 未解決の質問はレコードであり、スクロールバックではない。 未回答の項目は解決されるまで追跡されたファイルに存在する — ログエントリとともに。

  • ドキュメントはビルドである。 コンテキストパックとステータスビューはレコードから生成される。markdownはストレージかつ交換フォーマットであり、ロックインはない — ファイルはツールなしでも有用である。

  • ライダーガード。 承認された決定に添付された提案は、その承認を決して継承しない。AIが書いたドラフトは常に💬である。

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/はgitignoreされている — テナントデータはあなたのものであり、プライベートのままである。 --project <dir>またはFO_PROJECT_DIRで別の場所を指定する。

Web UI

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/coresrc/adapterssrc/views純粋(厳格な関数型ESLintプロファイル:let/ループ/クラス/ミューテーションなし、クロックとランダム性は注入されなければならない)。

  • src/shellsrc/mcp — エフェクトのエッジ(中程度のプロファイル)。

  • パーサーは生のセルを逐語的に保持する → シリアライゼーションは正確にラウンドトリップする(parse(serialize(parse(x))) ≡ parse(x)、プロパティテスト済み)。

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

MIT。

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    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
    -
    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
    B
    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
    Apache 2.0
  • A
    license
    -
    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.
    11
    MIT

View all related MCP servers

Related MCP Connectors

  • MCP server for generating rough-draft project plans from natural-language prompts.

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/asafjac/front-office'

If you have feedback or need assistance with the MCP directory API, please join our Discord server