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

Er installiert einen festgepinnten Quellcode-Checkout und einen Wrapper, der node <checkout>/dist/commitlore.mjs ausführt – kein kompiliertes Download, kein Build-Schritt.


Der Code überlebt. Das Urteil nicht.

Ein Agent schlägt einen Ansatz vor. Dein Team lehnt ihn wegen einer nicht offensichtlichen Einschränkung ab. Der endgültige Code bewahrt das Ergebnis, aber normalerweise nicht, warum die Alternative verworfen wurde. Ein späterer Agent sieht nur den Code und schlägt dieselbe Idee erneut vor.

CommitLore bewahrt dieses Urteil neben dem Code auf.

Was CommitLore tut

Verhalten

Produktpfad

Erfasst

Bewahrt Einschränkungen, verworfene Alternativen und Warnungen auf, die ein Diff nicht zeigen kann. Kandidaten werden gegen das Sitzungsprotokoll und das gestaffte Diff geprüft.

commitlore capture

Bewahrt

Speichert akzeptierte Aufzeichnungen in normalen Git-Trailern oder -Notizen statt in einer gehosteten Speicherdatenbank.

Commit-Hooks · refs/notes/commitlore

Verfolgt Lebenszyklus

Hält aktive, ersetzte und abgelaufene Entscheidungen getrennt.

commitlore stale

Eingrenzt

Wählt Entscheidungen für den Pfad aus, den ein Agent gleich bearbeiten wird.

commitlore context

Bewertet Vertrauen

Liefert Aufzeichnungen als Anweisungen, Behauptungen oder zurückgehaltene Inhalte.

Standard-/Signaturmodus

Liefert

Gibt unterstützten Agenten vor einer Bearbeitung aktuellen Kontext.

Plugin-Hook · MCP

Die meisten Commits sollten keine Aufzeichnung tragen. CommitLore ist für Urteile gedacht, die der Code nicht bewahren kann, nicht für das Erzählen jeder Änderung.

Related MCP server: Hypermnesic

In 60 Sekunden zu entscheidungsbewussten Agenten

1. CLI installieren

macOS und 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

Erfordert Node.js 22.23.2+ und Git. Das Skript prüft beides, bevor es etwas schreibt.

2. Agenten verbinden

Claude Code:

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

Codex:

commitlore plugin install-codex

Das Plugin legt kein commitlore auf den PATH, daher benötigen die folgenden Befehle auch die CLI-Installation. Die Installer erkennen und verdrahten außerdem unterstützte MCP-Hosts, wo dies sicher möglich ist; die genaue Matrix steht unten.

3. Repository initialisieren

cd your-repository
commitlore init
commitlore context .

Starte nach der Installation oder Aktualisierung eines Plugins eine neue Agentensitzung: Eine laufende Sitzung behält die Laufzeit, die sie geladen hat.

Dann normal arbeiten und committen. Bei unterstützten Skill-Integrationen wird CommitLore bei gewöhnlichen Commit-Anfragen berücksichtigt und bleibt still, wenn nichts Erhaltenswertes vorliegt. Du musst CommitLore nicht bei jedem Commit nennen.

Möchtest du, dass akzeptierte Aufzeichnungen ohne Aufforderung pro Aufzeichnung gestafft werden? Das Repository kann einmalig mit commitlore auto on zustimmen. Diese Richtlinie gehört dem Repository und gilt für das Team, daher wird sie von dieser Seite nicht stillschweigend aktiviert.

Was der Agent erhält

Vor der Bearbeitung von 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] bedeutet „bewerte das als Information.“ Ein Repository kann sich für den stärkeren Signatur-Autoritätsmodus entscheiden. Die Lieferung gibt dem Agenten Kontext; sie blockiert die Bearbeitung nicht.

Sicherheitsmodell →

Warum Git?

Das Repository sollte das Urteil hinter seinem Code besitzen.

CommitLore speichert Aufzeichnungen in gewöhnlichen Git-Trailern und -Notizen, sodass sie mit dem Code, den sie erklären, verzweigen, zusammenführen, klonen, überprüft werden und Anbieterwechsel überleben.

SQLite ist nur ein neu aufbaubarer Index. Lösche ihn und Git hält die Aufzeichnung trotzdem.

Eine alte Entscheidung zu finden, reicht nicht

Ein allgemeines Speicher- oder Abrufsystem fragt:

Welcher alte Text sieht verwandt aus?

CommitLore fragt:

Welche aufgezeichneten Entscheidungen gelten jetzt noch für diesen Pfad?

Eine ersetzte Entscheidung kann hochrelevant sein und trotzdem als aktuelle Anleitung falsch sein. Relevanz und Autorität sind verschiedene Fragen.

So funktioniert es

  1. Erfassen — ein Agent entwirft nur Entscheidungskontext, den das Diff nicht zeigen kann.

  2. Verifizieren — CommitLore prüft den Entwurf gegen die Sitzung und das gestaffte Diff.

  3. Bewahren — die akzeptierte Aufzeichnung lebt in Git mit Identität und Lebenszyklus.

  4. Liefern — vor einer späteren Bearbeitung werden nur aktive Aufzeichnungen für diesen Pfad zurückgegeben.

