Skip to content

Add Spec Trace extension to community catalog#2527

Open
Quratulain-bilal wants to merge 7 commits into
github:mainfrom
Quratulain-bilal:feat/trace-extension
Open

Add Spec Trace extension to community catalog#2527
Quratulain-bilal wants to merge 7 commits into
github:mainfrom
Quratulain-bilal:feat/trace-extension

Conversation

@Quratulain-bilal
Copy link
Copy Markdown
Contributor

@Quratulain-bilal Quratulain-bilal commented May 12, 2026

Adds Spec Trace to the community catalog — a build-time requirement → test traceability extension.

/speckit.trace.build parses spec.md for REQ-XXX tokens and the test suite for the same tokens, then writes
.specify/trace.md containing a coverage matrix. Companion commands:

  • /speckit.trace.gaps — list requirements with zero matching tests
  • /speckit.trace.orphans — list tests that do not anchor to any REQ
  • /speckit.trace.report — human-readable summary

Effect is Read+Write (because trace.build writes .specify/trace.md).

Changes

  • extensions/catalog.community.json — new "trace" entry, alphabetically placed between token-analyzer and
    v-model.
  • docs/community/extensions.md — new row added alphabetically between Spec Sync and Spec Validate. The public
    community extensions table lives here per the repo convention documented in
    .github/skills/add-community-extension/SKILL.md (lines 104-108). README.md is intentionally not touched — the old table
    there has been migrated.

Extension repo

Verification

  • python -m json.tool extensions/catalog.community.json passes — valid JSON.
  • Row position confirmed alphabetical against neighbours in both catalog.community.json and
    docs/community/extensions.md.
  • Extension installs cleanly via specify extension add trace --from <release-url>; all four commands execute without
    errors against a project with spec.md containing REQ-XXX tokens.
  • Effect column matches actual behavior (Read+Write, since trace.build writes .specify/trace.md).

Review feedback addressed

All Copilot review notes are addressed in the commit history on this branch:

  • Read-only vs Read+Write (Copilot comments on README.md:276 and README.md:278) — fixed in 0679e73 (catalog
    Effect column flipped to Read+Write).
  • Missing row in docs/community/extensions.md (Copilot comment on extensions/catalog.community.json:2952) — fixed
    in 0a5482b (row added alphabetically between Spec Sync and Spec Validate).
  • PR description pointed at README instead of docs/ (Copilot comment on docs/community/extensions.md:104) — fixed
    in this body update (the "Changes" section now correctly names docs/community/extensions.md and explicitly notes README
    is intentionally untouched).

For future submissions I will use the Extension Submission issue template up-front, per @mnriem's note on the initial
review.

Copy link
Copy Markdown
Collaborator

@mnriem mnriem left a comment

Choose a reason for hiding this comment

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

Please resolve conflicts

Note going forward adding/updating an extension please create an issue using the 'Extension Submission' template.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds the Spec Trace community extension to Spec Kit’s discovery surfaces (community catalog JSON + README table), making it easier for users to find and reference the extension for requirement→test traceability reporting.

Changes:

  • Added a new trace entry to extensions/catalog.community.json (including metadata, tags, and download URL) and bumped the catalog updated_at.
  • Added a new “Spec Trace” row to the README Community Extensions table in alphabetical order.
Show a summary per file
File Description
README.md Adds the “Spec Trace” entry to the Community Extensions table.
extensions/catalog.community.json Adds the trace extension metadata and updates updated_at.

Copilot's findings

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

  • Files reviewed: 2/2 changed files
  • Comments generated: 1

Comment thread README.md Outdated
@mnriem
Copy link
Copy Markdown
Collaborator

mnriem commented May 12, 2026

Please address Copilot feedback

@Quratulain-bilal
Copy link
Copy Markdown
Contributor Author

Quratulain-bilal commented May 13, 2026

Conflicts resolved in 71300c4 clean diff now (README +1, catalog +32).

Thank you for the heads-up about the Extension Submission template I'll absolutely follow that process for all future extensions and updates going forward. Sorry for the extra work this caused; I appreciate the patience .

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Copilot's findings

  • Files reviewed: 2/2 changed files
  • Comments generated: 1

Comment thread README.md Outdated
@mnriem
Copy link
Copy Markdown
Collaborator

mnriem commented May 13, 2026

Please address Copilot feedback

The /speckit.trace.build command writes .specify/trace.md, so the
catalog row's Effect column was wrong. Aligning with the extension's
documented behavior.
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Copilot's findings

  • Files reviewed: 2/2 changed files
  • Comments generated: 0 new

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Copilot's findings

  • Files reviewed: 1/1 changed files
  • Comments generated: 1

Comment thread extensions/catalog.community.json
@mnriem
Copy link
Copy Markdown
Collaborator

mnriem commented May 14, 2026

Please address Copilot feedback. Note that huge table of community extensions in the README.md has moved to docs/community/extensions.md hence why it is asking you to list it there

The public community extensions table moved from README.md to
docs/community/extensions.md per the repo convention documented in
.github/skills/add-community-extension/SKILL.md. Adding the Spec Trace
row alphabetically between Spec Sync and Spec Validate so the doc stays
in sync with the catalog entry already added.
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Copilot's findings

  • Files reviewed: 2/2 changed files
  • Comments generated: 1

Comment thread docs/community/extensions.md
@mnriem
Copy link
Copy Markdown
Collaborator

mnriem commented May 15, 2026

Please address Copilot feedback

# Conflicts:
#	extensions/catalog.community.json
@Quratulain-bilal
Copy link
Copy Markdown
Contributor Author

@mnriem all three Copilot notes are addressed on the current head (0a5482b):

  • Effect column corrected to Read+Write in 0679e73 (catalog) — matches trace.build writing .specify/trace.md.
  • docs/community/extensions.md row added in 0a5482b, alphabetically between Spec Sync and Spec Validate, so the public
    table stays in sync with the catalog JSON.
  • PR description updated above to point at docs/community/extensions.md instead of the migrated README table.

Apologies for missing the Extension Submission template on the initial submission I'll use it for all future
catalog entries.

Ready for another pass whenever you have a moment 🙏

@mnriem mnriem requested a review from Copilot June 3, 2026 13:50
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Copilot's findings

  • Files reviewed: 2/2 changed files
  • Comments generated: 1

Comment thread extensions/catalog.community.json Outdated
Copilot's review on this PR noted that the Spec Trace entry was the
only one in catalog.community.json using JSON Unicode escape sequences
(\u2192 for the arrow, \u2014 for the em-dash). Every other entry
that uses those characters writes them as literal multi-byte UTF-8
(18 entries with literal em-dash, 5 with literal arrow), so the
escaped form made this row harder to read and review in plain text
and stood out as the only inconsistency in the file.

Replacing the escapes with the literal characters keeps the entry
visually consistent with the rest of the catalog and decodes to the
same string at runtime, so no consumer changes.
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.

3 participants