Skip to main content
Glama
curl -fsSL https://raw.githubusercontent.com/MongLong0214/commitlore/v1.2.0/install.sh | sh -s v1.2.0
curl -fsSLO https://raw.githubusercontent.com/MongLong0214/commitlore/v1.2.0/install.sh
sh install.sh v1.2.0

# Or skip the script: the checkout it makes is one you can make yourself.
git clone --depth 1 --branch v1.2.0 https://github.com/MongLong0214/commitlore
node commitlore/dist/commitlore.mjs --version

ピン留めされたソースチェックアウトと、node <checkout>/dist/commitlore.mjs を実行するラッパーをインストールする。コンパイル済みダウンロードもビルドステップも不要。


コードは生き残る。判断は生き残らない。

エージェントがアプローチを提案する。チームは非自明な制約のためにそれを却下する。最終的なコードは結果を保持するが、通常は代替案が却下された理由は保持しない。後のエージェントはコードだけを見て、同じアイデアを再び提案する。

CommitLoreはその判断をコードの隣に保持する。

CommitLoreが行うこと

動作

プロダクトパス

キャプチャ

diffでは示せない制約、却下された代替案、警告を保持する。候補はセッショントランスクリプトとステージングされたdiffに対してチェックされる。

commitlore capture

保存

受け入れられた記録をホスト型メモリデータベースではなく、Gitのtrailerまたはnotesに保存する。

commit hooks · refs/notes/commitlore

ライフサイクル追跡

有効、置き換え済み、期限切れの決定を区別して保持する。

commitlore stale

スコープ

エージェントが編集しようとしているパスに対する決定を選択する。

commitlore context

信頼度の格付け

記録を指示、主張、または保留コンテンツとして提供する。

default / signed mode

提供

サポートされているエージェントに編集前に現在のコンテキストを提供する。

plugin hook · MCP

ほとんどのコミットには記録を付けるべきではない。CommitLoreはコードが保持できない判断のためのものであり、すべての変更を説明するためのものではない。

Related MCP server: Hypermnesic

決定を認識するエージェントまで60秒

1. CLIをインストール

macOSとLinux:

curl -fsSL https://raw.githubusercontent.com/MongLong0214/commitlore/v1.2.0/install.sh | sh -s v1.2.0

Windows:

