Skip to content

chore: agent guide, release notes and pr skill - #115

Merged
arthware-dev merged 4 commits into
mainfrom
chore/famstack-cleanup
Sep 23, 2026
Merged

arthware-dev merged 4 commits into
mainfrom
chore/famstack-cleanup

Conversation

@arthware-dev

Copy link
Copy Markdown
Contributor

Summary

  • docs: AGENTS.md rule 10 and the dev.md code style now say to replace an em dash with a comma, colon, period or parentheses, not a hyphen. .gitignore ignores stray AGENTS.md and AGENT.md files but keeps the root guide, the root CLAUDE.md and the agent stacklet's workspace guide tracked.
  • ci: tools/commit-lint rejects em dashes in commit messages, PR titles and PR descriptions (the hook, --range, --title and --body). En dashes and hyphens still pass.
  • build: script/release-notes generates the release notes with git-cliff (cliff.toml): Action required first with the footer quoted, then the sections from dev.md, grouped by scope label. It runs from any directory and refuses a shallow clone. A unit test keeps cliff.toml in step with commit-lint's types and scopes.
  • chore: a pr skill writes the PR title and description by the rules in dev.md and checks them with commit-lint before showing them.

Merge with rebase, not squash: each commit is its own changelog entry.

The agent guide told agents to replace em dashes with hyphens or
sentence breaks, which is not the rule: a spaced hyphen is the same
dash in another character. `AGENTS.md` rule 10 and the code style
section of `docs/agent/dev.md` now say to use a comma, colon, period
or parentheses.

`.gitignore` meant to keep stray local agent guides out of git but
ignored `AGENT.md` and re-included a root `/AGENT.md` that does not
exist. It now ignores `AGENTS.md` and `AGENT.md` anywhere except the
root guide, the root `CLAUDE.md` and the family agent's workspace
guide under `stacklets/agent/workspace/`, which the agent stacklet
ships.
Commit subjects and bodies are quoted verbatim into the release notes,
which use no em dashes. `tools/commit-lint` now refuses an em dash
(U+2014) in a commit message, a PR title and a PR description, and
says to use a comma, colon, period or parentheses instead. It runs
wherever the attribution check runs: the `commit-msg` hook, the range
CI and the release gate check, and the PR title and body.

An en dash in a range and a plain hyphen still pass. Commits already on
main are not affected: CI only checks the commits of a pull request.
The GitHub release body was written by hand, although `docs/agent/dev.md`
already specifies how commit messages become release notes.
`script/release-notes` now prints them as markdown, with git-cliff run
through `uvx`, so there is nothing to install:

- Action required first: any `!`, `Upgrade:` or `BREAKING CHANGE:`
  commit, whatever its type, with the footer quoted.
- Then Security, Added, Fixed, Performance and Documentation, grouped by
  the rendered scope label. Internal types and merges are left out, and
  a subject that does not parse shows under Unclassified.
- No argument prints what the next tag will ship, `--latest` what the
  newest tag shipped, and a range works too. With nothing to announce it
  says so.

It runs from any directory, so a release workflow outside the repo can
call it. It refuses a shallow clone, where git-cliff silently finds no
commits. `cliff.toml` repeats commit-lint's types and scopes, and a unit
test fails and names the difference when the two disagree. Releases can
still be written by hand; nothing else changes.
Every pull request needs a title that is its changelog line and a
description by the rules in `docs/agent/dev.md`, and agents had to be
told the convention each time. The `pr` skill in `.claude/skills/pr/`
reads the branch, says when it holds two changelog entries and should be
split, writes the title and description, and checks both and the
branch's commits with `tools/commit-lint` before showing them. It asks
for Arthur's go before pushing or opening anything, and never merges.

`.gitignore` re-includes the skill, as it does the LSP plugin, so every
clone gets it.
@arthware-dev arthware-dev changed the title chore: agent guide, em dash check, release notes and pr skill chore: agent guide, release notes and pr skill Sep 23, 2026
@arthware-dev
arthware-dev marked this pull request as ready for review September 23, 2026 11:56
@arthware-dev
arthware-dev merged commit 5f881d0 into main Sep 23, 2026
2 checks passed
@arthware-dev
arthware-dev deleted the chore/famstack-cleanup branch October 7, 2026 11:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants