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: Extension category — describes what the extension operates on
  # Common values: docs, code, process, integration, visibility
  # category: "process"

  # CUSTOMIZE: Extension effect — whether it modifies project files
  # One of: read-only | read-write
  # effect: "read-write"

  # 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"

  # MULTIPLE COMMANDS ON ONE EVENT: use a list of entries.
  # Add optional `priority` (integer >= 1, default 10) to order them, lowest first.
  # after_plan:
  #   - command: "speckit.my-extension.verify"
  #     priority: 5
  #   - command: "speckit.my-extension.report"
  #     priority: 10

# 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
