Document command signature contribution workflow - #398
Draft
warp-factories[bot] wants to merge 1 commit into
Draft
Document command signature contribution workflow#398warp-factories[bot] wants to merge 1 commit into
warp-factories[bot] wants to merge 1 commit into
Conversation
Adds a 'Contributing command signatures' section to README.md covering how to choose between a handwritten signature, a PowerShell-generated signature, and a persistent override; the format/regenerate/validate command sequence; and a pre-PR checklist. Also corrects the override docs, which claimed only `template` is supported, when command-signatures/src/overrides.rs supports both `template` and `generatorName`. Implements the workflow specified in #397. Closes #396
Contributor
Author
|
This PR was generated with Warp. Comment |
Contributor
Author
There was a problem hiding this comment.
Verdict: accepted — no blocking findings, no nits.
Verified against the tree rather than the description:
- The corrected override sentence matches
command-signatures/src/overrides.rs: non-emptytemplateandgeneratorNameare applied to command-level positional args by index and to option args by option name plus argument index. The recursive-merge caveat, index/name matching explanation, andSet-Locationexample are preserved intact. - Regeneration guidance matches behavior:
apply_overridesruns beforeautogenerate_powershell.rswrites generated JSON, andscript/presubmitdoes not regenerate output. - Every documented command and path matches
package.json,.prettierignore,script/presubmit,.github/workflows/CI.yml, andrust-toolchain.toml.npm ci, the targetednpm run format -- command-signatures/json/overrides/powershell/Set-Location.json, andnpm run format:checkwere run directly and passed; CI (format/lint/test and CodeQL) is green. - Diff is
README.mdonly — nospecs/GH396/**, signature JSON, generator, script, or CI files. - Security: none applicable. A documentation-only diff that adds no input, execution path, dependency, or secrets handling.
The section is concise, correctly placed before License, satisfies the acceptance criteria in #396, and stays independent of the agent-only guidance in .agents/skills/add-command-spec/SKILL.md rather than duplicating it.
Responding as Warp for OSS: Open session · View run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Summary
Adds a "Contributing command signatures" section to
README.md, giving contributors an end-to-end workflow for changing a command signature: choosing the right file (handwritten JSON, PowerShell-generated JSON, or a persistent override), formatting and regenerating derived output, runningscript/presubmit, and a pre-PR checklist.Also corrects an inaccurate note in the existing "Overriding Autogenerated Commands" section: it claimed only
templateis supported by overrides, butcommand-signatures/src/overrides.rs(ArgOverrides/apply_overrides) supports bothtemplateandgeneratorNamefor top-level positional arguments and option arguments. The existing matching rules and theSet-Locationexample are preserved unchanged.Closes #396. Implements the workflow specified in the approved spec, #397 (
specs/GH396/product.md,specs/GH396/tech.md); this PR intentionally does not touch thespecs/GH396/**files, which belong to #397.Scope
README.mdonly — no signature data, generator code, tooling, CI, or.agents/skills/**changes, per the issue's acceptance criteria and the spec's non-goals.Validation
Run from a fresh worktree off
origin/main:npm ci— installed Node dependencies.npm run format:check— passed (All matched files use Prettier code style!). This only checks JSON undercommand-signatures/json/**;README.mdis prose and isn't a Prettier target in this repo.script/presubmit(installed Rust 1.92 withrustfmt/clippyviarustupto run it) — passed all steps:npm run format:check— passcargo fmt -p warp-command-signatures -p warp-completion-metadata --check— passcargo clippy -p warp-command-signatures -p warp-completion-metadata --all-targets --all-features -- -D warnings— passcargo test --verbose— pass (186 tests across the two crates, 0 failed)