Die meisten Commits tragen keine Aufzeichnung. Der Commit-Hook validiert eine Aufzeichnung, wenn eine vorhanden ist; er erfindet keine.

Ein vorhandener Hook wird nicht überschrieben. commitlore init respektiert core.hooksPath, verschiebt einen bereits installierten Hook nach <hook>.commitlore-chained und ruft ihn zuerst auf; commitlore hooks uninstall legt ihn zurück.

Was automatisch passiert

Host

Lieferung vor der Bearbeitung

Verifizierter Erfassungs-Workflow

Deterministische Erfassung bei jedem Commit

Claude Code

Automatisch über das Plugin

Verfügbar über die Plugin-Skill

Nicht zertifiziert

Codex

Automatisch über das Plugin

Verfügbar über die Plugin-Skill

Nicht zertifiziert

Hermes

Verfügbar nach commitlore hermes install

Verfügbar nach Host-Installation

Nicht zertifiziert

Gemini CLI, Cursor, Windsurf, opencode

MCP-Lieferung, wo der Host die Registrierung nutzt

Verfahren über MCP verfügbar

Nein

AGENTS.md-Hosts

Nur Verfahren

Nur Verfahren

Nein

„Verfügbar“ bedeutet, dass der Workflow Vorbereiten → Verifizieren → Staffen existiert. Es bedeutet nicht, dass jeder berechtigte Commit automatisch bewertet wird.

Benutzer auf unterstützten Skill-Hosts müssen nicht bei jedem Commit „zeichne das in CommitLore auf“ sagen. Die verbleibende Einschränkung ist die Host-Initiierung, nicht ein erforderlicher Benutzerbefehl pro Aufzeichnung.

Ein Feldbericht, keine Messung

Ein Lauf, auf einem unabhängigen Repository, von jemandem, der v1.2.0 zum ersten Mal installiert. Nichts hier wurde gemessen und nichts davon steht in den Beweisprotokollen. Es steht auf dieser Seite, weil der obige Absatz eine Schleife behauptet, die keine Tabelle hier abdeckt.

Sie baten einen Agenten, einen Rundungsfehler zu beheben, erwähnten beiläufig, dass eine Dezimalbibliothek bereits erwogen und verworfen worden war, und endeten mit „commit es“. CommitLore wurde nie genannt. Ein Teil dessen, was der Commit trug:

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

Das Warn wurde dem Agenten nicht diktiert. Er stieß auf die Falle, während er arbeitete, und hinterließ sie für den Nächsten. Provenance: drafted zeichnet auf, dass kein Mensch die Aufzeichnung gelesen hat, was sie als claim einstuft – geliefert als Bericht zum Abwägen, nicht als Befehl.

Eine spätere Sitzung ohne gemeinsame Historie wurde gebeten, die Dezimalbibliothek doch zu übernehmen. Sie tat es nicht und nannte die Aufzeichnung als Grund. Sie las auch die Einstufung: Ein claim ist keine Anweisung, also prüfte sie den genannten Grund gegen den Code, bevor sie zustimmte.

Im Gegensatz zu Speicher

Allgemeiner Speicher / RAG

CommitLore

Hauptfrage

Welcher alte Text ist verwandt?

Welche Entscheidungen gelten hier jetzt noch?

Autorität

Speicher-Store oder Anbieter

Git

Umfang

Semantische Ähnlichkeit

Repository-Pfade

Lebenszyklus

Oft nur Anhängen

Aktiv · ersetzt · abgelaufen

Vertrauen

Abgerufener Text

Anweisung · Behauptung · blockiert

Erfassung

Transkript- oder Notizspeicher

Beweisgeprüfte Entscheidungsaufzeichnung

Portabilität

Backend-abhängig

Gewöhnliches Git

CommitLore ist bewusst enger gefasst. Es ist kein allgemeines Benutzerspeichersystem, Gesprächsarchiv oder Vektordatenbank-Ersatz.

Beweise

Frage

Gemessenes Ergebnis

Grenze

Hat sich der kontextbezogene Vorschlag in der registrierten Studie durch die erneute Einreichung geändert?

2,8 % (16/580) mit CommitLore vs. 18,8 % (109/579) ohne

ein Modell, eine Testumgebung, konstruierte Aufgaben

Hat die Lebenszyklus-Filterung zurückgezogene Datensätze in der gemessenen aktiven Projektion geliefert?

0 zurückgezogene Datensätze

überholte Datensätze waren vorhanden; Ablauf war nicht aktiv

Skaliert die indizierte Suche?

496 ms p50 bei 100.000 Commits

der Fallback ohne Index ist deutlich langsamer

Die Index-Erstellungszeit folgt der Anzahl der Datensätze, nicht der Anzahl der Commits: Der aufwändige Durchlauf erfolgt einmal pro Datensatz, sodass eine lange Historie mit wenigen Datensätzen schneller aufgebaut wird als eine kurze mit vielen Datensätzen.

Der Pfadumfang (Path Scope) ist es, der eine große Historie vom Modell fernhält. Im #167-Korpus waren es nur 2 von 10.002 Datensätzen:

