bump-version
Skill839 starsChanged 51 days agoApache-2.0View on GitHub
Bump the AIPerf package version (e.g. 0.10.0 -> 0.11.0) across pyproject.toml, the mock server, and the version strings shown in docs, then open a PR to main
- Commits and pushes
We split this skill into the rules it gives an agent
9 rules. 0 are common, 3 are distinctive, and 6 are very specific to this project.
0
Common
Most of the 37 edited versions we read keep these.
3
Distinctive
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- could be automatic: a setting could enforce it
- Distinctive: line 32
Only proceed if the working tree is clean (ignore untracked files that are not part of the bump).
- Very specific: line 36
Read the version field under [project] in pyproject.toml.
- Very specific: line 40
Use the <username>/chore-update-version-<NEW_VERSION> convention, e.g.
- Distinctive: line 66
If the grep surfaces a NEW occurrence not in this list, update it too and add it to this skill's canonical list in the same PR.
- Very specific: line 149
If gh is unavailable, print the manual compare URL: …
- Very specific: line 156
NEVER manually add a Signed-off-by line — git commit -s adds it.
- Very specific: line 157
NEVER use --no-verify or git commit -n.
- Distinctive: line 158
NEVER git add -A / git add ..
- Very specific: line 160
NEVER hand-edit uv.lock (regenerate it with uv lock) or touch non-AIPerf version-like strings.
“Common” is measured: kept by at least 6 in 10 of the 37 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Bump AIPerf Version
Bump the AIPerf package version everywhere it is hard-coded, then open a PR to main.
The runtime version is read dynamically from package metadata
(importlib.metadata.version("aiperf") in src/aiperf/__init__.py), so
pyproject.toml is the single source of truth. Every other occurrence is a
copy in a doc example or in the mock-server package and must be updated by hand
to stay in sync.
Inputs
- Target version (e.g.
0.11.0). If the user did not provide one, read the current version frompyproject.tomland useAskUserQuestionto confirm the target (default: next minor).
Steps
- Confirm you are starting from an up-to-date
main:
Only proceed if the working tree is clean (ignore untracked files that are not part of the bump).git fetch origin git checkout main git status - Find the current version:
Read the
versionfield under[project]inpyproject.toml. Call thisOLD_VERSIONand the requested versionNEW_VERSION. - Create the branch:
Use the
<username>/chore-update-version-<NEW_VERSION>convention, e.g.git checkout -b harrison/chore-update-version-0.11.0 Find every hard-coded occurrence of
OLD_VERSION:grep -rn --include="*.py" --include="*.toml" --include="*.md" \ "<OLD_VERSION>" . | grep -v "/.git/"Review each hit. Update only strings that mean "the AIPerf version". Do NOT touch unrelated version-like strings (dependency pins,
schema_version, sample UUIDs, etc.).uv.lockis deliberately outside this grep: other packages may share the version string, and step 5 regenerates it instead.The canonical set of files (as of 0.10.0 -> 0.11.0) is:
pyproject.toml—version = "..."under[project]tests/aiperf_mock_server/pyproject.toml—version = "..."under[project]docs/plugins/creating-your-first-plugin.md— theVersion: ...line in thepip showexample outputdocs/server-metrics/server-metrics-json-schema.md— every"aiperf_version": "..."JSON example and the(e.g., "...")description (3 occurrences)uv.lock— the root[[package]] name = "aiperf"entry, regenerated byuv lockin step 5 (never hand-edited)
If the grep surfaces a NEW occurrence not in this list, update it too and add it to this skill's canonical list in the same PR.
- Regenerate
uv.lock:uv lockuv.lockis tracked and records the rootaiperfversion, so it must move withpyproject.toml. The PR checksuv sync --lockedinrun-unit-tests.ymlandhelm-chart.ymlfail on a stale lock, and after merge the nightly'suv lock --checkdoes too. Tests that need the version importaiperf.__version__; leave those alone. - Verify nothing stale remains:
This must return no matches. Then confirmgrep -rn "<OLD_VERSION>" pyproject.toml tests/aiperf_mock_server/pyproject.toml \ docs/plugins/creating-your-first-plugin.md \ docs/server-metrics/server-metrics-json-schema.mdNEW_VERSIONis present in each, and confirm the lockfile agrees:
Expect the rootuv lock --check git diff uv.lockaiperfversion =line to change.uv lockmay also refresh metadata of already-locked packages (for example add ansdist =line published after the lock was generated); that is fine to commit. Investigate if any other package'sversion =line changes. - Run pre-commit on the staged files:
Fix anything it flags before committing.pre-commit run - Commit the version bump (commit 1):
Stage only the version files explicitly (never
git add -A— the working tree may hold unrelated untracked files):git add pyproject.toml uv.lock tests/aiperf_mock_server/pyproject.toml \ docs/plugins/creating-your-first-plugin.md \ docs/server-metrics/server-metrics-json-schema.md git commit -s -F - <<'EOF' chore: bump aiperf version to <NEW_VERSION> Updates the package and mock-server pyproject.toml versions, regenerates uv.lock, and refreshes the version strings shown in the plugin tutorial example and the server-metrics JSON schema example output. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> EOF - Push the branch:
git push -u origin HEAD - Open the PR to
main:
Ifgh pr create \ --repo ai-dynamo/aiperf \ --base main \ --head harrison/chore-update-version-<NEW_VERSION> \ --title "chore: bump aiperf version to <NEW_VERSION>" \ --body "$(cat <<'EOF' ## Summary - Bump AIPerf package version from `<OLD_VERSION>` to `<NEW_VERSION>`. - Updates `pyproject.toml`, regenerates `uv.lock`, and updates the mock-server `pyproject.toml` and the version strings in the plugin tutorial and server-metrics JSON schema docs. The runtime version is read dynamically from package metadata, so `pyproject.toml` is the source of truth; the other files are doc/example copies. ## Test plan - `grep` confirms no `<OLD_VERSION>` strings remain in the bumped files. - `uv lock --check` passes. - Pre-commit hooks pass. EOF )"ghis unavailable, print the manual compare URL:https://github.com/ai-dynamo/aiperf/compare/main...harrison/chore-update-version-<NEW_VERSION> - Print a summary with the old/new version and the PR link.
Rules
- NEVER manually add a
Signed-off-byline —git commit -sadds it. - NEVER use
--no-verifyorgit commit -n. - NEVER
git add -A/git add .; stage the version files by explicit path so unrelated untracked files stay out of the commit. - NEVER hand-edit
uv.lock(regenerate it withuv lock) or touch non-AIPerf version-like strings. - Branch from an up-to-date
main; one PR = one concern (just the bump).
Other versions40 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 40
- iOfficeAI/AionUi★ 34ksame name
- Skyvern-AI/skyvern★ 23ksame name
- humanlayer/humanlayer★ 13ksame name
- modelcontextprotocol/csharp-sdk★ 4.6ksame name
- cuthbertLab/music21★ 2.6ksame name
- wandb/weave★ 1.1ksame name
- wesbos/JSON-Alexander★ 944same name
- opentabs-dev/opentabs★ 926same name
- termio-sh/termio★ 751same name
- use-novamira/novamira★ 751same name
30 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use oss-pr, pr-automation and 7 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
CES-LtdSkilloss-pr
Use when creating a pull request, after committing changes, or when user invokes /oss-pr. Covers branch management, quality checks, commit, push, and PR creation.
Also in 3 projects that use this
CES-LtdSkillpr-automation
PR Automation Orchestrator: poll open PRs, check CI, run review, fix, and merge eligible PRs. Use when: (1) Invoked by daemon via scripts/pr-automation.sh, (2) User says "/pr-automation".
Also in 3 projects that use this
volovelySkillpr-fix
This skill should be used when the user asks to "fix PR comments", "address PR feedback", "resolve PR comments", provides a GitHub PR URL with intent to fix, or says "pr-fix". It reads all review comments on a PR, decides which need code fixes vs. replies, makes the fixes, and posts replies — all with explicit user approval before any GitHub action.
Also in 3 projects that use this
lbednerSkilli18n
Use when a code or template change introduces a new translation message key, in either the framework CLI (aegis/i18n/locales/) or a generated project's CLI (the app/i18n/locales/ template tree). Covers adding the real English string, stubbing the same key into every other locale for parity, and the separate translation PR that later replaces placeholders with reviewed native text.
Also in 4 projects that use this
AnthropicSkillarchitecture
Create or evaluate an architecture decision record (ADR). Use when choosing between technologies (e.g., Kafka vs SQS), documenting a design decision with trade-offs and consequences, reviewing a system design proposal, or designing a new component from requirements and constraints.
Also in 4 projects that use this
NVIDIASkilltesting
Run Python and Rust tests for physicsnemo-curator using uv + pytest with coverage reporting via pytest-cov, and cargo-nextest for Rust tests. Includes benchmark workflows with pytest-benchmark and criterion.
Also in 5 projects that use this
- +2 more from CES-Ltd
In this repository13 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- .cursor/rules/python.mdcCursor rule
- aiperf-code-reviewSkill
- aiperf-kube-runSkill
- aiperf-kube-setupSkill
- aiperf-kube-sweepSkill
- aiperf-kube-triageSkill
- aiperf-llm-ergonomics-reviewSkill
- cherry-pickSkill
- docs-to-fernSkill
- linear-issueSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

