Skip to main content

update-command-spec-version

Update the warp-command-signatures dependency hash in warp to the latest commit from warpdotdev/command-signatures:main.

Quellinformationen

Repository
warpdotdev/command-signatures
Letzte Quellaktivität
13. Juli 2026 um 21:26
Erkannte Sprache von SKILL.md
Englisch
Sterne
6
Forks
10

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
8 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
update-command-spec-version
description
Update the warp-command-signatures dependency hash in warp to the latest commit from warpdotdev/command-signatures:main.
# Update Command Spec Version This skill automates updating the `warp-command-signatures` git dependency in `warpdotdev/warp` to the latest commit on `warpdotdev/command-signatures:main`, then opens a PR with a summary of what changed. All scripts live in this skill's `scripts/` directory. ## Prerequisites - `gh` CLI authenticated with access to `warpdotdev/warp` and `warpdotdev/command-signatures` - SSH access to both repos (they use `ssh://git@github.com/warpdotdev/...`) - Python 3 (for `list_merged_prs.py`) - Rust toolchain with `cargo` (for updating `Cargo.lock`) ## Repo locations The scripts resolve both repos dynamically (see `scripts/common.sh`) instead of assuming fixed `~/warp` / `~/command-signatures` paths: - **command-signatures** is inferred from the script location — these scripts live inside the repo, so the enclosing git worktree is always used. - **warp** is taken from the `WARP_DIR` environment variable when set; otherwise it is assumed to be a sibling of the command-signatures repo (same parent directory, named `warp`). Export `WARP_DIR=/path/to/warp` if your checkout lives elsewhere. ## Step-by-step procedure Run the scripts in order. The skill directory is wherever this SKILL.md lives; reference scripts relative to it. ### 1. Ensure repos are available ```bash bash <skill-dir>/scripts/ensure_repos.sh ``` This fetches the command-signatures repo the scripts live in, and fetches (or clones, if missing) the warp repo resolved from `$WARP_DIR` or the sibling directory. See **Repo locations** above. ### 2. Get the current and latest hashes ```bash OLD_HASH=$(bash <skill-dir>/scripts/get_current_hash.sh) NEW_HASH=$(bash <skill-dir>/scripts/get_latest_hash.sh) ``` If `OLD_HASH` equals `NEW_HASH`, tell the user that command-signatures is already up to date and stop. ### 3. List merged PRs ```bash python3 <skill-dir>/scripts/list_merged_prs.py "$OLD_HASH" "$NEW_HASH" ``` This outputs JSON with four keys: `prs` (all PRs), `new_completions`, `bug_fixes`, and `other`. Each entry has `number` and `title`. Review the categorization. The script uses simple heuristics (titles starting with "add" → new completion, titles containing "fix" or "bug" → bug fix). Move any miscategorized entries before composing the description. ### 4. Create the branch and update dependencies ```bash bash <skill-dir>/scripts/update_and_branch.sh "$NEW_HASH" ``` This checks out a new branch `completions-bot/update-command-signatures-<first 8 chars of NEW_HASH>` from `origin/master` in `~/warp`, updates the `rev` in `Cargo.toml`, and syncs `Cargo.lock`. ### 5. Compose the PR description Write a PR description following this structure (match the warp PR template). Save it to a temp file, e.g. `/tmp/completions_pr_body.md`. ``` ## Description Updates `warp-command-signatures` to <NEW_HASH short>. ### Merged PRs - <PR title> (warpdotdev/command-signatures#<number>) - <PR title> (warpdotdev/command-signatures#<number>) - ... ## Changelog Entries for Stable CHANGELOG-IMPROVEMENT: <single line covering all new completions, subcommands, generators, and updates> CHANGELOG-BUG-FIX: <single line covering all bug fixes> ``` Guidelines for changelog entries: - Write **one** `CHANGELOG-IMPROVEMENT` line that summarizes all new completions and improvements. If there are many commands, use only their short names. For example: "Added completions for `aws ec2`, `scp`, `claude`, and `docker-compose` service names." - Write **one** `CHANGELOG-BUG-FIX` line that summarizes all bug fixes. For example: "Fixed npm install short-form command priority and HTML entity rendering in completion specs." - Omit a changelog line entirely if there are no PRs in that category. - If a PR doesn't fit either category, use your judgment — it may belong in the improvement line or may not warrant a changelog entry at all. ### 6. Submit the PR ```bash bash <skill-dir>/scripts/submit_pr.sh "$NEW_HASH" <absolute_path_to_temp_description_file> ``` This commits the changes, pushes the branch, and opens a draft PR titled "[Completions] Bump command-signatures to <first 8 chars of NEW_HASH>" against `master`.
Auf GitHub ansehen