mirror of
https://github.com/github/spec-kit.git
synced 2026-03-25 06:43:09 +00:00
Add AIDE, Extensify, and Presetify to community extensions (#1961)
* Add AIDE, Extensify, and Presetify to community extensions Add three extensions from the mnriem/spec-kit-extensions repository: - AI-Driven Engineering (AIDE): structured 7-step workflow for building new projects from scratch with AI assistants - Extensify: create and validate extensions and extension catalogs - Presetify: create and validate presets and preset catalogs Updates both the README community extensions table and catalog.community.json with entries in alphabetical order. * fix(tests): isolate preset search test from community catalog growth Mock get_active_catalogs to return only the default catalog entry so the test uses only its own cached data and won't break as the community preset catalog grows.
This commit is contained in:
@@ -168,6 +168,7 @@ The following community-contributed extensions are available in [`catalog.commun
|
|||||||
|
|
||||||
| Extension | Purpose | Category | Effect | URL |
|
| Extension | Purpose | Category | Effect | URL |
|
||||||
|-----------|---------|----------|--------|-----|
|
|-----------|---------|----------|--------|-----|
|
||||||
|
| AI-Driven Engineering (AIDE) | A structured 7-step workflow for building new projects from scratch with AI assistants — from vision through implementation | `process` | Read+Write | [aide](https://github.com/mnriem/spec-kit-extensions/tree/main/aide) |
|
||||||
| Archive Extension | Archive merged features into main project memory. | `docs` | Read+Write | [spec-kit-archive](https://github.com/stn1slv/spec-kit-archive) |
|
| Archive Extension | Archive merged features into main project memory. | `docs` | Read+Write | [spec-kit-archive](https://github.com/stn1slv/spec-kit-archive) |
|
||||||
| Azure DevOps Integration | Sync user stories and tasks to Azure DevOps work items using OAuth authentication | `integration` | Read+Write | [spec-kit-azure-devops](https://github.com/pragya247/spec-kit-azure-devops) |
|
| Azure DevOps Integration | Sync user stories and tasks to Azure DevOps work items using OAuth authentication | `integration` | Read+Write | [spec-kit-azure-devops](https://github.com/pragya247/spec-kit-azure-devops) |
|
||||||
| Checkpoint Extension | Commit the changes made during the middle of the implementation, so you don't end up with just one very large commit at the end | `code` | Read+Write | [spec-kit-checkpoint](https://github.com/aaronrsun/spec-kit-checkpoint) |
|
| Checkpoint Extension | Commit the changes made during the middle of the implementation, so you don't end up with just one very large commit at the end | `code` | Read+Write | [spec-kit-checkpoint](https://github.com/aaronrsun/spec-kit-checkpoint) |
|
||||||
@@ -175,10 +176,12 @@ The following community-contributed extensions are available in [`catalog.commun
|
|||||||
| Cognitive Squad | Multi-agent cognitive system with Triadic Model: understanding, internalization, application — with quality gates, backpropagation verification, and self-healing | `docs` | Read+Write | [cognitive-squad](https://github.com/Testimonial/cognitive-squad) |
|
| Cognitive Squad | Multi-agent cognitive system with Triadic Model: understanding, internalization, application — with quality gates, backpropagation verification, and self-healing | `docs` | Read+Write | [cognitive-squad](https://github.com/Testimonial/cognitive-squad) |
|
||||||
| Conduct Extension | Orchestrates spec-kit phases via sub-agent delegation to reduce context pollution. | `process` | Read+Write | [spec-kit-conduct-ext](https://github.com/twbrandon7/spec-kit-conduct-ext) |
|
| Conduct Extension | Orchestrates spec-kit phases via sub-agent delegation to reduce context pollution. | `process` | Read+Write | [spec-kit-conduct-ext](https://github.com/twbrandon7/spec-kit-conduct-ext) |
|
||||||
| DocGuard — CDD Enforcement | Canonical-Driven Development enforcement. Validates, scores, and traces project documentation with automated checks, AI-driven workflows, and spec-kit hooks. Zero NPM runtime dependencies. | `docs` | Read+Write | [spec-kit-docguard](https://github.com/raccioly/docguard) |
|
| DocGuard — CDD Enforcement | Canonical-Driven Development enforcement. Validates, scores, and traces project documentation with automated checks, AI-driven workflows, and spec-kit hooks. Zero NPM runtime dependencies. | `docs` | Read+Write | [spec-kit-docguard](https://github.com/raccioly/docguard) |
|
||||||
|
| Extensify | Create and validate extensions and extension catalogs | `process` | Read+Write | [extensify](https://github.com/mnriem/spec-kit-extensions/tree/main/extensify) |
|
||||||
| Fleet Orchestrator | Orchestrate a full feature lifecycle with human-in-the-loop gates across all SpecKit phases | `process` | Read+Write | [spec-kit-fleet](https://github.com/sharathsatish/spec-kit-fleet) |
|
| Fleet Orchestrator | Orchestrate a full feature lifecycle with human-in-the-loop gates across all SpecKit phases | `process` | Read+Write | [spec-kit-fleet](https://github.com/sharathsatish/spec-kit-fleet) |
|
||||||
| Iterate | Iterate on spec documents with a two-phase define-and-apply workflow — refine specs mid-implementation and go straight back to building | `docs` | Read+Write | [spec-kit-iterate](https://github.com/imviancagrace/spec-kit-iterate) |
|
| Iterate | Iterate on spec documents with a two-phase define-and-apply workflow — refine specs mid-implementation and go straight back to building | `docs` | Read+Write | [spec-kit-iterate](https://github.com/imviancagrace/spec-kit-iterate) |
|
||||||
| Jira Integration | Create Jira Epics, Stories, and Issues from spec-kit specifications and task breakdowns with configurable hierarchy and custom field support | `integration` | Read+Write | [spec-kit-jira](https://github.com/mbachorik/spec-kit-jira) |
|
| Jira Integration | Create Jira Epics, Stories, and Issues from spec-kit specifications and task breakdowns with configurable hierarchy and custom field support | `integration` | Read+Write | [spec-kit-jira](https://github.com/mbachorik/spec-kit-jira) |
|
||||||
| Learning Extension | Generate educational guides from implementations and enhance clarifications with mentoring context | `docs` | Read+Write | [spec-kit-learn](https://github.com/imviancagrace/spec-kit-learn) |
|
| Learning Extension | Generate educational guides from implementations and enhance clarifications with mentoring context | `docs` | Read+Write | [spec-kit-learn](https://github.com/imviancagrace/spec-kit-learn) |
|
||||||
|
| Presetify | Create and validate presets and preset catalogs | `process` | Read+Write | [presetify](https://github.com/mnriem/spec-kit-extensions/tree/main/presetify) |
|
||||||
| Project Health Check | Diagnose a Spec Kit project and report health issues across structure, agents, features, scripts, extensions, and git | `visibility` | Read-only | [spec-kit-doctor](https://github.com/KhawarHabibKhan/spec-kit-doctor) |
|
| Project Health Check | Diagnose a Spec Kit project and report health issues across structure, agents, features, scripts, extensions, and git | `visibility` | Read-only | [spec-kit-doctor](https://github.com/KhawarHabibKhan/spec-kit-doctor) |
|
||||||
| Project Status | Show current SDD workflow progress — active feature, artifact status, task completion, workflow phase, and extensions summary | `visibility` | Read-only | [spec-kit-status](https://github.com/KhawarHabibKhan/spec-kit-status) |
|
| Project Status | Show current SDD workflow progress — active feature, artifact status, task completion, workflow phase, and extensions summary | `visibility` | Read-only | [spec-kit-status](https://github.com/KhawarHabibKhan/spec-kit-status) |
|
||||||
| Ralph Loop | Autonomous implementation loop using AI agent CLI | `code` | Read+Write | [spec-kit-ralph](https://github.com/Rubiss/spec-kit-ralph) |
|
| Ralph Loop | Autonomous implementation loop using AI agent CLI | `code` | Read+Write | [spec-kit-ralph](https://github.com/Rubiss/spec-kit-ralph) |
|
||||||
|
|||||||
@@ -3,6 +3,39 @@
|
|||||||
"updated_at": "2026-03-19T12:08:20Z",
|
"updated_at": "2026-03-19T12:08:20Z",
|
||||||
"catalog_url": "https://raw.githubusercontent.com/github/spec-kit/main/extensions/catalog.community.json",
|
"catalog_url": "https://raw.githubusercontent.com/github/spec-kit/main/extensions/catalog.community.json",
|
||||||
"extensions": {
|
"extensions": {
|
||||||
|
"aide": {
|
||||||
|
"name": "AI-Driven Engineering (AIDE)",
|
||||||
|
"id": "aide",
|
||||||
|
"description": "A structured 7-step workflow for building new projects from scratch with AI assistants — from vision through implementation.",
|
||||||
|
"author": "mnriem",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"download_url": "https://github.com/mnriem/spec-kit-extensions/releases/download/aide-v1.0.0/aide.zip",
|
||||||
|
"repository": "https://github.com/mnriem/spec-kit-extensions",
|
||||||
|
"homepage": "https://github.com/mnriem/spec-kit-extensions",
|
||||||
|
"documentation": "https://github.com/mnriem/spec-kit-extensions/blob/main/aide/README.md",
|
||||||
|
"changelog": "https://github.com/mnriem/spec-kit-extensions/blob/main/aide/CHANGELOG.md",
|
||||||
|
"license": "MIT",
|
||||||
|
"requires": {
|
||||||
|
"speckit_version": ">=0.2.0"
|
||||||
|
},
|
||||||
|
"provides": {
|
||||||
|
"commands": 7,
|
||||||
|
"hooks": 0
|
||||||
|
},
|
||||||
|
"tags": [
|
||||||
|
"workflow",
|
||||||
|
"project-management",
|
||||||
|
"ai-driven",
|
||||||
|
"new-project",
|
||||||
|
"planning",
|
||||||
|
"experimental"
|
||||||
|
],
|
||||||
|
"verified": false,
|
||||||
|
"downloads": 0,
|
||||||
|
"stars": 0,
|
||||||
|
"created_at": "2026-03-18T00:00:00Z",
|
||||||
|
"updated_at": "2026-03-18T00:00:00Z"
|
||||||
|
},
|
||||||
"archive": {
|
"archive": {
|
||||||
"name": "Archive Extension",
|
"name": "Archive Extension",
|
||||||
"id": "archive",
|
"id": "archive",
|
||||||
@@ -281,6 +314,37 @@
|
|||||||
"created_at": "2026-03-13T00:00:00Z",
|
"created_at": "2026-03-13T00:00:00Z",
|
||||||
"updated_at": "2026-03-13T00:00:00Z"
|
"updated_at": "2026-03-13T00:00:00Z"
|
||||||
},
|
},
|
||||||
|
"extensify": {
|
||||||
|
"name": "Extensify",
|
||||||
|
"id": "extensify",
|
||||||
|
"description": "Create and validate extensions and extension catalogs.",
|
||||||
|
"author": "mnriem",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"download_url": "https://github.com/mnriem/spec-kit-extensions/releases/download/extensify-v1.0.0/extensify.zip",
|
||||||
|
"repository": "https://github.com/mnriem/spec-kit-extensions",
|
||||||
|
"homepage": "https://github.com/mnriem/spec-kit-extensions",
|
||||||
|
"documentation": "https://github.com/mnriem/spec-kit-extensions/blob/main/extensify/README.md",
|
||||||
|
"changelog": "https://github.com/mnriem/spec-kit-extensions/blob/main/extensify/CHANGELOG.md",
|
||||||
|
"license": "MIT",
|
||||||
|
"requires": {
|
||||||
|
"speckit_version": ">=0.2.0"
|
||||||
|
},
|
||||||
|
"provides": {
|
||||||
|
"commands": 4,
|
||||||
|
"hooks": 0
|
||||||
|
},
|
||||||
|
"tags": [
|
||||||
|
"extensions",
|
||||||
|
"workflow",
|
||||||
|
"validation",
|
||||||
|
"experimental"
|
||||||
|
],
|
||||||
|
"verified": false,
|
||||||
|
"downloads": 0,
|
||||||
|
"stars": 0,
|
||||||
|
"created_at": "2026-03-18T00:00:00Z",
|
||||||
|
"updated_at": "2026-03-18T00:00:00Z"
|
||||||
|
},
|
||||||
"fleet": {
|
"fleet": {
|
||||||
"name": "Fleet Orchestrator",
|
"name": "Fleet Orchestrator",
|
||||||
"id": "fleet",
|
"id": "fleet",
|
||||||
@@ -373,6 +437,37 @@
|
|||||||
"created_at": "2026-03-05T00:00:00Z",
|
"created_at": "2026-03-05T00:00:00Z",
|
||||||
"updated_at": "2026-03-05T00:00:00Z"
|
"updated_at": "2026-03-05T00:00:00Z"
|
||||||
},
|
},
|
||||||
|
"presetify": {
|
||||||
|
"name": "Presetify",
|
||||||
|
"id": "presetify",
|
||||||
|
"description": "Create and validate presets and preset catalogs.",
|
||||||
|
"author": "mnriem",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"download_url": "https://github.com/mnriem/spec-kit-extensions/releases/download/presetify-v1.0.0/presetify.zip",
|
||||||
|
"repository": "https://github.com/mnriem/spec-kit-extensions",
|
||||||
|
"homepage": "https://github.com/mnriem/spec-kit-extensions",
|
||||||
|
"documentation": "https://github.com/mnriem/spec-kit-extensions/blob/main/presetify/README.md",
|
||||||
|
"changelog": "https://github.com/mnriem/spec-kit-extensions/blob/main/presetify/CHANGELOG.md",
|
||||||
|
"license": "MIT",
|
||||||
|
"requires": {
|
||||||
|
"speckit_version": ">=0.2.0"
|
||||||
|
},
|
||||||
|
"provides": {
|
||||||
|
"commands": 4,
|
||||||
|
"hooks": 0
|
||||||
|
},
|
||||||
|
"tags": [
|
||||||
|
"presets",
|
||||||
|
"workflow",
|
||||||
|
"templates",
|
||||||
|
"experimental"
|
||||||
|
],
|
||||||
|
"verified": false,
|
||||||
|
"downloads": 0,
|
||||||
|
"stars": 0,
|
||||||
|
"created_at": "2026-03-18T00:00:00Z",
|
||||||
|
"updated_at": "2026-03-18T00:00:00Z"
|
||||||
|
},
|
||||||
"ralph": {
|
"ralph": {
|
||||||
"name": "Ralph Loop",
|
"name": "Ralph Loop",
|
||||||
"id": "ralph",
|
"id": "ralph",
|
||||||
|
|||||||
@@ -1172,6 +1172,8 @@ class TestPresetCatalog:
|
|||||||
|
|
||||||
def test_search_with_cached_data(self, project_dir):
|
def test_search_with_cached_data(self, project_dir):
|
||||||
"""Test search with cached catalog data."""
|
"""Test search with cached catalog data."""
|
||||||
|
from unittest.mock import patch
|
||||||
|
|
||||||
catalog = PresetCatalog(project_dir)
|
catalog = PresetCatalog(project_dir)
|
||||||
catalog.cache_dir.mkdir(parents=True, exist_ok=True)
|
catalog.cache_dir.mkdir(parents=True, exist_ok=True)
|
||||||
|
|
||||||
@@ -1200,23 +1202,26 @@ class TestPresetCatalog:
|
|||||||
"cached_at": datetime.now(timezone.utc).isoformat(),
|
"cached_at": datetime.now(timezone.utc).isoformat(),
|
||||||
}))
|
}))
|
||||||
|
|
||||||
# Search by query
|
# Isolate from community catalog so results are deterministic
|
||||||
results = catalog.search(query="agile")
|
default_only = [PresetCatalogEntry(url=catalog.DEFAULT_CATALOG_URL, name="default", priority=1, install_allowed=True)]
|
||||||
assert len(results) == 1
|
with patch.object(catalog, "get_active_catalogs", return_value=default_only):
|
||||||
assert results[0]["id"] == "safe-agile"
|
# Search by query
|
||||||
|
results = catalog.search(query="agile")
|
||||||
|
assert len(results) == 1
|
||||||
|
assert results[0]["id"] == "safe-agile"
|
||||||
|
|
||||||
# Search by tag
|
# Search by tag
|
||||||
results = catalog.search(tag="hipaa")
|
results = catalog.search(tag="hipaa")
|
||||||
assert len(results) == 1
|
assert len(results) == 1
|
||||||
assert results[0]["id"] == "healthcare"
|
assert results[0]["id"] == "healthcare"
|
||||||
|
|
||||||
# Search by author
|
# Search by author
|
||||||
results = catalog.search(author="agile-community")
|
results = catalog.search(author="agile-community")
|
||||||
assert len(results) == 1
|
assert len(results) == 1
|
||||||
|
|
||||||
# Search all
|
# Search all
|
||||||
results = catalog.search()
|
results = catalog.search()
|
||||||
assert len(results) == 2
|
assert len(results) == 2
|
||||||
|
|
||||||
def test_get_pack_info(self, project_dir):
|
def test_get_pack_info(self, project_dir):
|
||||||
"""Test getting info for a specific pack."""
|
"""Test getting info for a specific pack."""
|
||||||
|
|||||||
Reference in New Issue
Block a user