### Example Preset Catalog Configuration Source: https://github.github.io/spec-kit/reference/presets.html An example of how to configure a preset catalog in `.specify/preset-catalogs.yml`, specifying name, URL, priority, install allowance, and description. ```yaml catalogs: - name: "my-org-presets" url: "https://example.com/preset-catalog.json" priority: 5 install_allowed: true description: "Our approved presets" ``` -------------------------------- ### Example Extension Catalog Configuration Source: https://github.github.io/spec-kit/reference/extensions.html An example of how to configure extension catalogs in `.specify/extension-catalogs.yml`, specifying name, URL, priority, install allowance, and description. ```yaml catalogs: - name: "my-org-catalog" url: "https://example.com/catalog.json" priority: 5 install_allowed: true description: "Our approved extensions" ``` -------------------------------- ### Example Project File Update with Copilot Source: https://github.github.io/spec-kit/upgrade.html An example of updating project files using `specify init` with the Copilot integration. ```bash specify init --here --force --integration copilot ``` -------------------------------- ### Install a Preset Source: https://github.github.io/spec-kit/reference/presets.html Installs a preset from a catalog, URL, or local directory. Preset commands are registered automatically. Requires a project initialized with `specify init`. ```bash specify preset add [] ``` -------------------------------- ### List Installed Presets Source: https://github.github.io/spec-kit/reference/presets.html Lists installed presets, showing versions, descriptions, template counts, and status. ```bash specify preset list ``` -------------------------------- ### Download specify-cli Dependencies Source: https://github.github.io/spec-kit/installation.html Use pip download to get the wheel and all runtime dependencies for offline installation. This step must be performed on a machine with the same OS and Python version as the target air-gapped machine. ```bash pip download -d dist/ dist/specify_cli-*.whl ``` -------------------------------- ### Install Integration with Specific Options Source: https://github.github.io/spec-kit/reference/integrations.html Installs an integration, such as 'generic', and provides integration-specific options like the commands directory. ```bash specify integration install generic --integration-options="--commands-dir .myagent/cmds" __ ``` -------------------------------- ### Install an Integration Source: https://github.github.io/spec-kit/reference/integrations.html Installs the specified integration into the current project. Use `--script` for script type (sh/ps), `--force` to install alongside non-multi-install-safe integrations, and `--integration-options` for agent-specific configurations. Rolls back automatically on failure. ```bash specify integration install ``` -------------------------------- ### Install a Workflow Source: https://github.github.io/spec-kit/reference/workflows.html Installs a workflow from the catalog, a URL (HTTPS required), or a local file path. ```bash specify workflow add ``` -------------------------------- ### Get Preset Information Source: https://github.github.io/spec-kit/reference/presets.html Shows detailed information about an installed or available preset, including templates, metadata, and tags. ```bash specify preset info ``` -------------------------------- ### Install Spec-Kit in Editable Mode Source: https://github.github.io/spec-kit/local-development.html Create an isolated virtual environment using uv and install the project in editable mode. This makes the 'specify' entrypoint available and allows re-running after code edits without reinstalling. ```bash # Create & activate virtual env (uv auto-manages .venv) uv venv source .venv/bin/activate # or on Windows PowerShell: .venv\Scripts\Activate.ps1 # Install project in editable mode uv pip install -e . # Now 'specify' entrypoint is available specify --help ``` -------------------------------- ### Install an Extension Source: https://github.github.io/spec-kit/reference/extensions.html Installs an extension from the catalog, a URL, or a local directory. Extension commands are automatically registered with the AI coding agent integration. Requires a project initialized with `specify init`. ```bash specify extension add ``` -------------------------------- ### List Preset Catalogs Source: https://github.github.io/spec-kit/reference/presets.html Shows all active catalogs with their priorities and install permissions. ```bash specify preset catalog list ``` -------------------------------- ### Install specify-cli on Air-Gapped Machine Source: https://github.github.io/spec-kit/installation.html Install specify-cli and its dependencies on the air-gapped machine using the downloaded files. Ensure the --no-index flag is used to prevent network access. ```bash pip install --no-index --find-links=./dist specify-cli ``` -------------------------------- ### Verify Spec Kit Installation Source: https://github.github.io/spec-kit/installation.html Run this command after installation to confirm the correct version of Spec Kit is installed and accessible. This helps distinguish it from unrelated packages. ```bash specify version ``` -------------------------------- ### Run Full SDD Cycle Workflow Source: https://github.github.io/spec-kit/reference/workflows.html Example command to run the 'Full SDD Cycle' workflow with specific inputs for the spec and scope. ```bash specify workflow run speckit -i spec="Build a kanban board with drag-and-drop task management" ``` -------------------------------- ### Get Extension Information Source: https://github.github.io/spec-kit/reference/extensions.html Shows detailed information about an installed or available extension, including its description, version, commands, and configuration. ```bash specify extension info ``` -------------------------------- ### List Installed Extensions Source: https://github.github.io/spec-kit/reference/extensions.html Lists installed extensions with their status, version, and command counts. Use --available to show uninstalled extensions or --all for both installed and available. ```bash specify extension list ``` -------------------------------- ### List Installed Workflows Source: https://github.github.io/spec-kit/reference/workflows.html Lists workflows installed in the current project. ```bash specify workflow list ``` -------------------------------- ### Persistent Installation with pipx Source: https://github.github.io/spec-kit/installation.html For a persistent installation of Spec Kit, `pipx` can be used. This command installs the specified release tag. ```bash pipx install git+https://github.com/github/spec-kit.git@vX.Y.Z ``` -------------------------------- ### Install Spec Kit from a Stable Release Source: https://github.github.io/spec-kit/installation.html Use this command to install Spec Kit from a specific stable release tag. Replace vX.Y.Z with the latest tag from the Releases page. This ensures stability. ```bash # Install from a specific stable release (recommended — replace vX.Y.Z with the latest tag) uvx --from git+https://github.com/github/spec-kit.git@vX.Y.Z specify init ``` -------------------------------- ### Run Spec-Kit CLI Directly Source: https://github.github.io/spec-kit/local-development.html Execute the CLI using the module entrypoint for the fastest feedback loop. This method does not require any installation. ```bash # From repo root python -m src.specify_cli --help ``` ```bash python -m src.specify_cli init demo-project --integration claude --ignore-agent-tools --script sh ``` -------------------------------- ### List Available Integrations Source: https://github.github.io/spec-kit/reference/integrations.html Shows all available integrations, the currently installed one, and whether each requires a CLI tool or is IDE-based. It also indicates the default integration and multi-install safety. ```bash specify integration list ``` -------------------------------- ### Sanity Check Importability Source: https://github.github.io/spec-kit/local-development.html Perform a basic check to ensure the 'specify_cli' module can be imported, confirming basic installation and environment setup. ```python python -c "import specify_cli; print('Import OK')" ``` -------------------------------- ### Add a Catalog Source: https://github.github.io/spec-kit/reference/extensions.html Adds a catalog to the project's `.specify/extension-catalogs.yml`. Options include setting a name, priority, install permissions, and description. ```bash specify extension catalog add ``` -------------------------------- ### Use an Installed Integration Source: https://github.github.io/spec-kit/reference/integrations.html Sets an installed integration as the default without uninstalling others. Use `--force` to overwrite managed shared templates if they have been modified. ```bash specify integration use __ ``` -------------------------------- ### Install Spec Kit from Main Branch Source: https://github.github.io/spec-kit/installation.html Installs the latest version of Spec Kit directly from the main branch. This may include unreleased changes and is not recommended for production environments. ```bash # Or install latest from main (may include unreleased changes) uvx --from git+https://github.com/github/spec-kit.git specify init ``` -------------------------------- ### Verify Spec Kit CLI Installation Source: https://github.github.io/spec-kit/upgrade.html Check if the 'specify-cli' tool is installed and its location. If not found, uninstall and reinstall it using 'uv tool'. ```bash # Check installed tools uv tool list # Should show specify-cli # Verify path which specify # Should point to the uv tool installation directory ``` ```bash uv tool uninstall specify-cli uv tool install specify-cli --from git+https://github.com/github/spec-kit.git ``` -------------------------------- ### Copy Extension Configuration Template Source: https://github.github.io/spec-kit/reference/extensions.html Copies the template configuration file for a newly installed extension to the project configuration directory. ```bash cp .specify/extensions//-config.template.yml \ .specify/extensions//-config.yml ``` -------------------------------- ### Initialize a Project Source: https://github.github.io/spec-kit/reference/core.html Creates a new Spec Kit project with the necessary directory structure, templates, scripts, and AI coding agent integration files. You can specify a project name or initialize in the current directory. Options allow for integration configuration, script type selection, forcing merges, skipping git initialization, ignoring agent tools, installing presets, and choosing branch numbering strategies. ```APIDOC ## Initialize a Project ### Description Creates a new Spec Kit project with the necessary directory structure, templates, scripts, and AI coding agent integration files. ### Method ``` specify init [] ``` ### Parameters #### Path Parameters - **project_name** (string) - Optional - The name of the project to create. If not provided, the project is initialized in the current directory if `--here` is used. #### Options - **--integration** `` - Optional - AI coding agent integration to use (e.g. `copilot`, `claude`, `gemini`). See the Integrations reference for all available keys. - **--integration-options** `` - Optional - Options for the integration (e.g. `--integration-options="--commands-dir .myagent/cmds"`). - **--script** `sh`|`ps` - Optional - Script type: `sh` (bash/zsh) or `ps` (PowerShell). - **--here** - Optional - Initialize in the current directory instead of creating a new one. - **--force** - Optional - Force merge/overwrite when initializing in an existing directory. - **--no-git** - Optional - Skip git repository initialization. - **--ignore-agent-tools** - Optional - Skip checks for AI coding agent CLI tools. - **--preset** `` - Optional - Install a preset during initialization. - **--branch-numbering** `sequential`|`timestamp` - Optional - Branch numbering strategy: `sequential` (default) or `timestamp`. ### Request Example ```bash # Create a new project with an integration specify init my-project --integration copilot # Initialize in the current directory specify init --here --integration copilot # Force merge into a non-empty directory specify init --here --force --integration copilot # Use PowerShell scripts (Windows/cross-platform) specify init my-project --integration copilot --script ps # Skip git initialization specify init my-project --integration copilot --no-git # Install a preset during initialization specify init my-project --integration copilot --preset compliance # Use timestamp-based branch numbering (useful for distributed teams) specify init my-project --integration copilot --branch-numbering timestamp ``` ### Environment Variables - **SPECIFY_FEATURE** - Override feature detection for non-Git repositories. Set to the feature directory name (e.g., `001-photo-albums`) to work on a specific feature when not using Git branches. Must be set in the context of the agent prior to using `/speckit.plan` or follow-up commands. ``` -------------------------------- ### Upgrade Spec Kit CLI with uv tool install Source: https://github.github.io/spec-kit/upgrade.html Use this command to upgrade the Spec Kit CLI tool to a specific release when installed with `uv tool install`. Check the Releases page for the latest tag. ```bash uv tool install specify-cli --force --from git+https://github.com/github/spec-kit.git@vX.Y.Z ``` -------------------------------- ### Install Git Credential Manager on Linux Source: https://github.github.io/spec-kit/installation.html Install Git Credential Manager (GCM) v2.6.1 on Linux systems to resolve Git authentication issues. This script downloads, installs, and configures GCM, then cleans up the downloaded file. ```bash #!/usr/bin/env bash set -e echo "Downloading Git Credential Manager v2.6.1..." wget https://github.com/git-ecosystem/git-credential-manager/releases/download/v2.6.1/gcm-linux_amd64.2.6.1.deb echo "Installing Git Credential Manager..." sudo dpkg -i gcm-linux_amd64.2.6.1.deb echo "Configuring Git to use GCM..." git config --global credential.helper manager echo "Cleaning up..." rm gcm-linux_amd64.2.6.1.deb ``` -------------------------------- ### Clone Spec-Kit Repository Source: https://github.github.io/spec-kit/local-development.html Clone the repository and checkout a new feature branch to start local development. ```bash git clone https://github.com/github/spec-kit.git cd spec-kit # Work on a feature branch git checkout -b your-feature-branch ``` -------------------------------- ### List Extension Catalogs Source: https://github.github.io/spec-kit/reference/extensions.html Shows all active catalogs in the stack, including their priorities and install permissions. ```bash specify extension catalog list ``` -------------------------------- ### Switch to a Different Integration Source: https://github.github.io/spec-kit/reference/integrations.html Use this command to change the default integration. If the target integration is not installed, it will be installed. The `--force` option can overwrite modified files during uninstall or overwrite managed shared templates when changing the default. ```bash specify integration switch __ ``` -------------------------------- ### Initialize project with --no-git flag Source: https://github.github.io/spec-kit/upgrade.html Use the `--no-git` flag during initial project setup to skip Git repository initialization. This is useful for projects managed with different version control systems or within monorepos. ```bash specify init my-project --integration copilot --no-git ``` -------------------------------- ### Build Spec Kit Wheel for Air-Gapped Environments Source: https://github.github.io/spec-kit/installation.html Builds a wheel package for Spec Kit on a connected machine. This wheel can then be transferred to an air-gapped environment for installation. Ensure the build machine has the same OS and Python version as the target. ```bash # Clone the repository git clone https://github.com/github/spec-kit.git cd spec-kit # Build the wheel pip install build python -m build --wheel --outdir dist/ ``` -------------------------------- ### Full SDD Cycle Workflow Definition Source: https://github.github.io/spec-kit/reference/workflows.html Example YAML definition for the 'Full SDD Cycle' workflow, including schema version, metadata, requirements, inputs, and steps. ```yaml schema_version: "1.0" workflow: id: "speckit" name: "Full SDD Cycle" version: "1.0.0" author: "GitHub" description: "Runs specify → plan → tasks → implement with review gates" requires: speckit_version: ">=0.7.2" integrations: any: ["copilot", "claude", "gemini"] inputs: spec: type: string required: true prompt: "Describe what you want to build" integration: type: string default: "copilot" prompt: "Integration to use (e.g. claude, copilot, gemini)" scope: type: string default: "full" enum: ["full", "backend-only", "frontend-only"] steps: - id: specify command: speckit.specify integration: "{{ inputs.integration }}" input: args: "{{ inputs.spec }}" - id: review-spec type: gate message: "Review the generated spec before planning." options: [approve, reject] on_reject: abort - id: plan command: speckit.plan integration: "{{ inputs.integration }}" input: args: "{{ inputs.spec }}" - id: review-plan type: gate message: "Review the plan before generating tasks." options: [approve, reject] on_reject: abort - id: tasks command: speckit.tasks integration: "{{ inputs.integration }}" input: args: "{{ inputs.spec }}" - id: implement command: speckit.implement integration: "{{ inputs.integration }}" input: args: "{{ inputs.spec }}" ``` -------------------------------- ### Check Installed Tools Source: https://github.github.io/spec-kit/reference/core.html Checks that required tools are available on your system, including `git` and any CLI-based AI coding agents. IDE-based agents are skipped as they do not require a CLI tool. ```APIDOC ## Check Installed Tools ### Description Checks that required tools are available on your system: `git` and any CLI-based AI coding agents. IDE-based agents are skipped since they don't require a CLI tool. ### Method ``` specify check ``` ``` -------------------------------- ### Verify Spec Kit CLI Upgrade Source: https://github.github.io/spec-kit/upgrade.html Run this command after upgrading the Spec Kit CLI to check installed tools and confirm the CLI is functioning correctly. ```bash specify check ``` -------------------------------- ### Update Extensions Source: https://github.github.io/spec-kit/reference/extensions.html Updates a specific extension or all installed extensions if no name is provided. ```bash specify extension update [] ``` -------------------------------- ### Upgrade Spec Kit CLI with pipx Source: https://github.github.io/spec-kit/upgrade.html Upgrade the Spec Kit CLI to a specific release when installed using `pipx`. ```bash pipx install --force git+https://github.com/github/spec-kit.git@vX.Y.Z ``` -------------------------------- ### Check Installed Tools Source: https://github.github.io/spec-kit/reference/core.html The `specify check` command verifies that essential tools like `git` and any required CLI-based AI coding agents are available on your system. IDE-based agents are not checked as they do not require a CLI. ```bash specify check ``` -------------------------------- ### Implement Solution with /speckit.implement Source: https://github.github.io/spec-kit/quickstart.html Initiate the implementation of the solution using the /speckit.implement command. ```bash /speckit.implement __ ``` -------------------------------- ### Create Technical Implementation Plan Source: https://github.github.io/spec-kit/quickstart.html Use the `/speckit.plan` command to outline your tech stack and architecture choices. ```chat /speckit.plan The application uses Vite with minimal number of libraries. Use vanilla HTML, CSS, and JavaScript as much as possible. Images are not uploaded anywhere and metadata is stored in a local SQLite database. ``` -------------------------------- ### Initialize a New Spec Kit Project Source: https://github.github.io/spec-kit/reference/core.html Use `specify init` to create a new project. Specify a project name or use `--here` to initialize in the current directory. Use `--force` to overwrite existing files. Integrations like `copilot` can be specified with `--integration`. ```bash specify init [] ``` ```bash # Create a new project with an integration specify init my-project --integration copilot ``` ```bash # Initialize in the current directory specify init --here --integration copilot ``` ```bash # Force merge into a non-empty directory specify init --here --force --integration copilot ``` ```bash # Use PowerShell scripts (Windows/cross-platform) specify init my-project --integration copilot --script ps ``` ```bash # Skip git initialization specify init my-project --integration copilot --no-git ``` ```bash # Install a preset during initialization specify init my-project --integration copilot --preset compliance ``` ```bash # Use timestamp-based branch numbering (useful for distributed teams) specify init my-project --integration copilot --branch-numbering timestamp ``` -------------------------------- ### Remove an Installed Preset Source: https://github.github.io/spec-kit/reference/presets.html Removes an installed preset and cleans up its registered commands. ```bash specify preset remove ``` -------------------------------- ### Create Temporary Workspace for Testing Source: https://github.github.io/spec-kit/local-development.html Set up a temporary directory to test the `init --here` command in a clean environment, especially when working in a dirty directory. ```bash mkdir /tmp/spec-test && cd /tmp/spec-test python -m src.specify_cli init --here --integration claude --ignore-agent-tools --script sh # if repo copied here ``` -------------------------------- ### Specify init Confirmation Prompt Source: https://github.github.io/spec-kit/upgrade.html This is the warning prompt displayed by `specify init` when the `--force` flag is not used and the current directory is not empty. It asks for confirmation before proceeding. ```text Warning: Current directory is not empty (25 items) Template files will be merged with existing content and may overwrite existing files Proceed? [y/N] ``` -------------------------------- ### Execute Implementation Plan Source: https://github.github.io/spec-kit/quickstart.html Use the `/speckit.implement` command to execute the technical implementation plan. ```chat /speckit.implement ``` -------------------------------- ### Initialize a Project Offline Source: https://github.github.io/spec-kit/installation.html Initialize a new project with a specified integration without requiring network access. Bundled assets are used by default. ```bash # Initialize a project — no GitHub access needed specify init my-project --integration claude ``` -------------------------------- ### Backup Constitution Before Upgrade Source: https://github.github.io/spec-kit/upgrade.html Before running `specify init --here --force`, back up your customized `.specify/memory/constitution.md` file to prevent it from being overwritten by the default template. ```bash # 1. Back up your constitution before upgrading cp .specify/memory/constitution.md .specify/memory/constitution-backup.md ``` -------------------------------- ### Analyze Implementation Plan Source: https://github.github.io/spec-kit/quickstart.html Optionally, use the `/speckit.analyze` command to validate the generated plan. ```chat /speckit.analyze ``` -------------------------------- ### Specify Project Requirements Source: https://github.github.io/spec-kit/quickstart.html Use the `/speckit.specify` command to describe what you want to build, focusing on the 'what' and 'why'. ```chat /speckit.specify Build an application that can help me organize my photos in separate photo albums. Albums are grouped by date and can be re-organized by dragging and dropping on the main page. Albums are never in other nested albums. Within each album, photos are previewed in a tile-like interface. ``` ```chat Develop Taskify, a team productivity platform. It should allow users to create projects, add team members, assign tasks, comment and move tasks between boards in Kanban style. In this initial phase for this feature, let's call it "Create Taskify," let's have multiple users but the users will be declared ahead of time, predefined. I want five users in two different categories, one product manager and four engineers. Let's create three different sample projects. Let's have the standard Kanban columns for the status of each task, such as "To Do," "In Progress," "In Review," and "Done." There will be no login for this application as this is just the very first testing thing to ensure that our basic features are set up. ``` -------------------------------- ### Remove a Workflow Source: https://github.github.io/spec-kit/reference/workflows.html Removes an installed workflow from the project. ```bash specify workflow remove ``` -------------------------------- ### Initialize Spec Kit Project Source: https://github.github.io/spec-kit/quickstart.html Use this command to create a new project directory or initialize Spec Kit in the current directory. The CLI auto-selects script type based on OS. ```bash # Create a new project directory uvx --from git+https://github.com/github/spec-kit.git specify init # OR initialize in the current directory uvx --from git+https://github.com/github/spec-kit.git specify init . ``` ```bash pipx install git+https://github.com/github/spec-kit.git ``` ```bash specify init specify init . ``` ```bash uvx --from git+https://github.com/github/spec-kit.git specify init --script ps # Force PowerShell uvx --from git+https://github.com/github/spec-kit.git specify init --script sh # Force POSIX shell ``` -------------------------------- ### Add a Preset Catalog Source: https://github.github.io/spec-kit/reference/presets.html Adds a catalog to the project's `.specify/preset-catalogs.yml`. Use --name, --priority, --install-allowed, and --description to configure. ```bash specify preset catalog add ``` -------------------------------- ### Backup Custom Scripts or Templates Source: https://github.github.io/spec-kit/upgrade.html If you have customized files in `.specify/scripts/` or `.specify/templates/`, back them up before running `specify init --here --force` to prevent them from being overwritten. ```bash # Back up custom scripts or templates # cp -r .specify/scripts/ .specify/scripts-backup/ # cp -r .specify/templates/ .specify/templates-backup/ ``` -------------------------------- ### Initialize Spec Kit in Current Directory Source: https://github.github.io/spec-kit/installation.html Initializes Spec Kit in the current directory using a specific release tag. The `--here` flag can also be used as an alternative. ```bash uvx --from git+https://github.com/github/spec-kit.git@vX.Y.Z specify init . # or use the --here flag uvx --from git+https://github.com/github/spec-kit.git@vX.Y.Z specify init --here ``` -------------------------------- ### Update Project Files with specify init Source: https://github.github.io/spec-kit/upgrade.html Run this command inside your project directory to update slash commands, templates, and scripts. Replace `` with your AI coding agent. ```bash specify init --here --force --integration ``` -------------------------------- ### Generate Technical Plan with /speckit.plan Source: https://github.github.io/spec-kit/quickstart.html Generate a technical plan by specifying your tech stack and technical requirements, such as .NET Aspire, Postgres, and Blazor server. ```bash /speckit.plan We are going to generate this using .NET Aspire, using Postgres as the database. The frontend should use Blazor server with drag-and-drop task boards, real-time updates. There should be a REST API created with a projects API, tasks API, and a notifications API. __ ``` -------------------------------- ### Remove an Extension Source: https://github.github.io/spec-kit/reference/extensions.html Removes an installed extension. Configuration files are backed up by default; use `--keep-config` to preserve them or `--force` to skip confirmation. ```bash specify extension remove ``` -------------------------------- ### Set Preset Priority Source: https://github.github.io/spec-kit/reference/presets.html Changes the resolution priority of an installed preset. Lower numbers have higher precedence, determining which preset wins when multiple provide the same file. ```bash specify preset set-priority ``` -------------------------------- ### Verify Spec Kit Command Files Exist Source: https://github.github.io/spec-kit/upgrade.html After running 'specify init', check for the presence of command files in the appropriate agent directories. This is crucial if your AI agent isn't recognizing slash commands. ```bash # For GitHub Copilot ls -la .github/prompts/ # For Claude ls -la .claude/commands/ # For Pi ls -la .pi/prompts/ ``` -------------------------------- ### Define Project Constitution Source: https://github.github.io/spec-kit/quickstart.html Use the `/speckit.constitution` command in your coding agent's chat to establish project rules and principles. Provide specific principles as arguments. ```chat /speckit.constitution This project follows a "Library-First" approach. All features must be implemented as standalone libraries first. We use TDD strictly. We prefer functional programming patterns. ``` ```chat /speckit.constitution Taskify is a "Security-First" application. All user inputs must be validated. We use a microservices architecture. Code must be fully documented. ``` -------------------------------- ### Audit Implementation Plan with /speckit.analyze Source: https://github.github.io/spec-kit/quickstart.html Have your coding agent audit the implementation plan using the /speckit.analyze command. ```bash /speckit.analyze __ ``` -------------------------------- ### Delete duplicate slash commands for Kilo Code Source: https://github.github.io/spec-kit/upgrade.html After upgrading, if IDE-based agents show duplicate slash commands, manually delete the old command files from the agent's folder. This example targets Kilo Code. ```bash # Navigate to the agent's commands folder cd .kilocode/rules/ # List files and identify duplicates ls -la # Delete old versions (example filenames - yours may differ) rm speckit.specify-old.md rm speckit.plan-v1.md ``` -------------------------------- ### Generate Actionable Task List Source: https://github.github.io/spec-kit/quickstart.html Use the `/speckit.tasks` command to create an actionable task list for implementation. ```chat /speckit.tasks ``` -------------------------------- ### Delete old command files for IDE-based agents Source: https://github.github.io/spec-kit/upgrade.html When duplicate slash commands appear in IDEs due to upgrades, navigate to the agent's command folder and remove the old command files. This example uses a generic filename. ```bash # Find the agent folder (example: .kilocode/rules/) cd .kilocode/rules/ # List all files ls -la # Delete old command files rm speckit.old-command-name.md ``` -------------------------------- ### Ignore Agent Tools Check Source: https://github.github.io/spec-kit/installation.html Initialize a project without checking for the necessary coding agent tools. This is useful if you prefer to manage tool availability manually. ```bash uvx --from git+https://github.com/github/spec-kit.git@vX.Y.Z specify init --integration claude --ignore-agent-tools ``` -------------------------------- ### Back up custom templates and scripts Source: https://github.github.io/spec-kit/upgrade.html Before upgrading, back up your custom templates and scripts to prevent data loss. This is a manual backup step. ```bash cp -r .specify/templates .specify/templates-backup cp -r .specify/scripts .specify/scripts-backup ``` -------------------------------- ### Generate Actionable Tasks with /speckit.tasks Source: https://github.github.io/spec-kit/quickstart.html Generate an actionable task list based on the refined specification and technical plan. ```bash /speckit.tasks __ ``` -------------------------------- ### Run a Workflow Source: https://github.github.io/spec-kit/reference/workflows.html Runs a workflow from a catalog ID, URL, or local file path. Inputs declared by the workflow can be provided via `--input` or will be prompted interactively. Requires an initialized project. ```bash specify workflow run ``` ```bash specify workflow run speckit -i spec="Build a kanban board with drag-and-drop task management" -i scope=full ``` -------------------------------- ### Invoke Spec-Kit with uvx from Local Git Path Source: https://github.github.io/spec-kit/local-development.html Use uvx to run the CLI directly from a local path, simulating user flows. This is useful for testing changes on your current branch. ```bash uvx --from . specify init demo-uvx --integration copilot --ignore-agent-tools --script sh ``` -------------------------------- ### Restore Customized Constitution After Upgrade Source: https://github.github.io/spec-kit/upgrade.html After upgrading with `specify init --here --force`, restore your customized constitution file from the backup. ```bash # 3. Restore your customized constitution mv .specify/memory/constitution-backup.md .specify/memory/constitution.md ``` -------------------------------- ### Upgrade an Integration Source: https://github.github.io/spec-kit/reference/integrations.html Reinstalls an integration with updated templates and commands. It defaults to the current default integration or can be specified by key. Use `--force` to overwrite modified files. ```bash specify integration upgrade [] __ ``` -------------------------------- ### Specify Coding Agent Integration Source: https://github.github.io/spec-kit/installation.html Initialize a new project and proactively specify the coding agent integration. Supported integrations include claude, gemini, copilot, codebuddy, and pi. ```bash uvx --from git+https://github.com/github/spec-kit.git@vX.Y.Z specify init --integration claude ``` ```bash uvx --from git+https://github.com/github/spec-kit.git@vX.Y.Z specify init --integration gemini ``` ```bash uvx --from git+https://github.com/github/spec-kit.git@vX.Y.Z specify init --integration copilot ``` ```bash uvx --from git+https://github.com/github/spec-kit.git@vX.Y.Z specify init --integration codebuddy ``` ```bash uvx --from git+https://github.com/github/spec-kit.git@vX.Y.Z specify init --integration pi ``` -------------------------------- ### Refine Specification with More Details using /speckit.clarify Source: https://github.github.io/spec-kit/quickstart.html Continue to refine the specification by providing more detailed requirements, including user interface behavior and data handling. ```bash /speckit.clarify When you first launch Taskify, it's going to give you a list of the five users to pick from. There will be no password required. When you click on a user, you go into the main view, which displays the list of projects. When you click on a project, you open the Kanban board for that project. You're going to see the columns. You'll be able to drag and drop cards back and forth between different columns. You will see any cards that are assigned to you, the currently logged in user, in a different color from all the other ones, so you can quickly see yours. You can edit any comments that you make, but you can't edit comments that other people made. You can delete any comments that you made, but you can't delete comments anybody else made. __ ``` -------------------------------- ### Upgrade Spec Kit CLI with uvx Source: https://github.github.io/spec-kit/upgrade.html Upgrade the Spec Kit CLI using `uvx` by specifying the desired release tag. This command also initializes the project with a specific integration. ```bash uvx --from git+https://github.com/github/spec-kit.git@vX.Y.Z specify init --here --integration copilot ``` -------------------------------- ### Add Presets with Priority Source: https://github.github.io/spec-kit/reference/presets.html Add presets to your Spec Kit configuration, specifying a priority for each. Higher priority presets take precedence when resolving files. ```bash specify preset add compliance --priority 5 specify preset add team-workflow --priority 10 ``` -------------------------------- ### Upgrade Spec Kit with custom templates and constitution backup Source: https://github.github.io/spec-kit/upgrade.html This scenario outlines the steps to upgrade Spec Kit while preserving custom templates and constitution. It involves backing up customizations, upgrading the CLI, updating the project, and then restoring the backed-up files. ```bash # 1. Back up customizations cp .specify/memory/constitution.md /tmp/constitution-backup.md cp -r .specify/templates /tmp/templates-backup # 2. Upgrade CLI uv tool install specify-cli --force --from git+https://github.com/github/spec-kit.git # 3. Update project specify init --here --force --integration copilot # 4. Restore customizations mv /tmp/constitution-backup.md .specify/memory/constitution.md # Manually merge template changes if needed ``` -------------------------------- ### Restore constitution customizations from manual backup Source: https://github.github.io/spec-kit/upgrade.html If you lost your constitution customizations and had manually backed them up (e.g., to `/tmp`), use the `cp` command to restore them to their original location. ```bash # If you backed up manually cp /tmp/constitution-backup.md .specify/memory/constitution.md ``` -------------------------------- ### Display Spec Kit Version Source: https://github.github.io/spec-kit/reference/core.html Use `specify version` or its shorthand `specify --version` / `specify -V` to display the current Spec Kit CLI version, Python version, platform, and architecture. ```bash specify version ``` ```bash specify --version ``` ```bash specify -V ``` -------------------------------- ### Upgrade Spec Kit CLI and update project files Source: https://github.github.io/spec-kit/upgrade.html This scenario covers upgrading the Spec Kit CLI and updating project files to incorporate new commands. It also includes restoring customizations if necessary. ```bash # Upgrade CLI (if using persistent install) uv tool install specify-cli --force --from git+https://github.com/github/spec-kit.git # Update project files to get new commands specify init --here --force --integration copilot # Restore your constitution if customized git restore .specify/memory/constitution.md ``` -------------------------------- ### List Workflow Catalogs Source: https://github.github.io/spec-kit/reference/workflows.html Shows all active catalog sources used for searching and adding workflows. ```bash specify workflow catalog list ``` -------------------------------- ### Invoke Spec-Kit with uvx using Absolute Path Source: https://github.github.io/spec-kit/local-development.html Execute the CLI using uvx with an absolute path to the local repository. This is useful when running commands from a different directory. ```bash uvx --from /mnt/c/GitHub/spec-kit specify --help ``` ```bash uvx --from /mnt/c/GitHub/spec-kit specify init demo-anywhere --integration copilot --ignore-agent-tools --script sh ``` -------------------------------- ### Search Available Presets Source: https://github.github.io/spec-kit/reference/presets.html Searches active catalogs for presets matching a query. Without a query, lists all available presets. Use --tag or --author to filter. ```bash specify preset search [query] ``` -------------------------------- ### Build Spec-Kit Wheel Locally Source: https://github.github.io/spec-kit/local-development.html Build a wheel artifact for the project locally. This is useful for validating packaging before publishing a release. ```bash uv build ls dist/ ``` -------------------------------- ### Invoke Spec-Kit with uvx using Environment Variable Source: https://github.github.io/spec-kit/local-development.html Set an environment variable for the local repository path to conveniently invoke the CLI with uvx. This is an alternative to using an absolute path directly. ```bash export SPEC_KIT_SRC=/mnt/c/GitHub/spec-kit uvx --from "$SPEC_KIT_SRC" specify init demo-env --integration copilot --ignore-agent-tools --script ps ``` -------------------------------- ### Resolve a Preset File Source: https://github.github.io/spec-kit/reference/presets.html Shows which file will be used for a given name by tracing the full resolution stack. Useful for debugging multiple presets providing the same file. ```bash specify preset resolve ``` -------------------------------- ### Check Script Permissions Source: https://github.github.io/spec-kit/local-development.html After running an 'init' command, verify that shell scripts have executable permissions on POSIX systems. On Windows, `.ps1` scripts are used and do not require `chmod`. ```bash ls -l scripts | grep .sh # Expect owner execute bit (e.g. -rwxr-xr-x) ``` -------------------------------- ### Upgrade Spec Kit without Git Source: https://github.github.io/spec-kit/upgrade.html This scenario details how to upgrade Spec Kit in a project that was initialized without Git. It involves manually backing up customizations, running the upgrade, and then restoring the backed-up files. ```bash # Manually back up files you customized cp .specify/memory/constitution.md /tmp/constitution-backup.md # Run upgrade specify init --here --force --integration copilot --no-git # Restore customizations mv /tmp/constitution-backup.md .specify/memory/constitution.md ``` -------------------------------- ### Search for Available Extensions Source: https://github.github.io/spec-kit/reference/extensions.html Searches active catalogs for extensions matching a query. Without a query, lists all available extensions. Use --tag, --author, or --verified to filter results. ```bash specify extension search [query] ``` -------------------------------- ### Clean Up Build Artifacts and Virtual Environment Source: https://github.github.io/spec-kit/local-development.html Remove temporary build artifacts, the virtual environment, and other generated files to clean up the local development environment. ```bash rm -rf .venv dist build *.egg-info ``` -------------------------------- ### Upgrade project with --no-git flag Source: https://github.github.io/spec-kit/upgrade.html When upgrading a project that was initialized with `--no-git`, use the same flag to ensure Git initialization is skipped. This command updates the project files and applies the specified integration. ```bash specify init --here --force --integration copilot --no-git ``` -------------------------------- ### Version Information Source: https://github.github.io/spec-kit/reference/core.html Displays the Spec Kit CLI version, Python version, platform, and architecture. A quick version check is also available using shorthand flags. ```APIDOC ## Version Information ### Description Displays the Spec Kit CLI version, Python version, platform, and architecture. ### Method ``` specify version ``` ### Aliases ``` specify --version specify -V ``` ``` -------------------------------- ### Workflow Info Source: https://github.github.io/spec-kit/reference/workflows.html Shows detailed information about a workflow, including its steps, inputs, and requirements. ```bash specify workflow info ``` -------------------------------- ### Clarify Task Card Details with /speckit.clarify Source: https://github.github.io/spec-kit/quickstart.html Use this command to interactively refine specification details, such as task card functionalities and user interactions. ```bash /speckit.clarify I want to clarify the task card details. For each task in the UI for a task card, you should be able to change the current status of the task between the different columns in the Kanban work board. You should be able to leave an unlimited number of comments for a particular card. You should be able to, from that task card, assign one of the valid users. __ ``` -------------------------------- ### Validate Specification Checklist with /speckit.checklist Source: https://github.github.io/spec-kit/quickstart.html Use this command to validate the current specification checklist. ```bash /speckit.checklist __ ``` -------------------------------- ### Invoke Spec-Kit with uvx from Git Branch Source: https://github.github.io/spec-kit/local-development.html Run the CLI from a specific Git branch using uvx without merging. Ensure your working branch is pushed first. ```bash # Push your working branch first git push origin your-feature-branch uvx --from git+https://github.com/github/spec-kit.git@your-feature-branch specify init demo-branch-test --script ps ``` -------------------------------- ### Restore constitution customizations using Git Source: https://github.github.io/spec-kit/upgrade.html If you lost your constitution customizations after an upgrade and had committed them before upgrading, you can restore them using `git restore`. ```bash # If you committed before upgrading git restore .specify/memory/constitution.md ```