& ([scriptblock]::Create((irm https://raw.githubusercontent.com/MongLong0214/commitlore/v1.2.0/install.ps1))) v1.2.0

Node.js 22.23.2+ と Git が必要。スクリプトは何かを書き込む前に両方をチェックする。

2. エージェントを接続

Claude Code:

/plugin marketplace add MongLong0214/commitlore
/plugin install commitlore@commitlore

Codex:

commitlore plugin install-codex

プラグインは commitlorePATH に追加しないため、下のコマンドにはCLIのインストールも必要。インストーラーは安全にできる場合、サポートされているMCPホストも検出して配線する。正確なマトリックスは下記の通り。

3. リポジトリを初期化

cd your-repository
commitlore init
commitlore context .

プラグインをインストールまたは更新した後は、新しいエージェントセッションを開始すること。実行中のセッションはロードしたランタイムを保持する。

その後は通常どおり作業してコミットする。サポートされているスキル統合では、CommitLoreは通常のコミットリクエスト中に考慮され、保存する価値がないときは沈黙する。すべてのコミットでCommitLoreを指定する必要はない。

受け入れられた記録をレコードごとのプロンプトなしでステージングしたい? リポジトリは commitlore auto on で一度オプトインできる。そのポリシーはリポジトリ所有でチームに適用されるため、このページで静かに有効化されることはない。

エージェントが受け取るもの

src/pricing.ts を編集する前:

commitlore: active records for src/pricing.ts

Limit
  [claim] r-price01  calculatePrice owns final checkout pricing only

Ruled-out
  [claim] r-price01  Reuse it for admin quotes |
                     eligibility and rounding semantics differ

[claim] は「これを情報として考慮する」という意味。リポジトリはより強力な署名権限モードにオプトインできる。提供はエージェントにコンテキストを与えるだけで、編集をブロックしない。

セキュリティモデル →

なぜGitなのか?

リポジトリは、そのコードの背後にある判断を所有すべき。

CommitLoreは記録を通常のGit trailerとnotesに保存するため、説明するコードとともにブランチ、マージ、クローン、レビュー、プロバイダー変更を生き残る。

SQLiteは再構築可能なインデックスにすぎない。削除してもGitは記録を保持する。

古い決定を見つけるだけでは不十分

一般的なメモリまたは検索システムは尋ねる:

どの古いテキストが関連しているように見えるか?

CommitLoreは尋ねる:

どの記録された決定が今このパスにまだ適用されるか?

置き換えられた決定は非常に関連性が高くても、現在のガイダンスとしては間違っていることがある。関連性と権威は異なる質問である。

仕組み

  1. キャプチャ — エージェントはdiffが示せない決定コンテキストのみをドラフトする。

  2. 検証 — CommitLoreはドラフトをセッションとステージングされたdiffに対してチェックする。

  3. 保存 — 受け入れられた記録はIDとライフサイクルとともにGitに存在する。

  4. 提供 — 後の編集の前に、そのパスに対するアクティブな記録のみが返される。

ほとんどのコミットは記録を持たない。コミットフックは記録が存在する場合に検証するだけで、発明はしない。

既存のフックは上書きされない。commitlore initcore.hooksPath を尊重し、既にインストールされているフックを <hook>.commitlore-chained に移動して最初に呼び出す。commitlore hooks uninstall で元に戻す。

自動的に行われること

ホスト

編集前の提供

検証済みキャプチャワークフロー

決定的な全コミットキャプチャ

Claude Code

プラグイン経由で自動

プラグインスキル経由で利用可能

未認定

Codex

プラグイン経由で自動

プラグインスキル経由で利用可能

未認定

Hermes

commitlore hermes install 後に利用可能

ホストインストール後に利用可能

未認定

Gemini CLI、Cursor、Windsurf、opencode

ホストが登録を使用する場合MCP提供

MCP経由で公開される手順

なし

AGENTS.md ホスト

手順のみ

手順のみ

No

「利用可能」とは、準備 → 検証 → ステージングのワークフローが存在することを意味する。対象となるすべてのコミットが自動的に評価されることを意味するわけではない。

サポートされているスキルホストのユーザーは、すべてのコミットで「これをCommitLoreに記録して」と言う必要はない。残る制限はホストの開始であり、レコードごとのユーザーコマンドの要件ではない。

測定ではなくフィールドレポート

無関係なリポジトリで、初めてv1.2.0をインストールした人による1回の実行。ここにあるものは何も測定されておらず、証拠ログにも含まれていない。上の段落が、ここにあるどのテーブルもカバーしていないループを主張しているため、このページに掲載されている。

彼らはエージェントに丸めバグの修正を依頼し、ついでに小数ライブラリがすでに検討されて破棄されたことに言及し、「コミットして」で締めくくった。CommitLoreは一度も名前を挙げられなかった。コミットが運んだものの一部:

Ruled-out: adopting a decimal library such as Decimal.js | the backend is a
  number contract, so it is meaningless
Warn: do not revert the test file to console.assert: it exits 0 even on
  failure, so CI passes silently
Provenance: drafted

Warn はエージェントに指示されたものではない。作業中に罠に落ち、次に来る人のために残した。Provenance: drafted は、人間が記録を読んでいないことを記録し、それを claim と格付けする — 命令ではなく、考慮すべきレポートとして提供される。

共有履歴のない後のセッションは、結局小数ライブラリを採用するよう求められた。それは採用せず、記録をその理由として挙げた。また、格付けも読んだ:claim は指示ではないため、同意する前にコードに対して述べられた理由をチェックした。

メモリストレージとは異なる

一般的なメモリ / RAG

CommitLore

主な質問

どの古いテキストが関連しているか?

どの決定が今ここにまだ適用されるか?

権威

メモリストアまたはプロバイダー

Git

スコープ

意味的類似性

リポジトリパス

ライフサイクル

多くの場合、追記優先

有効 · 置き換え済み · 期限切れ

信頼

取得されたテキスト

指示 · 主張 · ブロック

キャプチャ

トランスクリプトまたはノートストレージ

証拠チェック済みの決定記録

移植性

バックエンド依存

通常のGit

CommitLoreは意図的に範囲を狭めている。一般的なユーザーメモリシステム、会話アーカイブ、ベクターデータベースの代替ではない。

証拠

質問

測定結果

境界条件

登録済み研究において、クレーム級コンテキストは再提案時に変化したか?

CommitLore あり 2.8% (16/580) vs なし 18.8% (109/579)

1モデル、1ハーネス、構築されたタスク

ライフサイクルフィルタリングは、測定されたアクティブ射影において破棄済みレコードを配信したか?

破棄済みレコード 0件

置換済みレコードは存在したが、失効はしていなかった

インデックス付きルックアップはスケールするか?

10万コミットで p50 496 ms

インデックスなしのフォールバックははるかに遅い

インデックス構築時間はコミット数ではなくレコード数に従う。高コストなパスはレコードごとに1回実行されるため、記録が少ない長い履歴は、レコードが密集した短い履歴よりも速く構築される。

パススコープこそが、大規模な履歴がモデルに到達するのを防ぐ仕組みである。#167 コーパスでは、10,002 レコード中わずか 2 件だけが到達した。

ルート

モデル可視レコード

関連レコード

モデル可視トークン

すべて注入

10,002

2/2

1,004,554

top-k 語彙ベース

2

1/2

190

CommitLore パススコープ

2

2/2

335

これは、固定された2レコード予算における露出と再現率を測定したものであり、トークンコスト、課金コスト、精度、エージェントの挙動を測定したものではない。1コーパス、1クエリ、1つの固定埋め込みモデルである。

エージェント研究は普遍的なモデル効果を確立するものではない。配信は、モデルがレコードを読んだ、または従ったことの証明ではない。

方法、完全な表、除外事項、否定的結果 →

制限、信頼、プライバシー

  • キャプチャは支援的であり、決定的ではない。 対応スキルは通常のコミット要求を考慮するが、対象となるすべてのコミットを評価できると認定されたホストは存在しない。

  • デフォルトのディレクティブモードは認証ではない。 これはコミット作成者ヘッダーと照合するものであり、コミットを書ける者なら誰でもそのヘッダーを設定できる。したがって、デフォルトモードの [directive] はポリシーメタデータであり、身元の証明ではない。署名モードはさらに、Git 自身の検証済みステータスと、リポジトリローカルの commitlore.trustedSigner 許可リスト内の一致を要求する。署名者許可リストが存在しない、空、または読み取り不能な場合は誰も承認されないため、このモードはフェイルクローズする。

  • ガードは実験的な助言であり、安全網ではない。 精度 44.8%(95% Wilson CI 32.7%–57.5%)、再現率 22.0%(417 判断コーパス)。ガード結果が空でも、安全性の判定ではない。

  • 配信は、一致するすべてのツール呼び出しでトークンを消費する。 編集前フックは EditWriteMultiEditNotebookEdit だけでなく Read でも発火するため、編集エージェントがコミットするよりもはるかに頻繁に実行される。発火のたびにペイロード予算(デフォルト 800 トークン、--budget で変更)まで消費する。レコードのないリポジトリは何も消費しない。つまり、これはインストールではなく採用とともに発生するコストである。

  • 回答は部分的であり得る。 カバレッジは開示される。部分的な結果に存在しないことは、レコードが存在しないことの証明ではない。リポジトリ全体のカバレッジ、シンボルアンカー、対話型レコードビルダーは未解決のままである: #32#33

  • コミットトレーラーはクローンとともに移動するが、ノートは移動しない。 Git はデフォルトで refs/notes/* をフェッチしない。したがって、refs/notes/commitlore 内のレコードは、commitlore init がそのミラーを構成するまで、通常のクローンには存在しない。

  • ホスト型バックエンドはない。 しかし、サーバーまたはフックがコンテキストを返すと、ホストは独自のポリシーに基づいてそのコンテキストを処理する。CommitLore はそのデータフローを制御しない。

セキュリティ · 互換性 · エビデンス

レコードはグレード付けされるまで信頼されない。デフォルトの作成者マッチングはポリシーメタデータであり、認証ではない。署名付きディレクティブモードは Git 検証とリポジトリローカルの署名者許可リストを要求する。許可リストが存在しない、または読み取り不能な場合は誰も承認されない。インジェクション形状のペイロードは、モデル可読ルートからは差し控えられる。

完全なセキュリティモデル →

CLI インストーラーは、認識していないリポジトリ内のフックを書き換えることはできず、実行中のホストセッションは読み込んだランタイムを保持する。commitlore doctor は両方の状態とその修復方法を明示し、commitlore upgrade は新しいリリースが存在するかどうかを報告する。

インストールとアップグレード →

レコードは通常の Git トレーラーまたはノートである。プロトコル 2.0 は、ライフサイクル、信頼グレード、検証、互換性を定義する。

人間向けガイド → · 規範的仕様 →

リポジトリは、方法、除外事項、失敗した測定、および元のベンチマークまたは診断が誤っていたケースを公開している。

エビデンス → · 自己監査 →

ドキュメント

コントリビューション

CONTRIBUTING.md は、このリポジトリが自らに課すレコードプロトコル、リリースゲート、およびエビデンスの再現方法をカバーしている。

ライセンス

MIT — LICENSE を参照。

A
license - permissive license
Not graded
quality - not tested
A
maintenance

Maintenance

Maintainers
2hResponse time
1dRelease cycle
22Releases (12mo)
Commit activity
Issues opened vs closed

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Local-first memory layer for AI coding agents — captures issues, attempts, fixes, and decisions, and warns at git commit before you repeat a mistake.
    15
    665
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Git-native long-term memory for AI agents: your markdown files are the source of truth, the search index is a disposable projection rebuilt from git, and every memory the agent writes is a reviewable git commit. Served over one OAuth-secured MCP endpoint with hybrid lexical+semantic recall and a gated, git-first commit_note write tool.
    7
    8
    AGPL 3.0
  • A
    license
    A
    quality
    B
    maintenance
    Local-first project memory for AI coding agents. Records failed attempts, fragile files, and decisions per repo, and warns the agent via hooks before it repeats a recorded mistake.
    6
    89
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Self-hosted decision memory for AI coding agents. Captures decisions with the alternatives you rejected, and warns before an agent re-proposes a rejected approach.
    4
    81
    Apache 2.0

View all related MCP servers

Related MCP Connectors

  • Memory for coding agents: the decisions, the dead ends, and where the last session stopped.

  • Experience memory for coding agents: validated traps, fixes and dead-ends at decision time.

  • Give your AI agent a persistent map of your project's structure, dependencies, and bugs.

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/MongLong0214/commitlore'

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