Commits that sort themselves
A plain git commit opens the composer: gitmoji, scope, title, why. With your opt-in, Jev suggests the gitmoji in about 100 ms and flags changes that may break.



Release notes on autopilot
Chamoji turns the commits your developers already write into release notes, workstreams and project memory. The CLI is free and open source; Cloud shares it with everyone who never opens git.
$ npm i -g @chamoji/cliNode.js 22 or newer. Or run it once with npx @chamoji/cli changelog.
What your team wrote
What everyone reads
Added
Fixed
Changed
Documentation
Dependencies
Miscellaneous
a5c0430The free CLI
One npm install, no account. Jev's AI joins in only when you switch it on.
A plain git commit opens the composer: gitmoji, scope, title, why. With your opt-in, Jev suggests the gitmoji in about 100 ms and flags changes that may break.
โจ makes a minor, ๐ a patch, ๐ฅ a major.
zsh, bash, fish, PowerShell, husky and lefthook.
AI is opt-in. Secrets files are never sent, not even their names.
Gitmoji, Conventional or plain messages.
Version, changelog, commit, tag and GitHub release. If anything fails before the tag, your repo goes back to where it was.
Each pull request shows the changelog lines it adds and the version it makes. Each tag gets its GitHub Release notes.
Coming from gitmoji-cli?Run chamoji hook install. It replaces gitmoji-cli's hook, leaves any other hook alone, and your settings carry over.
5be2d71Monorepos
Run chamoji setup once and it writes the config. Then each app gets its own version, tag and changelog, and a change to a shared package rides along into the next release of every app that uses it.
1Once: chamoji setup
chamoji setup
โฆ
Found 2 apps (web, mobile) and 1 internal package. web and mobile get their own versions. Shared changes ride along with each app's own releases.
Past releases under these answers
The next release from here would be:
Enter save ยท c change something ยท Esc cancel
โ memory sharing is off in this clone
Share memory through origin? (Y/n) yes
โ Claude Code isn't connected here yet
Connect Claude Code here? (Y/n) yes
โ the commit composer hook isn't installed in this clone; chamoji setup hook --yes installs it
Install the commit composer hook? (y/N) no
Wrote chamoji.config.json. Review it and commit it; git restore chamoji.config.json undoes this.
It writes the release section of chamoji.config.json and never commits: review it and commit it.
Measured on one of our own app monorepos
Each step still runs on its own: chamoji init, chamoji init --agents and chamoji hook install. chamoji setup --yes takes every recommended answer, for CI and agents, and never installs the hook.
2Every release: chamoji release
Your files
Commits
Next release
apps/webReleases nextweb/v0.2.0apps/mobileReleases nextmobile/v1.0.1packages/supabaseNever released on its ownapps/web/CHANGELOG.md
Added
Security
packages/supabaseapps/mobile/CHANGELOG.md
Fixed
Security
packages/supabasechamoji release: each app gets its own version, tag and changelog. The shared package gets none.
Version apps on their ownRun chamoji setup with chamoji 0.14.0 or newer. It writes the release section of chamoji.config.json and never commits. Without that section, the repo stays one package with one version. Read the setup docs
b2fd382Workstreams
Name a piece of work once. The release notes show it as one Highlight, with its commits folded underneath.
25edfe7Project memory
The reasoning behind a commit stays in git, long after the branch is gone, and one command away.
Search every commit and remembered workstream by what they say. It needs no network and no key.
Memory lives in git, on its own ref. Two clones that remembered different work keep both.
With chamoji init --agents, Claude Code is sent back to add a card when a commit has none. Any MCP agent can read memory through three read-only tools.
9e34f66Ship
Cut the release from your terminal, your CI or your coding agent. Then put it where people already look.
$ npx skills add HeavenlyEntity/chamoji-ai --skill chamoji-releaseThe chamoji-release skill teaches Claude Code, Codex, Cursor and other agents to pick the version, write the notes and tag the release. It shows you the notes and asks before it pushes.
# .github/workflows/card.yml
- uses: HeavenlyEntity/chamoji-ai@v0.14.0
with:
mode: cardThe Action keeps an image of your latest release and a few stats about it, on every tag and once a day. Paste it into your readme once.
Cloud
Developers keep writing commits as they do today. Product, support and new teammates get the why.
A public changelog page for each project, a plain-language version for customers next to the engineering one, and Slack and email digests. Written from git, not by hand.
Project memory in a browser, for people who never clone the repo. The why behind every change survives handoffs and people leaving, and new hires get an onboarding pack for each workstream.
Every pull request gets a packet: what the work is for, what to read first, and which changes need human eyes. The AI points the way; people make the call.
Pricing
The CLI never costs anything. Cloud is priced per repository, not per seat, so adding teammates is free.
Free
Forever. MIT licensed.
TBA
Priced per repository. Unlimited teammates.
Let's talk
For many repositories and teams.
chamoji is a free, open-source command-line tool that turns git history into changelogs, semantic versions and releases. It reads gitmoji, Conventional Commits and plain commit messages, writes the CHANGELOG.md section, bumps the version, and makes the release commit and tag. It also groups commits into workstreams and keeps the reasons behind changes as project memory in git.
Start with the free CLI today, and join the waitlist for Cloud.