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 트레일러 또는 노트에 저장합니다.

커밋 훅 · refs/notes/commitlore

수명 주기 추적

활성, 대체, 만료된 결정을 구분합니다.

commitlore stale

범위 지정

에이전트가 편집하려는 경로에 대한 결정을 선택합니다.

commitlore context

신뢰 등급

기록을 지시, 주장, 또는 차단된 콘텐츠로 전달합니다.

기본 / 서명 모드

전달

편집 전에 지원되는 에이전트에게 현재 컨텍스트를 제공합니다.

플러그인 훅 · 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

플러그인은 PATHcommitlore를 넣지 않으므로 아래 명령에는 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 트레일러와 노트에 저장하므로, 코드와 함께 분기, 병합, 복제, 검토되고 공급자 변경에도 생존합니다.

SQLite는 재구축 가능한 인덱스일 뿐입니다. 삭제해도 Git은 여전히 기록을 보유합니다.

오래된 결정을 찾는 것만으로는 충분하지 않습니다

일반 메모리 또는 검색 시스템은 묻습니다:

어떤 오래된 텍스트가 관련 있어 보이나요?

CommitLore는 묻습니다:

어떤 기록된 결정이 지금 이 경로에 여전히 적용되나요?

대체된 결정은 매우 관련성이 높을 수 있지만 현재 지침으로는 여전히 틀릴 수 있습니다. 관련성과 권위는 다른 질문입니다.

작동 방식

  1. 캡처 — 에이전트는 diff가 보여줄 수 없는 결정 컨텍스트만 초안을 작성합니다.

  2. 검증 — CommitLore는 초안을 세션 및 스테이징된 diff와 대조합니다.

  3. 보존 — 승인된 기록은 정체성과 수명 주기와 함께 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 호스트

절차만

절차만

아니요

"사용 가능"은 준비 → 검증 → 스테이징 워크플로가 존재한다는 의미입니다. 모든 적격 커밋이 자동으로 평가된다는 의미는 아닙니다.

지원되는 스킬 호스트의 사용자는 모든 커밋에서 "이것을 CommitLore에 기록하세요"라고 말할 필요가 없습니다. 남은 제한은 호스트 시작이며, 필수 기록별 사용자 명령이 아닙니다.

측정이 아닌 현장 보고

v1.2.0을 처음 설치하는 누군가가 관련 없는 저장소에서 한 번 실행한 것입니다. 여기 있는 어떤 것도 측정되지 않았으며 증거 로그에 없습니다. 위 단락이 여기 표에서 다루지 않는 루프를 주장하기 때문에 이 페이지에 있습니다.

그들은 에이전트에게 반올림 버그를 수정하라고 요청하고, 지나가는 말로 십진수 라이브러리가 이미 고려되었고 기각되었다고 언급하고, "커밋하세요"로 끝냈습니다. 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)

단일 모델, 단일 하네스, 구성된 태스크

수명주기 필터링이 측정된 활성 프로젝션에서 폐기된 레코드를 전달했는가?

폐기된 레코드 0건

대체된 레코드가 존재했음; 만료는 적용되지 않음

인덱스 조회가 확장 가능한가?

10만 커밋에서 p50 496ms

인덱스 없는 폴백은 훨씬 느림

인덱스 빌드 시간은 커밋 수가 아닌 레코드 수를 따릅니다: 비용이 큰 패스는 레코드당 한 번 실행되므로, 오랜 이력이지만 레코드가 적게 기록된 저장소는 레코드가 빽빽한 짧은 이력보다 더 빨리 빌드됩니다.

경로 범위(Path scope)가 대규모 이력을 모델에 도달하지 못하게 막는 요소입니다. #167 말뭉치에서 10,002개 레코드 중 단 2개만 도달했습니다:

경로

모델에 노출된 레코드

관련 레코드

모델에 노출된 토큰

전체 주입

10,002

2/2

1,004,554

top-k 어휘

2

1/2

190

CommitLore 경로 범위

2

2/2

335

이는 고정된 2개 레코드 예산에서 노출도와 재현율을 측정한 것입니다 — 토큰 비용, 청구 비용, 정확도, 에이전트 동작이 아닙니다. 단일 말뭉치, 단일 쿼리, 단일 고정 임베딩 모델입니다.

에이전트 연구는 보편적인 모델 효과를 입증하지 않습니다. 전달이 모델이 레코드를 읽거나 따랐다는 증거는 아닙니다.

방법론, 전체 표, 제외 기준, 부정적 결과 →

한계, 신뢰 및 개인정보

  • 캡처는 보조적이며 결정적이지 않습니다. 지원되는 스킬은 일반적인 커밋 요청을 고려하지만, 어떤 호스트도 모든 적격 커밋을 평가하도록 인증되지 않았습니다.

  • 기본 지시 모드는 인증이 아닙니다. 커밋 작성자 헤더를 일치시키며, 커밋을 작성할 수 있는 사람은 누구나 해당 헤더를 설정할 수 있습니다 — 따라서 기본 모드의 [directive]는 신원 증명이 아닌 정책 메타데이터입니다. 서명 모드는 추가로 Git의 자체 검증 상태와 저장소 로컬 commitlore.trustedSigner 허용 목록의 일치를 요구합니다. 서명자 허용 목록이 없거나, 비어 있거나, 읽을 수 없으면 누구도 승인되지 않으므로 해당 모드는 실패 시 닫힘(fail closed) 방식으로 동작합니다.

  • 가드는 안전망이 아닌 실험적 자문입니다: 417개 결정 말뭉치에서 정밀도 44.8% (95% Wilson CI 32.7%–57.5%), 재현율 22.0%. 가드 결과가 비어 있다고 해서 안전 판정은 아닙니다.

  • 전달은 일치하는 모든 도구 호출에서 토큰을 소비합니다. 사전 편집 훅은 Edit, Write, MultiEdit, NotebookEdit뿐만 아니라 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