Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 46 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,64 @@
# Git Mem

Your git history is the perfect context for AI.
It just needs to be extracted for agents....
## Store AI knowledge IN each commit.

### Extract from historical commits.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Remove trailing whitespace.

Markdownlint flags trailing spaces on Line 5. Clean up the trailing space to satisfy MD009.

🧰 Tools
🪛 markdownlint-cli2 (0.20.0)

[warning] 5-5: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)

🤖 Prompt for AI Agents
In `@README.md` at line 5, The line containing "### Extract from historical
commits." has trailing whitespace causing markdownlint MD009; remove the
trailing space characters at the end of that line so it becomes "### Extract
from historical commits." with no trailing spaces to satisfy the linter.

Copy link

Copilot AI Feb 13, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inconsistent punctuation in heading. Line 5 ends with a period, but other similar headings in the file (lines 3, 17, 19, 28, 55) do not end with punctuation.

Suggested change
### Extract from historical commits.
### Extract from historical commits

Copilot uses AI. Check for mistakes.

## Why?

Your git history already contains the decisions, conventions, and gotchas that matter — git-mem extracts them and makes them available to Claude automatically.
#### We should store information about the AI involvement in each commit.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix heading level jumps (h2 → h4).

Lines 9 and 17 skip from h2 to h4; markdownlint expects only +1 level increments. Use h3 for those headings (or adjust surrounding headings) to satisfy MD001.

Also applies to: 17-17

🧰 Tools
🪛 markdownlint-cli2 (0.20.0)

[warning] 9-9: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4

(MD001, heading-increment)

🤖 Prompt for AI Agents
In `@README.md` at line 9, The README has incorrect heading level jumps (MD001):
change the headings currently using "#### We should store information about the
AI involvement in each commit." and the other h4 at line 17 to h3 (replace
"####" with "###") so the document increments heading levels by only one and
satisfies markdownlint; update any surrounding headings if needed to keep
consistent hierarchy.


- What agent?
- What model?
- Knowledge for future agents.

## How?

When initialized in your repo, git-mem reviews your last (n) commits and extracts knowledge automatically.
Each commit is updated with background AI metadata, which Claude can use to improve its understanding of your codebase.
#### Using built-in git features.. automatically.

Every **new** commit is automatically populated with the folowing metadata..
### Git Trailers
Metadata key value pairs that exist inside a commit message (visible)
Comment on lines +19 to +20
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Add blank line around the heading and hyphenate “key‑value”.

Line 19 needs a blank line below/above to satisfy MD022. Also, Line 20 should read “Metadata key‑value pairs…” per the grammar hint.

🧰 Tools
🪛 LanguageTool

[grammar] ~20-~20: Use a hyphen to join words.
Context: ...atically. ### Git Trailers Metadata key value pairs that exist inside a commit m...

(QB_NEW_EN_HYPHEN)

🪛 markdownlint-cli2 (0.20.0)

[warning] 19-19: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below

(MD022, blanks-around-headings)

🤖 Prompt for AI Agents
In `@README.md` around lines 19 - 20, Add a blank line above and below the "Git
Trailers" heading to satisfy MD022, and update the following sentence under that
heading to hyphenate "key‑value" so it reads "Metadata key‑value pairs that
exist inside a commit message (visible)"; locate the "Git Trailers" heading in
README.md to make these two small text edits.


- **AI-Agent:** Claude/Opus-4.5
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Remove trailing whitespace.

Markdownlint reports trailing spaces on Lines 22 and 28 (MD009).

Also applies to: 28-28

🧰 Tools
🪛 markdownlint-cli2 (0.20.0)

[warning] 22-22: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)

🤖 Prompt for AI Agents
In `@README.md` at line 22, Remove the trailing spaces reported by markdownlint on
the README lines containing the AI-Agent entries (for example the line
"**AI-Agent:** Claude/Opus-4.5" and the similar AI-Agent line at line 28); edit
those lines to delete any trailing whitespace characters so they end immediately
after the last visible character (no extra spaces or tabs).

