Skip to content

Add Spec Switcher extension to community catalog - #3935

Open
MannXo wants to merge 1 commit into
github:mainfrom
MannXo:add-switch-extension
Open

Add Spec Switcher extension to community catalog#3935
MannXo wants to merge 1 commit into
github:mainfrom
MannXo:add-switch-extension

Conversation

@MannXo

@MannXo MannXo commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

Adds the switch extension (Spec Switcher) to the community catalog, per the submission in #3932.

Validation

Check Result
Repository exists and is public wagner-sousa/spec-kit-switch, MIT
extension.yml manifest present Yes, schema_version: "1.0"
README.md present Yes
LICENSE file present Yes, MIT
GitHub release matching the version v1.0.0, tagged 2026-08-01
Download URL accessible 200, archive/refs/tags/v1.0.0.zip, 9 files
Extension ID ^[a-z][a-z0-9-]*$ switch
Version is semver 1.0.0
Submission checklists complete Yes
ID unused in either catalog Yes, no collision with the 4 built-ins or the 144 community entries

The manifest inside the v1.0.0 archive declares version: 1.0.0, id: switch, speckit_version: ">=0.4.0" and two commands with no hooks, which is what the catalog entry records.

One thing worth flagging rather than silently resolving: the repository's default branch is already at 1.1.0 in both extension.yml and the CHANGELOG, but no v1.1.0 release or tag exists. This entry follows the released v1.0.0 artifact, matching the submission. If @wagner-sousa cuts a v1.1.0 release, that is a follow-up update issue.

category is process and effect is read-write, since switch.set runs git checkout and, with --local-only, writes .specify/feature.json. That matches how the comparable worktree extensions are classified.

Testing

$ python3 -c "import json; json.load(open('extensions/catalog.community.json')); print('Valid JSON')"
Valid JSON

$ uv run python -m pytest tests/ -q
6212 passed, 176 skipped, 124 warnings in 89.85s

The CLI reads the catalog over HTTP from main, so the new entry cannot resolve locally until this merges. Serving the edited file and pointing SPECKIT_CATALOG_URL at it confirms the entry parses and renders end to end:

$ SPECKIT_CATALOG_URL="http://localhost:8931/catalog.community.json" specify extension info switch
Spec Switcher (v1.0.0)
ID: switch
Author: Wagner Sousa
License: MIT
Category: process
Effect: read-write
Requirements:
  • Spec Kit: >=0.4.0
Provides:
  • Commands: 2
Tags: navigation, workflow, specs, sdd, git

I read the two command files and the README in the released archive. They are prompt markdown with no scripts; switch.set blocks on a dirty working tree and does not write feature.json outside --local-only. Per the note at the top of the community extensions page, this is a completeness and formatting check, not an endorsement or an audit of the extension code.

Closes #3932

cc @wagner-sousa


AI disclosure, per CONTRIBUTING.md: this PR was written with Claude Code. The catalog entry, docs row and PR text were AI-generated; the validation above was run against the live repository and release, and I reviewed the results.

Add switch extension submitted by @wagner-sousa to:
- extensions/catalog.community.json (alphabetical order)
- docs/community/extensions.md community extensions table

Closes github#3932
@MannXo
MannXo requested a review from mnriem as a code owner August 1, 2026 12:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Extension]: Add spec-kit-switch

1 participant