mirror of
https://github.com/github/spec-kit.git
synced 2026-03-17 19:03:08 +00:00
* feat: add DocGuard CDD enforcement extension to community catalog DocGuard is a Canonical-Driven Development enforcement tool that generates, validates, scores, and traces project documentation against 51 automated checks. Provides 6 commands: - guard: 51-check validation with quality labels - diagnose: AI-ready fix prompts - score: CDD maturity scoring (0-100) - trace: ISO 29119 traceability matrix - generate: Reverse-engineer docs from codebase - init: Initialize CDD with compliance profiles Features: - Zero dependencies (pure Node.js) - Config-aware traceability (respects .docguard.json) - Orphan file detection - Research-backed (AITPG/TRACE, IEEE TSE/TMLCN 2026) npm: https://www.npmjs.com/package/docguard-cli GitHub: https://github.com/raccioly/docguard * fix: use release asset URL for download_url The source archive URL nests files under a subdirectory, so the Spec Kit installer cannot find extension.yml at the archive root. Switch to a release asset ZIP built from the extension directory. Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * docs: add DocGuard to community extensions README table * chore: update DocGuard entry to v0.8.0 (92 checks) * chore: update DocGuard description (51→92 checks) --------- Co-authored-by: Ricardo Accioly <ricardoaccioly@RAccioly-J0CWDQ4MXV.attlocal.net> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
132 lines
7.4 KiB
Markdown
132 lines
7.4 KiB
Markdown
# Spec Kit Extensions
|
|
|
|
Extension system for [Spec Kit](https://github.com/github/spec-kit) - add new functionality without bloating the core framework.
|
|
|
|
## Extension Catalogs
|
|
|
|
Spec Kit provides two catalog files with different purposes:
|
|
|
|
### Your Catalog (`catalog.json`)
|
|
|
|
- **Purpose**: Default upstream catalog of extensions used by the Spec Kit CLI
|
|
- **Default State**: Empty by design in the upstream project - you or your organization populate a fork/copy with extensions you trust
|
|
- **Location (upstream)**: `extensions/catalog.json` in the GitHub-hosted spec-kit repo
|
|
- **CLI Default**: The `specify extension` commands use the upstream catalog URL by default, unless overridden
|
|
- **Org Catalog**: Point `SPECKIT_CATALOG_URL` at your organization's fork or hosted catalog JSON to use it instead of the upstream default
|
|
- **Customization**: Copy entries from the community catalog into your org catalog, or add your own extensions directly
|
|
|
|
**Example override:**
|
|
```bash
|
|
# Override the default upstream catalog with your organization's catalog
|
|
export SPECKIT_CATALOG_URL="https://your-org.com/spec-kit/catalog.json"
|
|
specify extension search # Now uses your organization's catalog instead of the upstream default
|
|
```
|
|
|
|
### Community Reference Catalog (`catalog.community.json`)
|
|
|
|
- **Purpose**: Browse available community-contributed extensions
|
|
- **Status**: Active - contains extensions submitted by the community
|
|
- **Location**: `extensions/catalog.community.json`
|
|
- **Usage**: Reference catalog for discovering available extensions
|
|
- **Submission**: Open to community contributions via Pull Request
|
|
|
|
**How It Works:**
|
|
|
|
## Making Extensions Available
|
|
|
|
You control which extensions your team can discover and install:
|
|
|
|
### Option 1: Curated Catalog (Recommended for Organizations)
|
|
|
|
Populate your `catalog.json` with approved extensions:
|
|
|
|
1. **Discover** extensions from various sources:
|
|
- Browse `catalog.community.json` for community extensions
|
|
- Find private/internal extensions in your organization's repos
|
|
- Discover extensions from trusted third parties
|
|
2. **Review** extensions and choose which ones you want to make available
|
|
3. **Add** those extension entries to your own `catalog.json`
|
|
4. **Team members** can now discover and install them:
|
|
- `specify extension search` shows your curated catalog
|
|
- `specify extension add <name>` installs from your catalog
|
|
|
|
**Benefits**: Full control over available extensions, team consistency, organizational approval workflow
|
|
|
|
**Example**: Copy an entry from `catalog.community.json` to your `catalog.json`, then your team can discover and install it by name.
|
|
|
|
### Option 2: Direct URLs (For Ad-hoc Use)
|
|
|
|
Skip catalog curation - team members install directly using URLs:
|
|
|
|
```bash
|
|
specify extension add --from https://github.com/org/spec-kit-ext/archive/refs/tags/v1.0.0.zip
|
|
```
|
|
|
|
**Benefits**: Quick for one-off testing or private extensions
|
|
|
|
**Tradeoff**: Extensions installed this way won't appear in `specify extension search` for other team members unless you also add them to your `catalog.json`.
|
|
|
|
## Available Community Extensions
|
|
|
|
The following community-contributed extensions are available in [`catalog.community.json`](catalog.community.json):
|
|
|
|
| Extension | Purpose | URL |
|
|
|-----------|---------|-----|
|
|
| Azure DevOps Integration | Sync user stories and tasks to Azure DevOps work items using OAuth authentication | [spec-kit-azure-devops](https://github.com/pragya247/spec-kit-azure-devops) |
|
|
| Cleanup Extension | Post-implementation quality gate that reviews changes, fixes small issues (scout rule), creates tasks for medium issues, and generates analysis for large issues | [spec-kit-cleanup](https://github.com/dsrednicki/spec-kit-cleanup) |
|
|
| DocGuard — CDD Enforcement | Canonical-Driven Development enforcement. Generates, validates, scores, and traces project documentation against 92 automated checks with config-aware traceability, quality labels, and AI-ready fix prompts. Zero dependencies. | [spec-kit-docguard](https://github.com/raccioly/docguard) |
|
|
| Fleet Orchestrator | Orchestrate a full feature lifecycle with human-in-the-loop gates across all SpecKit phases | [spec-kit-fleet](https://github.com/sharathsatish/spec-kit-fleet) |
|
|
| Jira Integration | Create Jira Epics, Stories, and Issues from spec-kit specifications and task breakdowns with configurable hierarchy and custom field support | [spec-kit-jira](https://github.com/mbachorik/spec-kit-jira) |
|
|
| Project Health Check | Diagnose a Spec Kit project and report health issues across structure, agents, features, scripts, extensions, and git | [spec-kit-doctor](https://github.com/KhawarHabibKhan/spec-kit-doctor) |
|
|
| Ralph Loop | Autonomous implementation loop using AI agent CLI | [spec-kit-ralph](https://github.com/Rubiss/spec-kit-ralph) |
|
|
| Retrospective Extension | Post-implementation retrospective with spec adherence scoring, drift analysis, and human-gated spec updates | [spec-kit-retrospective](https://github.com/emi-dm/spec-kit-retrospective) |
|
|
| Review Extension | Post-implementation comprehensive code review with specialized agents for code quality, comments, tests, error handling, type design, and simplification | [spec-kit-review](https://github.com/ismaelJimenez/spec-kit-review) |
|
|
| Spec Sync | Detect and resolve drift between specs and implementation. AI-assisted resolution with human approval | [spec-kit-sync](https://github.com/bgervin/spec-kit-sync) |
|
|
| Understanding | Automated requirements quality analysis — 31 deterministic metrics against IEEE/ISO standards with experimental energy-based ambiguity detection | [understanding](https://github.com/Testimonial/understanding) |
|
|
| V-Model Extension Pack | Enforces V-Model paired generation of development specs and test specs with full traceability | [spec-kit-v-model](https://github.com/leocamello/spec-kit-v-model) |
|
|
| Verify Extension | Post-implementation quality gate that validates implemented code against specification artifacts | [spec-kit-verify](https://github.com/ismaelJimenez/spec-kit-verify) |
|
|
|
|
|
|
## Adding Your Extension
|
|
|
|
### Submission Process
|
|
|
|
To add your extension to the community catalog:
|
|
|
|
1. **Prepare your extension** following the [Extension Development Guide](EXTENSION-DEVELOPMENT-GUIDE.md)
|
|
2. **Create a GitHub release** for your extension
|
|
3. **Submit a Pull Request** that:
|
|
- Adds your extension to `extensions/catalog.community.json`
|
|
- Updates this README with your extension in the Available Extensions table
|
|
4. **Wait for review** - maintainers will review and merge if criteria are met
|
|
|
|
See the [Extension Publishing Guide](EXTENSION-PUBLISHING-GUIDE.md) for detailed step-by-step instructions.
|
|
|
|
### Submission Checklist
|
|
|
|
Before submitting, ensure:
|
|
|
|
- ✅ Valid `extension.yml` manifest
|
|
- ✅ Complete README with installation and usage instructions
|
|
- ✅ LICENSE file included
|
|
- ✅ GitHub release created with semantic version (e.g., v1.0.0)
|
|
- ✅ Extension tested on a real project
|
|
- ✅ All commands working as documented
|
|
|
|
## Installing Extensions
|
|
Once extensions are available (either in your catalog or via direct URL), install them:
|
|
|
|
```bash
|
|
# From your curated catalog (by name)
|
|
specify extension search # See what's in your catalog
|
|
specify extension add <extension-name> # Install by name
|
|
|
|
# Direct from URL (bypasses catalog)
|
|
specify extension add --from https://github.com/<org>/<repo>/archive/refs/tags/<version>.zip
|
|
|
|
# List installed extensions
|
|
specify extension list
|
|
```
|
|
|
|
For more information, see the [Extension User Guide](EXTENSION-USER-GUIDE.md).
|