Route

für das Modell sichtbare Datensätze

relevante Datensätze

für das Modell sichtbare Tokens

alles einfügen

10.002

2/2

1.004.554

Top-k lexikalisch

2

1/2

190

CommitLore-Pfadumfang

2

2/2

335

Das misst Exposition und Recall bei einem festen Budget von zwei Datensätzen – nicht Token-Kosten, abgerechnete Kosten, Genauigkeit oder Agentenverhalten. Ein Korpus, eine Abfrage, ein festgelegtes Embedding-Modell.

Die Agentenstudie belegt keinen universellen Modelleffekt. Die Zustellung ist kein Beweis dafür, dass ein Modell einen Datensatz gelesen oder befolgt hat.

Methoden, vollständige Tabellen, Ausschlüsse und negative Ergebnisse →

Grenzen, Vertrauen und Datenschutz

  • Erfassung ist unterstützt, nicht deterministisch. Unterstützte Skills berücksichtigen gewöhnliche Commit-Anfragen, aber kein Host ist zertifiziert, jeden förderfähigen Commit zu bewerten.

  • Der Standard-Direktivmodus ist keine Authentifizierung. Er gleicht den Commit-Author-Header ab, und jeder, der einen Commit schreiben kann, kann diesen Header setzen – eine [directive] im Standardmodus ist daher Richtlinien-Metadaten, kein Identitätsnachweis. Der Signaturmodus erfordert zusätzlich den verifizierten Status von Git selbst sowie eine Übereinstimmung in der repository-lokalen commitlore.trustedSigner-Zulassungsliste; eine fehlende, leere oder nicht lesbare Signatur-Zulassungsliste autorisiert niemanden, sodass der Modus im Fehlerfall geschlossen ist (Fail-Closed).

  • Guard ist ein experimenteller Hinweis, kein Sicherheitsnetz: Präzision 44,8 % (95 %-Wilson-KI 32,7 %–57,5 %), Recall 22,0 % im 417-Entscheidungen-Korpus. Ein leeres Guard-Ergebnis ist kein Sicherheitsurteil.

  • Zustellung verbraucht Tokens bei jedem passenden Tool-Aufruf. Der Pre-Edit-Hook feuert bei Read ebenso wie bei Edit, Write, MultiEdit und NotebookEdit, läuft also weit häufiger, als ein Bearbeitungsagent Commits erstellt. Jedes Feuern verbraucht bis zum Payload-Budget – standardmäßig 800 Tokens, änderbar mit --budget. Ein Repository ohne Datensätze verbraucht nichts, was bedeutet, dass diese Kosten mit der Einführung kommen, nicht mit der Installation.

  • Eine Antwort kann unvollständig sein. Die Abdeckung wird offengelegt; das Fehlen in einem unvollständigen Ergebnis ist kein Beweis dafür, dass kein Datensatz existiert. Repository-weite Abdeckung, Symbol-Anker und ein interaktiver Datensatz-Builder bleiben offen: #32, #33.

  • Commit-Trailer reisen mit einem Klon; Notizen nicht. Git holt refs/notes/* standardmäßig nicht ab, sodass ein Datensatz in refs/notes/commitlore in einem gewöhnlichen Klon fehlt, bis commitlore init diesen Spiegel konfiguriert.

  • Es gibt kein gehostetes Backend. Aber sobald der Server oder Hook Kontext zurückgibt, verarbeitet der Host diesen Kontext unter seiner eigenen Richtlinie; CommitLore kontrolliert diesen Datenfluss nicht.

Sicherheit · Kompatibilität · Evidenz

Datensätze sind bis zur Bewertung nicht vertrauenswürdig. Die Standard-Autorzuordnung ist Richtlinien-Metadaten, keine Authentifizierung. Der signierte Direktivmodus erfordert Git-Verifizierung und eine repository-lokale Signatur-Zulassungsliste; eine fehlende oder nicht lesbare Zulassungsliste autorisiert niemanden. Injektionsförmige Payload wird von modelllesbaren Routen ferngehalten.

Vollständiges Sicherheitsmodell →

Der CLI-Installer kann keine Hooks in Repositories umschreiben, von denen er nichts weiß, und laufende Host-Sitzungen behalten die geladene Laufzeit. commitlore doctor benennt beide Zustände und deren Reparatur, und commitlore upgrade meldet, ob eine neuere Version existiert.

Installation und Upgrades →

Datensätze sind gewöhnliche Git-Trailer oder Notizen. Protokoll 2.0 definiert Lebenszyklus, Vertrauensgrade, Validierung und Kompatibilität.

Menschlicher Leitfaden → · Normative Spezifikation →

Das Repository veröffentlicht die Methoden, Ausschlüsse, erfolglosen Messungen und die Fälle, in denen die ursprüngliche Benchmark oder Diagnose falsch war.

Evidenz → · Selbstaudit →

Dokumentation

Mitwirken

CONTRIBUTING.md behandelt das Datensatzprotokoll, an das sich dieses Repository hält, das Release-Gate und die Reproduktion der Evidenz.

Lizenz

MIT – siehe 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