Skip to content

[Extension]: Add SpecKit Companion Extension #2926

Description

@alfredoperez

Extension ID

companion

Extension Name

SpecKit Companion

Version

0.3.0

Description

Live spec-driven progress for SpecKit Companion — lifecycle capture, status, resume, plus a turbo pipeline profile.

Author

Alfredo Perez

Repository URL

https://github.com/alfredoperez/speckit-companion

Download URL

https://github.com/alfredoperez/speckit-companion/releases/download/speckit-ext-v0.3.0/companion-0.3.0.zip

License

MIT

Homepage (optional)

https://github.com/alfredoperez/speckit-companion/tree/main/speckit-extension

Documentation URL (optional)

https://github.com/alfredoperez/speckit-companion/blob/main/speckit-extension/docs/

Changelog URL (optional)

https://github.com/alfredoperez/speckit-companion/blob/main/speckit-extension/CHANGELOG.md

Required Spec Kit Version

=0.8.5

Required Tools (optional)

python3 (optional)

Number of Commands

10

Number of Hooks (optional)

4

Tags

tracking, companion, progress, vscode, lifecycle, resume

Key Features

  • Full lifecycle capture — after_specify/plan/tasks/implement hooks record every spec-kit step into .spec-context.json automatically; no new commands needed to get tracking.
  • Status + Resume — /speckit.companion.status reports where a spec stands (step, status, decisions, next action); /speckit.companion.resume continues the pipeline from the recorded step, dispatching the spec's own command family.
  • Per-task implement journaling — each task is recorded the moment it completes, so progress shows real cadence, not one end-of-run burst.
  • Template profiles (standard / turbo) — both always installed; switch the pipeline shape non-destructively per project or per spec. Turbo trims to no user-story section, a leaner plan, and files/dependencies tasks.
  • Complexity fast-path (beta) — small changes fold plan + tasks into the specify pass (three lean files), landing the spec ready-to-implement in one run; larger changes keep the full pipeline.
  • Honest state recovery — when a hook didn't fire, derive-from-files.py reconstructs state from the on-disk artifacts, so the GUI reflects reality.
  • Safe & agent-agnostic — stdlib-only Python, atomic append-only writes, never regresses a shipped spec, never fails the host command, and degrades gracefully when python3 is absent.

Testing Checklist

  • Extension installs successfully via download URL
  • All commands execute without errors
  • Documentation is complete and accurate
  • No security vulnerabilities identified
  • Tested on at least one real project

Submission Requirements

  • Valid extension.yml manifest included
  • README.md with installation and usage instructions
  • LICENSE file included
  • GitHub release created with version tag
  • All command files exist and are properly formatted
  • Extension ID follows naming conventions (lowercase-with-hyphens)

Testing Details

Tested on:

  • macOS (darwin) with Spec Kit v0.9.5.dev0
  • Clean scratch-dir install from the release download URL

Test project: alfredoperez/speckit-companion — dogfooded: features were built through the very turbo pipeline this extension provides.

Test scenarios:

  1. Installed from the release URL (specify extension add companion --from <url> --force) → specify extension list shows v0.3.0 with all 10 commands.
  2. Ran a full lifecycle (specify → plan → tasks → implement); the after_* hooks captured each step into .spec-context.json.
  3. Verified per-task implement journaling + the status/resume commands.
  4. Confirmed graceful degradation with python3 absent (capture skips, never fails the host command).

Example Usage

# Install
specify extension add companion --from https://github.com/alfredoperez/speckit-companion/releases/download/speckit-ext-v0.3.0/companion-0.3.0.zip

# Where does this spec stand right now?
/speckit.companion.status
  
# Resume the pipeline from the recorded step
/speckit.companion.resume

Proposed Catalog Entry

{ 
    "companion": {
      "name": "SpecKit Companion",
      "id": "companion",
      "description": "Live spec-driven progress for SpecKit Companion — lifecycle capture, status, resume, and a turbo pipeline profile.",
      "download_url": "https://github.com/alfredoperez/speckit-companion/releases/download/speckit-ext-v0.3.0/companion-0.3.0.zip",
      "repository": "https://github.com/alfredoperez/speckit-companion",
      "homepage": "https://github.com/alfredoperez/speckit-companion/tree/main/speckit-extension",
      "documentation": "https://github.com/alfredoperez/speckit-companion/blob/main/speckit-extension/docs/",
      "changelog": "https://github.com/alfredoperez/speckit-companion/blob/main/speckit-extension/CHANGELOG.md",
      "license": "MIT",
      "category": "visibility",
      "effect": "read-write",
      "requires": { "speckit_version": ">=0.8.5" },
      "provides": { "commands": 10, "hooks": 4 },
      "tags": ["spec-driven-development", "tracking", "companion"],
      "verified": false,
      "downloads": 0,
      "stars": 0,
      "created_at": "2026-06-10T00:00:00Z",
      "updated_at": "2026-06-10T00:00:00Z"
    }
  }

Additional Context

SpecKit Companion is the spec-kit-side half of the SpecKit Companion VS Code extension — it writes the canonical .spec-context.json that the GUI reads, but runs fully standalone (the JSON is useful to any tool). Built and dogfooded on its own repo: the features in this release were developed through the very turbo pipeline it provides

https://marketplace.visualstudio.com/items?itemName=alfredoperez.speckit-companion
https://open-vsx.org/extension/alfredoperez/speckit-companion

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions