@gallopsystems/agent-skills 1.23.0 → 1.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -30,7 +30,34 @@ When working in a descendant and a fix belongs in the template too: fix the symp
|
|
|
30
30
|
|
|
31
31
|
## Releasing a Template Version
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
First determine **how the template releases** — it changes everything below:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
ls release-please-config.json .release-please-manifest.json 2>/dev/null # present ⇒ release-please
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### If the template uses release-please (e.g. nuxt-copier-template)
|
|
40
|
+
|
|
41
|
+
**You never `git tag` by hand.** Merging to `main` runs release-please, which opens a "release PR"; merging *that* cuts the tag + GitHub Release. The **Conventional-Commits type of your merged PR governs the entire outcome** — both the version bump and whether a release happens at all:
|
|
42
|
+
|
|
43
|
+
- `feat:` → **minor** bump. `fix:` → **patch**. `feat!:` / `BREAKING CHANGE:` → **major**.
|
|
44
|
+
- `chore:`, `docs:`, `refactor:`, `style:`, `test:`, `ci:`, `build:` → **no version bump, no release**. The change lands on `main` but sits in the (often hidden) "Miscellaneous" changelog bucket, **invisible to descendants**, until some later `feat`/`fix` rides out and drags it along.
|
|
45
|
+
|
|
46
|
+
**The trap:** a template change that *should* propagate — a new alias/convention, a raised dependency floor, anything descendants must adopt — is a `feat` (or `fix`), **not** a `chore`. Type it `chore` and it silently never releases; descendants track git *tags*, so no tag = no `copier update` PR. When in doubt about whether descendants need it, it's a `feat`.
|
|
47
|
+
|
|
48
|
+
**If you already merged it as the wrong type** (non-releasing), don't wait — force a release with an empty commit carrying a `Release-As` footer, via a normal PR (squash-merge it):
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
git commit --allow-empty -m "chore: release template <X.Y.Z>
|
|
52
|
+
|
|
53
|
+
<why this is being force-released>
|
|
54
|
+
|
|
55
|
+
Release-As: <X.Y.Z>"
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
release-please honors `Release-As:` regardless of commit types and opens the release PR at that exact version. Note: **release PRs get no CI** (the meta-test workflow doesn't run on `release-please--branches--*`), so if branch protection requires a status check, the release PR stays `BLOCKED` under a normal merge and an admin/maintainer must merge it — that's the expected path for release PRs here, not a failure.
|
|
59
|
+
|
|
60
|
+
### If the template has no release automation (manual tags)
|
|
34
61
|
|
|
35
62
|
```bash
|
|
36
63
|
git checkout main && git pull --ff-only
|