- **AI-Decision:** JWT over sessions — stateless API, scales horizontally
- **AI-Context:** [pattern/middleware, entity/auth-module]
- **AI-Confidence:** 0.95
- **AI-Memory:** milestone/auth-implementation
Comment on lines 24 to 26
Copy link

Copilot AI Feb 13, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The trailer keys AI-Context and AI-Memory shown in this example do not exist in the codebase. According to src/domain/entities/ITrailer.ts:26-36, the actual supported trailer keys are: AI-Decision, AI-Gotcha, AI-Convention, AI-Fact, AI-Confidence, AI-Tags, AI-Lifecycle, AI-Memory-Id, and AI-Agent. The example should use actual supported trailer keys. For reference, docs/getting-started.md:74-78 shows a correct example using AI-Decision, AI-Confidence, AI-Memory-Id, and AI-Tags.

Copilot uses AI. Check for mistakes.

Going forward, AI knowledge will be embedded in each commit for future references
### Git Notes

Metadata stored alongside commits in a separate refs/notes/mem. (hidden)

The commit SHA never changes. Non-invasive. (used in retro-fitting existing commits)


```aiignore
# Note example

{
"id": "3bf31da6-86a6-43cc-a1db-2f99da187107",
"content": "JWT over sessions — stateless API, scales horizontally" ,
"type": "decision",
"sha": "631671dbe0f7ef5e7bddec7849f232b3908ceb89",
"confidence": "high",
"source": "heuristic-extraction",
"lifecycle": "project",
"tags": [
"extraction",
"pattern:instead-of"
],
"createdAt": "2026-02-12T23:35:46.153Z",
"updatedAt": "2026-02-12T23:35:46.153Z"
}
```

## Automatically?

Yes, the last thing we want is another command to remember.

If you use Claude Code cli, then git-mem uses the hooks behind the scenes to auto-popuplate the trailers & notes. There is nothing for you to do.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix typo: “auto-popuplate”.

Line 59 has a spelling error. Replace with “auto‑populate.”

🧰 Tools
🪛 LanguageTool

[grammar] ~59-~59: Ensure spelling is correct
Context: ...ses the hooks behind the scenes to auto-popuplate the trailers & notes. There is nothing ...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

🤖 Prompt for AI Agents
In `@README.md` at line 59, Replace the typo "auto-popuplate" in the README text
with the correct word "auto‑populate" so the sentence reads "auto‑populate the
trailers & notes" (update the single occurrence in the sentence that mentions
Claude Code cli and git-mem hooks).

Copy link

Copilot AI Feb 13, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Corrected spelling of 'auto-popuplate' to 'auto-populate'

Suggested change
If you use Claude Code cli, then git-mem uses the hooks behind the scenes to auto-popuplate the trailers & notes. There is nothing for you to do.
If you use Claude Code cli, then git-mem uses the hooks behind the scenes to auto-populate the trailers & notes. There is nothing for you to do.

Copilot uses AI. Check for mistakes.

If you use other AI cli tools, then you can use the mcp option.

---

Expand All @@ -32,10 +70,9 @@ cd your-repo
git-mem init
```

`init` sets up hooks, MCP config, .gitignore entries, and runs an initial extract from your history.

See the [Getting Started Guide](./docs/getting-started.md) for full CLI and MCP setup docs.

For more detailed information, see the [Getting Started Guide](./docs/getting-started.md)
Copy link

Copilot AI Feb 13, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing newline after the "## License" heading. According to markdown conventions consistently used elsewhere in this file (e.g., lines 3-4, 7-8, 15-16), headings should be followed by a blank line before content.

Suggested change
For more detailed information, see the [Getting Started Guide](./docs/getting-started.md)
For more detailed information, see the [Getting Started Guide](./docs/getting-started.md)

Copilot uses AI. Check for mistakes.
## License

MIT