Skip to content

[Extension]: Add Analytics #3288

Description

@Huljo

Extension ID

analytics

Extension Name

Analytics

Version

v0.1.0

Description

Silently collects performance metrics in the background while you work. Every command you run is timed, and an LLM evaluates how long a human would have taken to produce the same result, giving you hard numbers on your productivity gains.

Next feats: cost tracking, chat history logging, iteration counts, and a live dashboard.
Goal: building the definitive measurement layer for AI-assisted software development using Spec kit.

Author

Fyloss

Repository URL

https://github.com/Fyloss/spec-kit-analytics

Download URL

https://github.com/Fyloss/spec-kit-analytics/archive/refs/tags/v0.1.0.zip

License

MIT

Homepage (optional)

No response

Documentation URL (optional)

https://github.com/Fyloss/spec-kit-analytics/tree/main/doc

Changelog URL (optional)

No response

Required Spec Kit Version

=0.10.0

Required Tools (optional)

Number of Commands

2

Number of Hooks (optional)

16

Tags

analytics
productivity
metrics
benchmarking
tracking

Key Features

  • Human Time Estimator: LLM-powered estimates of how long a junior & senior dev would take
  • Task Projection: After tasks, estimates implementation time per task
  • Format Toggle: Output in Markdown (default) or JSON
  • Gitignore Manager: One-click .gitignore protection for analytics data
  • Purge Command: Delete analytics for one spec or all at once
  • Show Command: Print collected stats. No file opening required

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 26 with Spec Kit v0.12.0
  • Linux Ubuntu 24 with Spec Kit v0.12.0

Test project: local basic NextJs app (front + back)

Test scenarios:

  1. Installer extension
specify extension add analytics --from https://github.com/Fyloss/spec-kit-analytics/archive/refs/tags/v0.1.0.zip
  1. Configured settings
    Config file: .specify/extensions/analytics/analytics-config.yml
times:
  splitByCommands: false
humanEstimates:
  commands: true
  splitByCommands: false
  tasks: true
gitignore: false
# format: markdown
  1. Ran all commands
    Spec Kit commands specify / plan / tasks / implement
    analytics.show --all
    analytics.purge --all

  2. Verified outputs
    /
    analytics/
    time/
    commands.md
    humanEstimates/
    commands.md # Per-command human time estimates
    tasks.md # Task implementation time projections

Example Usage

## 🚀 Installation


specify extension add analytics --from https://github.com/Fyloss/spec-kit-analytics/archive/refs/tags/v0.1.0.zip


That's it. Analytics start collecting immediately with sensible defaults. Edit `.specify/extensions/analytics/analytics-config.yml` to customize.

---

## ⚙️ Configuration

Config file: **`.specify/extensions/analytics/analytics-config.yml`**


times:
  splitByCommands: false
humanEstimates:
  commands: true
  splitByCommands: false
  tasks: true
gitignore: false
# format: markdown**[Full configuration reference, format toggle & gitignore manager](doc/configuration.md)**

---

## 📁 Analytics Output Structure


<spec-folder>/
  analytics/
    time/
      commands.md              # (or .json, or commands/<name>.md if splitByCommands)
      humanEstimates/
        commands.md            # Per-command human time estimates
        tasks.md               # Task implementation time projections


---

## 🧹 Purge Command


analytics.purge <spec-name>  # Delete analytics for a specific spec
analytics.purge --all        # Delete all analytics across the project


→ **[Purge command docs](doc/purge-command.md)**

---

## 👀 Show Command

A pure local renderer. Print collected stats.


analytics.show <spec-name>   # Print stats for a specific spec
analytics.show --all         # Print stats for every spec, with project totals
analytics.show               # Same as --all

Proposed Catalog Entry

{
  "analytics": {
    "name": "Analytics",
    "id": "analytics",
    "description": "Measure what your AI builds, and how much time it saves you",
    "author": "Fyloss",
    "version": "0.1.0",
    "download_url": "https://github.com/Fyloss/spec-kit-analytics/archive/refs/tags/v0.1.0.zip",
    "repository": "https://github.com/Fyloss/spec-kit-analytics",
    "homepage": "https://github.com/Fyloss/spec-kit-analytics",
    "license": "MIT",
    "requires": {
      "speckit_version": ">=0.10.0"
    },
    "provides": {
      "commands": 2
    },
    "tags": ["analytics", "productivity", "metrics", "benchmarking", "tracking"],
    "verified": false,
    "downloads": 10,
    "stars": 3,
    "created_at": "2026-03-01T00:00:00Z",
    "updated_at": "2026-04-01T00:00:00Z"
  }
}

Additional Context

No response

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions