Skip to content

Document command signature contribution workflow - #398

Draft
warp-factories[bot] wants to merge 1 commit into
mainfrom
factory/gh396-contributing-readme
Draft

Document command signature contribution workflow#398
warp-factories[bot] wants to merge 1 commit into
mainfrom
factory/gh396-contributing-readme

Conversation

@warp-factories

@warp-factories warp-factories Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

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, running script/presubmit, and a pre-PR checklist.

Also corrects an inaccurate note in the existing "Overriding Autogenerated Commands" section: it claimed only template is supported by overrides, but command-signatures/src/overrides.rs (ArgOverrides/apply_overrides) supports both template and generatorName for top-level positional arguments and option arguments. The existing matching rules and the Set-Location example 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 the specs/GH396/** files, which belong to #397.

Scope

README.md only — 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 under command-signatures/json/**; README.md is prose and isn't a Prettier target in this repo.
  • script/presubmit (installed Rust 1.92 with rustfmt/clippy via rustup to run it) — passed all steps:
    • npm run format:check — pass
    • cargo fmt -p warp-command-signatures -p warp-completion-metadata --check — pass
    • cargo clippy -p warp-command-signatures -p warp-completion-metadata --all-targets --all-features -- -D warnings — pass
    • cargo test --verbose — pass (186 tests across the two crates, 0 failed)

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
@warp-factories

warp-factories Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor Author

This PR was generated with Warp.

Comment @warp-factory on this PR to send it follow-up work.

View run View conversation View GitHub Issue

@warp-factories warp-factories Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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-empty template and generatorName are 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, and Set-Location example are preserved intact.
  • Regeneration guidance matches behavior: apply_overrides runs before autogenerate_powershell.rs writes generated JSON, and script/presubmit does not regenerate output.
  • Every documented command and path matches package.json, .prettierignore, script/presubmit, .github/workflows/CI.yml, and rust-toolchain.toml. npm ci, the targeted npm run format -- command-signatures/json/overrides/powershell/Set-Location.json, and npm run format:check were run directly and passed; CI (format/lint/test and CodeQL) is green.
  • Diff is README.md only — no specs/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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Document the command signature contribution workflow

0 participants