You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: improve catalog submission templates and CODEOWNERS
Simplify the community catalog submission flow to use issue templates
with manual maintainer review (no automation scripts or workflows).
- Add explicit CODEOWNERS entries for catalog.community.json files so
submissions are automatically assigned to a maintainer for review
- Improve preset submission template:
- Add 'Required Extensions' optional field
- Make 'Templates Provided' optional (supports command-only presets)
- Add 'Number of Scripts' optional field
The existing extension and preset issue templates already collect all
required catalog metadata. Maintainers review submissions and manually
update the catalog JSON files.
Closes#2400
Copy file name to clipboardExpand all lines: README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -174,7 +174,7 @@ Want to see Spec Kit in action? Watch our [video overview](https://www.youtube.c
174
174
## 🧩 Community Extensions
175
175
176
176
> [!NOTE]
177
-
> Community extensions are independently created and maintained by their respective authors. GitHub and the Spec Kit maintainers may review pull requests that add entries to the community catalog for formatting, catalog structure, or policy compliance, but they do **not review, audit, endorse, or support the extension code itself**. The Community Extensions website is also a third-party resource. Review extension source code before installation and use at your own discretion.
177
+
> Community extensions are independently created and maintained by their respective authors. Maintainers only verify that catalog entries are complete and correctly formatted — they do **not review, audit, endorse, or support the extension code itself**. The Community Extensions website is also a third-party resource. Review extension source code before installation and use at your own discretion.
178
178
179
179
🔍 **Browse and search community extensions on the [Community Extensions website](https://speckit-community.github.io/extensions/).**
Copy file name to clipboardExpand all lines: docs/community/presets.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
# Community Presets
2
2
3
3
> [!NOTE]
4
-
> Community presets are independently created and maintained by their respective authors. GitHub and the Spec Kit maintainers may review pull requests that add entries to the community catalog for formatting, catalog structure, or policy compliance, but they do **not review, audit, endorse, or support the preset code itself**. Review preset source code before installation and use at your own discretion.
4
+
> Community presets are independently created and maintained by their respective authors. Maintainers only verify that catalog entries are complete and correctly formatted — they do **not review, audit, endorse, or support the preset code itself**. Review preset source code before installation and use at your own discretion.
5
5
6
6
The following community-contributed presets customize how Spec Kit behaves — overriding templates, commands, and terminology without changing any tooling. Presets are available in [`catalog.community.json`](https://github.com/github/spec-kit/blob/main/presets/catalog.community.json):
Spec Kit uses a dual-catalog system. For details about how catalogs work, see the main [Extensions README](README.md#extension-catalogs).
135
135
136
-
**For extension publishing**: All community extensions should be added to `catalog.community.json`. Users browse this catalog and copy extensions they trust into their own `catalog.json`.
136
+
**For extension publishing**: All community extensions are listed in `extensions/catalog.community.json`. Users browse this catalog and copy extensions they trust into their own `catalog.json`.
- Set `downloads: 0` and `stars: 0` (auto-updated later)
204
-
- Use current timestamp for `created_at` and `updated_at`
205
-
- Update the top-level `updated_at` to current time
140
+
To submit your extension to the community catalog, file a new issue using the **[Extension Submission](https://github.com/github/spec-kit/issues/new?template=extension_submission.yml)** template. The template collects all required metadata, including:
206
141
207
-
### 3. Update Community Extensions Table
142
+
- Extension ID, name, and version
143
+
- Description, author, and license
144
+
- Repository, download URL, and documentation links
145
+
- Required Spec Kit version and any tool dependencies
146
+
- Number of commands and hooks
147
+
- Tags and key features
148
+
- Testing confirmation
208
149
209
-
Add your extension to the Community Extensions table in the project root `README.md`:
150
+
> [!IMPORTANT]
151
+
> Do **not** open a pull request directly to edit `extensions/catalog.community.json`. All community extension submissions must go through the issue template so a maintainer can review the entry and update the catalog.
210
152
211
-
```markdown
212
-
| Your Extension Name | Brief description of what it does | `<category>` | <effect> | [repo-name](https://github.com/your-org/spec-kit-your-extension) |
213
-
```
214
-
215
-
**(Table) Category** — pick the one that best fits your extension:
216
-
217
-
-`docs` — reads, validates, or generates spec artifacts
218
-
-`code` — reviews, validates, or modifies source code
219
-
-`process` — orchestrates workflow across phases
220
-
-`integration` — syncs with external platforms
221
-
-`visibility` — reports on project health or progress
222
-
223
-
**Effect** — choose one:
224
-
225
-
- Read-only — produces reports without modifying files
226
-
- Read+Write — modifies files, creates artifacts, or updates specs
227
-
228
-
Insert your extension in alphabetical order in the table.
153
+
### What Happens After You Submit
229
154
230
-
### 4. Submit Pull Request
155
+
1. Your issue is automatically labeled and assigned to a maintainer for review
156
+
2. A maintainer verifies that the catalog entry is complete and correctly formatted
157
+
3. Once approved, the maintainer adds your extension to `extensions/catalog.community.json` and the Community Extensions table in the README
158
+
4. Your extension becomes discoverable via `specify extension search`
-[x] Added to Community Extensions table in README.md
277
-
278
-
### Testing
279
-
Tested on:
280
-
- macOS 13.0+ with spec-kit 0.1.0
281
-
- Project: [Your test project]
282
-
283
-
### Additional Notes
284
-
Any additional context or notes for reviewers.
285
-
```
166
+
> [!NOTE]
167
+
> Maintainers do **not** review, audit, or test the extension code itself.
286
168
287
-
---
288
-
289
-
## Verification Process
290
-
291
-
### What Happens After Submission
292
-
293
-
1.**Automated Checks** (if available):
294
-
- Manifest validation
295
-
- Download URL accessibility
296
-
- Repository existence
297
-
- License file presence
298
-
299
-
2.**Manual Review**:
300
-
- Code quality review
301
-
- Security audit
302
-
- Functionality testing
303
-
- Documentation review
304
-
305
-
3.**Verification**:
306
-
- If approved, `verified: true` is set
307
-
- Extension appears in `specify extension search --verified`
308
-
309
-
### Verification Criteria
310
-
311
-
To be verified, your extension must:
312
-
313
-
✅ **Functionality**:
314
-
315
-
- Works as described in documentation
316
-
- All commands execute without errors
317
-
- No breaking changes to user workflows
318
-
319
-
✅ **Security**:
320
-
321
-
- No known vulnerabilities
322
-
- No malicious code
323
-
- Safe handling of user data
324
-
- Proper validation of inputs
325
-
326
-
✅ **Code Quality**:
327
-
328
-
- Clean, readable code
329
-
- Follows extension best practices
330
-
- Proper error handling
331
-
- Helpful error messages
332
-
333
-
✅ **Documentation**:
334
-
335
-
- Clear installation instructions
336
-
- Usage examples
337
-
- Troubleshooting section
338
-
- Accurate description
169
+
### Typical Review Timeline
339
170
340
-
✅**Maintenance**:
171
+
- **Review**: 3-7 business days
341
172
342
-
- Active repository
343
-
- Responsive to issues
344
-
- Regular updates
345
-
- Semantic versioning followed
173
+
### Updating an Existing Extension
346
174
347
-
### Typical Review Timeline
348
-
349
-
-**Automated checks**: Immediate (if implemented)
350
-
-**Manual review**: 3-7 business days
351
-
-**Verification**: After successful review
175
+
To update an extension that is already in the catalog (e.g., for a new version), file a new **[Extension Submission](https://github.com/github/spec-kit/issues/new?template=extension_submission.yml)** issue with the updated version, download URL, and any other changed fields. Mention in the issue that this is an update to an existing entry.
352
176
353
177
---
354
178
@@ -385,26 +209,7 @@ When releasing a new version:
5.**Submit update PR** with changelog in description
212
+
4. **File an update submission** using the [Extension Submission](https://github.com/github/spec-kit/issues/new?template=extension_submission.yml) template with the new version and download URL. Mention in the issue that this is an update to an existing entry.
0 commit comments