|
| 1 | +# TandemKit — Agent Instructions |
| 2 | + |
| 3 | +This file applies to AI agents working in the TandemKit plugin repo. |
| 4 | + |
| 5 | +## Cutting a release |
| 6 | + |
| 7 | +Releases of TandemKit are **three coupled actions**. Never do any of them in isolation — and in particular, do **not** bump `plugin.json` unless you are cutting a release in the same commit. |
| 8 | + |
| 9 | +A release consists of: |
| 10 | + |
| 11 | +1. **Bump `.claude-plugin/plugin.json` `version`** to the new release number. |
| 12 | +2. **Create a git tag** at that commit, named with the bare version — e.g. `1.0.8`. **No `v` prefix.** All historical tags follow this convention; do not introduce a `v` prefix. |
| 13 | +3. **Create a GitHub release** with the same name and tag (no `v` prefix in either). |
| 14 | + |
| 15 | +If any of these three is missing or inconsistent, the release is broken. Regular commits between releases must leave `plugin.json` untouched. |
| 16 | + |
| 17 | +### Picking the version |
| 18 | + |
| 19 | +Standard SemVer: |
| 20 | + |
| 21 | +- **Patch (X.Y.**Z**)** — bug fixes, doc polish, small DX tweaks that don't change how the plugin is used. |
| 22 | +- **Minor (X.**Y**.0)** — new features, new skills, new strategies, new flags. Existing workflows keep working. |
| 23 | +- **Major (**X**.0.0)** — breaking changes: removed skills, renamed commands, changed mission-folder schema, etc. |
| 24 | + |
| 25 | +### Writing release notes — match the past |
| 26 | + |
| 27 | +Before writing release notes, read the **most recent releases of the same type** to match tone, structure, and depth. `gh release view <tag> -R FlineDev/TandemKit` is the fastest way. |
| 28 | + |
| 29 | +| Releasing | Read these past releases first | |
| 30 | +|---|---| |
| 31 | +| Patch | The last **three** patch releases | |
| 32 | +| Minor | The last **two or three** minor releases | |
| 33 | +| Major | **All** past major releases | |
| 34 | + |
| 35 | +The goal is consistency across the changelog, not novelty. If you have a good reason to break style (e.g. a release that genuinely needs a different format — a security advisory, a big migration guide), that's fine, but the default is to match. |
| 36 | + |
| 37 | +## Markdown style |
| 38 | + |
| 39 | +**Never insert mid-sentence line breaks in Markdown.** One paragraph = one line. Do not hard-wrap prose at 72/80/any column. |
| 40 | + |
| 41 | +Why: mid-sentence line breaks make edits painful (every word change shifts the wrapping), they render inconsistently across viewers, and the diff hides what actually changed. Let the editor or the viewer wrap. |
| 42 | + |
| 43 | +This applies to every `.md` file in the repo — skills, strategies, templates, README, AGENTS.md itself. Code blocks and lists are not prose and follow their own layout; this rule is specifically about paragraph text. |
| 44 | + |
| 45 | +If you see wrapped paragraphs in existing files, unwrap them when you touch that section. |
0 commit comments