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
@cla-bot cla-bot Bot added the cla-signed label Sep 4, 2026
@warp-factories warp-factories Bot added the factory:warp-for-oss Owned by the Warp for OSS factory label Sep 4, 2026
@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

Labels

cla-signed factory:warp-for-oss Owned by the Warp for OSS factory

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Document the command signature contribution workflow

0 participants