Skip to content
Changelog

What commitclerk shipped.

Every entry in docs/CHANGELOG.md, read at 276ad36 and dated by the commit that wrote it.

Atom feed
  1. A file named only in the diff's prose is described as a file this commit changed

    A note read after the diff names the files the commit changes and those its prose only mentions; on the observed commit, claims of an unstaged file fell from 3 in 100 to 0.

    T66 · f36ef9f
  2. A line the diff deletes is described as work that was done

    A documentation file whose whole change is deletions is named after the diff, and the rules state that a removed line contributes its removal and never its content.

    T65 · 71fb437
  3. The page ends without a pointer to any other tool the same author publishes

    The page carries one house ad slot above the footer, drawn by japode-ads with storage off, a fixed dark theme and commitclerk kept off its own slot.

    T71 · a0c3dd9
  4. One switch hides two very different data flows

    --no-examples refuses past commit message text on its own, so a team can keep the counts-and-shapes fingerprint while --no-house-style still refuses both.

    T61 · baa80bf
  5. A team convention is retyped as flags on every commit

    a .clerk.json at the repository root and a ~/.config/clerk/config.json are read through one precedence ladder, CLI > env > project > user > default, written in a single function.

    T25 · 39fef7c
  6. SECURITY.md does not say what leaves the machine

    The diff and the replayed commit messages are fenced in sentinels named after their own sha256, and SECURITY.md states the threat, the boundary and what fencing does not do.

    T24 · bc09fd5
  7. History cannot say which commits were AI-assisted

    An opt-in assisted_by writes Assisted-by: commitclerk <version> (<model>) after the model has answered, and says (offline, no model) on the path that called none.

    T23 · 5a99346
  8. A hook that calls an API hard-blocks the commit when the network is down

    --offline writes the whole message locally with no key, no network and no provider resolved, taking the type from the file classes and never guessing feat: or fix:.

    T21 · c8f047e
  9. A repository with three sensitive files cannot allow the tool at all

    .clerkignore withholds a matched file's body from every request, leaving its path and line counts, and runs before the secret scan so exclusion is also the way out of a false positive.

    T20 · 227626d
  10. A staged secret leaves the machine before anything has looked at it

    The staged diff is scanned for credential shapes and high-entropy tokens before the first request, refusing with exit 3 and naming the file and line but never the match.

    T19 · c314fb8
  11. A commit larger than any budget is only trimmed, so its tail is never described

    summarizing each oversized file separately and writing the message from the summaries is the one path that scales past a context window.

    T17 · 7e8f060
  12. Intent lives in the author's head and the tool has nowhere to read it

    a one-off --context "<note>" and a standing .clerk/context.md both reach the prompt ahead of the diff, strictly additive and framed as the WHY rather than as work this commit performed.

    T12 · f7a6490
  13. The issue key is in the branch name and never reaches the message

    a config-gated regex over the branch name appends a Refs: PROJ-123 trailer to the finished message, after the model rather than through it, so the key cannot be paraphrased or invented.

    T9 · a1819fb

← commitclerk's product page