Skip to main content

Extended Spec-Kit CLI with plugin support - Wraps upstream specify-cli

Project description

specify-cli-extended

Extended Spec-Kit CLI with plugin support.

Overview

This package provides an extended version of the Spec-Kit CLI that adds plugin management capabilities. It wraps the upstream specify-cli and adds commands for:

  • Plugin discovery and loading
  • Plugin command execution
  • Plugin scaffolding
  • Plugin configuration

Installation

# Install with plugin support only
pip install specify-cli-extended

# Install with upstream specify-cli included
pip install specify-cli-extended[upstream]

Usage

Plugin Management

# List all discovered plugins
specify-extended plugin list --all

# List loaded plugins
specify-extended plugin list

# Get plugin information
specify-extended plugin info design

# Load a plugin
specify-extended plugin load design

# Unload a plugin
specify-extended plugin unload design

Plugin Commands

# Execute a plugin command
specify-extended plugin exec "design:generate my-feature"

# Execute with options
specify-extended plugin exec "design:generate my-feature --force"

# List available commands
specify-extended plugin commands

Create New Plugin

# Create a new plugin from template
specify-extended plugin new my-awesome-plugin

# Create in specific directory
specify-extended plugin new my-plugin --path ./plugins

Project Initialization

# Initialize project with plugin support
specify-extended init my-project --with-plugins

# Initialize without plugins
specify-extended init my-project --no-plugins

Command Reference

Global Commands

Command Description
specify-extended init <name> Initialize new project
specify-extended version Show version information

Plugin Commands

Command Description
specify-extended plugin list List loaded plugins
specify-extended plugin list --all List all discovered plugins
specify-extended plugin load <name> Load a plugin
specify-extended plugin unload <name> Unload a plugin
specify-extended plugin info <name> Show plugin details
specify-extended plugin exec <cmd> Execute plugin command
specify-extended plugin commands List available commands
specify-extended plugin new <name> Create new plugin

Configuration

Plugin configuration is stored in .specify/plugins.yaml:

plugins:
  # Plugin search paths
  search_paths:
    - .specify/plugins           # Project plugins
    - ~/.specify/plugins         # User plugins

  # Plugins to auto-load on startup
  auto_load:
    - design
    - quality

  # Per-plugin configuration
  design:
    enabled: true
    template_style: detailed

  quality:
    enabled: true
    strict_mode: false
    max_method_lines: 20

Architecture

┌─────────────────────────────────────────────────┐
│              specify-cli-extended                │
│                                                 │
│  ┌─────────────────────────────────────────┐   │
│  │                CLI (Typer)               │   │
│  │  ┌─────────┐  ┌─────────┐  ┌─────────┐  │   │
│  │  │  init   │  │ plugin  │  │ version │  │   │
│  │  └─────────┘  └────┬────┘  └─────────┘  │   │
│  └────────────────────┼────────────────────┘   │
│                       │                         │
│  ┌────────────────────┴────────────────────┐   │
│  │           RuntimeAdapter                 │   │
│  │  High-level plugin management API        │   │
│  └────────────────────┬────────────────────┘   │
│                       │                         │
│  ┌────────────────────┴────────────────────┐   │
│  │          PluginGenerator                 │   │
│  │  Plugin scaffolding from templates       │   │
│  └──────────────────────────────────────────┘   │
└─────────────────────────────────────────────────┘
                       │
                       ▼
         ┌─────────────────────────┐
         │    spec-kit-runtime     │
         │    spec-kit-core        │
         │   spec-kit-contracts    │
         └─────────────────────────┘
                       │
                       ▼ (optional)
         ┌─────────────────────────┐
         │    specify-cli          │
         │   (upstream, optional)  │
         └─────────────────────────┘

Dependencies

  • spec-kit-contracts>=1.0.0 - Interface contracts
  • spec-kit-runtime>=1.0.0 - Plugin runtime
  • spec-kit-core>=1.0.0 - Core services
  • typer>=0.9.0 - CLI framework
  • rich>=13.0.0 - Terminal formatting
  • pyyaml>=6.0 - Configuration parsing

Integration with Upstream

When installed with the [upstream] extra, this CLI wraps the original specify-cli commands, allowing you to use both the original SDD workflow commands and plugin management commands from a single CLI.

# Original specify commands (if upstream installed)
specify-extended specify   # Create specification
specify-extended plan      # Create plan
specify-extended tasks     # Generate tasks

# Extended plugin commands
specify-extended plugin list
specify-extended plugin exec "design:generate"

License

MIT License - see LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

specify_cli_extended-1.0.0.tar.gz (9.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

specify_cli_extended-1.0.0-py3-none-any.whl (11.4 kB view details)

Uploaded Python 3

File details

Details for the file specify_cli_extended-1.0.0.tar.gz.

File metadata

  • Download URL: specify_cli_extended-1.0.0.tar.gz
  • Upload date:
  • Size: 9.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for specify_cli_extended-1.0.0.tar.gz
Algorithm Hash digest
SHA256 a6f283f62d44562e426d37f962917c8f7645a80dd9020276a0fd599d61372486
MD5 73ea95aee81f1e27a960c2470d8fe51d
BLAKE2b-256 08607e14df405634c7499f3dc15beed8b508ff2f62b7364f823e8027ed5e433a

See more details on using hashes here.

File details

Details for the file specify_cli_extended-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for specify_cli_extended-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 49f391d430d9d26c71ac0ff96243cac3dca690d615f82ea32ffd8199441cf236
MD5 491087b2b08d112b593c473af85a4ada
BLAKE2b-256 3b55c1f2521277ac3e9ca18e7b51cf95b9e052dccb8049f4068c7e7defed0c93

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page