Skip to content

Commit b7cb23b

Browse files
stbenjamclaude
andauthored
[Auto] Bump version to 0.16.0 (#369)
* [Auto] Bump version to 0.16.0 * Update pinned version references to 0.16.0 in docs Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * skillsaw-release skill: document protected-main PR flow and doc version pins Learned during the 0.16.0 release: main rejects direct pushes so the bump goes through a release/X.Y.Z-bump PR; the bump script also updates action.yml but not the pinned skillsaw versions in README.md, docs/ci.md, and docs/pre-commit.md, which must be updated by hand. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * Move release skill edits to .apm source and recompile The previous commit edited the generated .claude copy directly; the source of truth is .apm/skills/skillsaw-release/SKILL.md. apm compile regenerates the .claude and .agents copies. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
1 parent 21f2090 commit b7cb23b

10 files changed

Lines changed: 134 additions & 44 deletions

File tree

.agents/skills/skillsaw-release/SKILL.md

Lines changed: 42 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.apm/skills/skillsaw-release/SKILL.md

Lines changed: 42 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,14 @@ You are releasing a new version of the **skillsaw** linter.
1616

1717
Before releasing, verify:
1818

19-
1. You are on the `main` branch and it is clean (`git status`)
19+
1. You are on the `main` branch, it is clean (`git status`), and up to
20+
date with `origin/main` (`git pull origin main`)
2021
2. All tests pass: `make test`
2122
3. Formatting is clean: `make lint`
22-
4. Determine what version to release — if no version was specified, the
23-
bump script will auto-increment the patch version
23+
4. Determine what version to release — if no version was specified,
24+
choose based on the commits since the last tag: new features or rules
25+
→ bump minor; fixes only → bump patch (the bump script defaults to
26+
patch when given no argument)
2427

2528
The Makefile automatically creates the `.venv` and installs dependencies.
2629

@@ -33,20 +36,44 @@ Run the bump script:
3336
bash scripts/bump-version.sh [version]
3437
```
3538

36-
This updates both `pyproject.toml` and `src/skillsaw/__init__.py`. If no
37-
version argument is given, it increments the patch version automatically.
39+
This updates `pyproject.toml`, `src/skillsaw/__init__.py`, and
40+
`action.yml` (the action's default skillsaw version). If no version
41+
argument is given, it increments the patch version automatically.
3842

39-
Verify the bump by checking the output and confirming both files were updated.
43+
Then regenerate generated files and catch the pinned version references
44+
the script does NOT update:
4045

41-
## Step 3: Commit and push the version bump
46+
```bash
47+
make update
48+
grep -rn "{old_version}" README.md docs/
49+
```
50+
51+
Update every stale pin by hand — currently `pip install skillsaw==X.Y.Z`
52+
in `README.md` and `docs/ci.md`, and pre-commit `rev: vX.Y.Z` in
53+
`README.md` and `docs/pre-commit.md`. Do NOT touch historical
54+
"Since vX.Y.Z" lines in `docs/rules/`.
4255

43-
First verify remotes with `git remote -v` to confirm `origin` points to
44-
the user's fork (stbenjam/skillsaw). Then:
56+
## Step 3: Open a version-bump PR
57+
58+
`main` is branch-protected — a direct push is rejected, so the bump goes
59+
through a PR. First verify remotes with `git remote -v` (`origin` should
60+
be stbenjam/skillsaw). Then:
4561

4662
```bash
47-
git add pyproject.toml src/skillsaw/__init__.py
63+
git checkout -b release/{version}-bump
64+
git add -A
4865
git commit -m "[Auto] Bump version to {version}"
49-
git push origin main
66+
git push -u origin release/{version}-bump
67+
gh pr create --title "[Auto] Bump version to {version}" --body "Version bump for the {version} release."
68+
```
69+
70+
Wait for all required checks to pass, merge the PR, then update local
71+
main:
72+
73+
```bash
74+
gh pr checks {pr} --watch
75+
gh pr merge {pr} --squash
76+
git checkout main && git pull origin main
5077
```
5178

5279
## Step 4: Generate release notes
@@ -69,8 +96,11 @@ commits, CI-only changes).
6996

7097
## Step 5: Create the GitHub release
7198

99+
Only after the bump PR has merged, so the tag includes the bumped
100+
version files:
101+
72102
```bash
73-
gh release create v{version} --title "v{version}" --notes "{release_notes}"
103+
gh release create v{version} --title "v{version}" --notes "{release_notes}" --target main
74104
```
75105

76106
This triggers the `release.yml` workflow which builds and publishes to PyPI

.claude/skills/skillsaw-release/SKILL.md

Lines changed: 42 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.skillsaw.yaml.example

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# skillsaw configuration
22
# https://github.com/stbenjam/skillsaw
33

4-
version: "0.15.0"
4+
version: "0.16.0"
55

66
rules:
77

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ docker run -v $(pwd):/workspace ghcr.io/stbenjam/skillsaw
173173
# GitLab CI — outputs Code Quality JSON for MR widgets
174174
skillsaw:
175175
script:
176-
- pip install skillsaw==0.15.0
176+
- pip install skillsaw==0.16.0
177177
- skillsaw lint --output gitlab:gl-code-quality-report.json .
178178
artifacts:
179179
reports:
@@ -194,7 +194,7 @@ repository's `.pre-commit-config.yaml`:
194194
```yaml
195195
repos:
196196
- repo: https://github.com/stbenjam/skillsaw
197-
rev: v0.15.0 # or pin a full commit SHA
197+
rev: v0.16.0 # or pin a full commit SHA
198198
hooks:
199199
- id: skillsaw
200200
```

action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ inputs:
1212
version:
1313
description: 'skillsaw version to install (e.g. "0.12.1"). Defaults to the version this action was released with.'
1414
required: false
15-
default: '0.15.0'
15+
default: '0.16.0'
1616
strict:
1717
description: 'Treat warnings as errors'
1818
required: false

docs/ci.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ Quality report, available since skillsaw 0.11.3):
151151
```yaml
152152
skillsaw:
153153
script:
154-
- pip install skillsaw==0.15.0
154+
- pip install skillsaw==0.16.0
155155
- skillsaw lint --output gitlab:gl-code-quality-report.json .
156156
artifacts:
157157
reports:

docs/pre-commit.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Add skillsaw to your repository's `.pre-commit-config.yaml`:
1111
```yaml
1212
repos:
1313
- repo: https://github.com/stbenjam/skillsaw
14-
rev: v0.15.0
14+
rev: v0.16.0
1515
hooks:
1616
- id: skillsaw
1717
```

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "skillsaw"
7-
version = "0.15.0"
7+
version = "0.16.0"
88
description = "A configurable linter for agent skills, plugins, and AI coding assistant context"
99
readme = "README.md"
1010
authors = [

src/skillsaw/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
skillsaw - A configurable linter for agent skills, plugins, and AI coding assistant context
33
"""
44

5-
__version__ = "0.15.0"
5+
__version__ = "0.16.0"
66

77
from .rule import Rule, RuleViolation, Severity, AutofixConfidence, AutofixResult
88
from .context import RepositoryContext

0 commit comments

Comments
 (0)