You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Working on the release command and hitting a design constraint I want community input on.
— what git-courer is:
git-courer is a Go MCP server exposing 22 Git tools so AI agents can operate the full Git workflow without leaving their context. The special part is the commit flow: every commit goes through an AST annotator (go-enry + tree-sitter) that classifies the change deterministically, a local LLM via Ollama that generates the WHY, and a JSON that persists the result:
{
"sha": "a1b2c3",
"message": "feat(mcp): unify branch creation and switch",
"author": "maria",
"date": "2025-06-16"
}
Those JSONs are the source of truth the release command reads to generate changelogs like this:
v2.4.0
This release unifies the MCP API to reduce latency and fixes formatting
issues in GitHub release descriptions.
MCP API Improvements
Unified the branch creation process by allowing a single call to both
create and switch branches...
Streamlined the commit preview workflow by requiring target paths upfront...
The JSON only stores the commit author. I have no way to know which PR a commit came from, or who opened it, without:
Calling GitHub/GitLab APIs → breaks vendor agnosticism, requires auth tokens
Parsing merge commit messages → fragile, format differs per client and config
Using an LLM → latency and hallucination risk on something that should be deterministic
The release command is pure CLI — the agent is not in the loop at that point.
What I'm considering:
A manual UX where the user optionally enriches the JSON before running release — but I'm not happy with the DX and curious if there's a cleaner pattern I'm missing.
Has anyone solved bullet-level attribution in a changelog tool under these constraints? Any Go library or CLI pattern worth looking at?
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Working on the release command and hitting a design constraint I want community input on.
— what git-courer is:
git-courer is a Go MCP server exposing 22 Git tools so AI agents can operate the full Git workflow without leaving their context. The special part is the commit flow: every commit goes through an AST annotator (go-enry + tree-sitter) that classifies the change deterministically, a local LLM via Ollama that generates the WHY, and a JSON that persists the result:
{
"sha": "a1b2c3",
"message": "feat(mcp): unify branch creation and switch",
"author": "maria",
"date": "2025-06-16"
}
Those JSONs are the source of truth the release command reads to generate changelogs like this:
v2.4.0
This release unifies the MCP API to reduce latency and fixes formatting
issues in GitHub release descriptions.
MCP API Improvements
Unified the branch creation process by allowing a single call to both
create and switch branches...
Streamlined the commit preview workflow by requiring target paths upfront...
What I want to add:
Why it's hard:
The JSON only stores the commit author. I have no way to know which PR a commit came from, or who opened it, without:
Calling GitHub/GitLab APIs → breaks vendor agnosticism, requires auth tokens
Parsing merge commit messages → fragile, format differs per client and config
Using an LLM → latency and hallucination risk on something that should be deterministic
The release command is pure CLI — the agent is not in the loop at that point.
What I'm considering:
A manual UX where the user optionally enriches the JSON before running release — but I'm not happy with the DX and curious if there's a cleaner pattern I'm missing.
Has anyone solved bullet-level attribution in a changelog tool under these constraints? Any Go library or CLI pattern worth looking at?
All reactions