mirror of
https://github.com/github/spec-kit.git
synced 2026-03-28 08:13:09 +00:00
* fix: prevent extension command shadowing * Validate extension command namespaces * Reuse extension command name pattern
98 lines
3.0 KiB
YAML
98 lines
3.0 KiB
YAML
schema_version: "1.0"
|
|
|
|
extension:
|
|
# CUSTOMIZE: Change 'my-extension' to your extension ID (lowercase, hyphen-separated)
|
|
id: "my-extension"
|
|
|
|
# CUSTOMIZE: Human-readable name for your extension
|
|
name: "My Extension"
|
|
|
|
# CUSTOMIZE: Update version when releasing (semantic versioning: X.Y.Z)
|
|
version: "1.0.0"
|
|
|
|
# CUSTOMIZE: Brief description (under 200 characters)
|
|
description: "Brief description of what your extension does"
|
|
|
|
# CUSTOMIZE: Your name or organization name
|
|
author: "Your Name"
|
|
|
|
# CUSTOMIZE: GitHub repository URL (create before publishing)
|
|
repository: "https://github.com/your-org/spec-kit-my-extension"
|
|
|
|
# REVIEW: License (MIT is recommended for open source)
|
|
license: "MIT"
|
|
|
|
# CUSTOMIZE: Extension homepage (can be same as repository)
|
|
homepage: "https://github.com/your-org/spec-kit-my-extension"
|
|
|
|
# Requirements for this extension
|
|
requires:
|
|
# CUSTOMIZE: Minimum spec-kit version required
|
|
# Use >=X.Y.Z for minimum version
|
|
# Use >=X.Y.Z,<Y.0.0 for version range
|
|
speckit_version: ">=0.1.0"
|
|
|
|
# CUSTOMIZE: Add MCP tools or other dependencies
|
|
# Remove if no external tools required
|
|
tools:
|
|
- name: "example-mcp-server"
|
|
version: ">=1.0.0"
|
|
required: true
|
|
|
|
# Commands provided by this extension
|
|
provides:
|
|
commands:
|
|
# CUSTOMIZE: Define your commands
|
|
# Pattern: speckit.{extension-id}.{command-name}
|
|
- name: "speckit.my-extension.example"
|
|
file: "commands/example.md"
|
|
description: "Example command that demonstrates functionality"
|
|
# Optional: Add aliases in the same namespaced format
|
|
aliases: ["speckit.my-extension.example-short"]
|
|
|
|
# ADD MORE COMMANDS: Copy this block for each command
|
|
# - name: "speckit.my-extension.another-command"
|
|
# file: "commands/another-command.md"
|
|
# description: "Another command"
|
|
|
|
# CUSTOMIZE: Define configuration files
|
|
config:
|
|
- name: "my-extension-config.yml"
|
|
template: "config-template.yml"
|
|
description: "Extension configuration"
|
|
required: true # Set to false if config is optional
|
|
|
|
# CUSTOMIZE: Define hooks (optional)
|
|
# Remove if no hooks needed
|
|
hooks:
|
|
# Hook that runs after /speckit.tasks
|
|
after_tasks:
|
|
command: "speckit.my-extension.example"
|
|
optional: true # User will be prompted
|
|
prompt: "Run example command?"
|
|
description: "Demonstrates hook functionality"
|
|
condition: null # Future: conditional execution
|
|
|
|
# ADD MORE HOOKS: Copy this block for other events
|
|
# after_implement:
|
|
# command: "speckit.my-extension.another"
|
|
# optional: false # Auto-execute without prompting
|
|
# description: "Runs automatically after implementation"
|
|
|
|
# CUSTOMIZE: Add relevant tags (2-5 recommended)
|
|
# Used for discovery in catalog
|
|
tags:
|
|
- "example"
|
|
- "template"
|
|
# ADD MORE: "category", "tool-name", etc.
|
|
|
|
# CUSTOMIZE: Default configuration values (optional)
|
|
# These are merged with user config
|
|
defaults:
|
|
# Example default values
|
|
feature:
|
|
enabled: true
|
|
auto_sync: false
|
|
|
|
# ADD MORE: Any default settings for your extension
|