npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

create-spec-driven-app

v0.7.0

Published

CLI to scaffold Spec-Driven Development project templates.

Readme

🧭 create-spec-driven-app

Specs as executable contracts — requirements, scenarios and traceability that CI enforces.

CI npm latest npm beta Docs License: MIT

Stop coding before requirements are operationally clear. Every requirement maps to a scenario, a domain artefact, an implementation and a test — and the gate fails when one is missing.


⚡ Start

Existing codebase — the common enterprise case:

cd your-repo
npx create-spec-driven-app@latest onboard   # reads the repo, proposes its capabilities
npx create-spec-driven-app@latest adopt     # writes the spec skeleton, touches no code
npx create-spec-driven-app@latest validate .

New project:

npx create-spec-driven-app@latest init      # interactive wizard

Requires Node.js ≥ 22 — or none at all with the Docker image:

docker run --rm -v "$PWD:/workspace" ghcr.io/rsaglobaltech/csda validate . --strict-tdd

Getting started · Quickstart for joiners

🪜 Adopt one level at a time

Each level is useful on its own and never requires the ones above it.

| Level | You get | Commands | Cost | | --- | --- | --- | --- | | L1 | Traceable specs in your repo | onboard, adopt | ~1 hour | | L2 | A PR gate enforcing spec and test coverage | validate --strict-tdd | ~1 hour | | L3 | Versioned, reusable domain requirements | specops add / sync / diff | ~1 day | | L4 | Agent-driven delivery, one requirement at a time | agents init, harness run | ~1 week |

🛠️ What it does

A daily loop, not a one-shot scaffolder. csda status says where the project stands and what to run next; csda plan is the queue; csda req adds and links requirements so nobody hand-edits the ten-column matrix; csda done closes them. → Quickstart · Command reference

Specs that are checked. csda validate fails the build when a requirement has no scenario, no test, or no row in the traceability matrix. --strict-tdd fails it when a requirement moves past Draft without a test. → Writing specs · Validating

Changes you review as intent. Modify a spec that already shipped through a reviewable delta — only what moves, never a copy. Archiving merges it into the spec tree, writes the matrix rows and materialises the feature files, so a merged proposal cannot quietly become undone work. → Reviewing changes

Domain knowledge as a dependency. A pack is a versioned, schema-validated domain model. Install it, pin it, upgrade it deliberately — and review the upgrade as intent with specops diff --as-change, not as a file diff. → Domain packs

An agent surface that is a contract. Twelve commands speak JSON with stable diagnostic codes and a fix on each — every command of the daily loop, and a test asserts it. csda agents init wires the loop into eight agent tools from one definition. → Agents · The agent contract

Unattended delivery. csda harness run drives plan → agent → verify → done for every pending requirement, each in its own git worktree. It never merges. csda ci init generates the gate for GitHub, GitLab, Azure or Jenkins, and csda alm sync keeps Jira or Azure Boards in step.

Any agent CLI. No agent runtime, no SDK dependency: the agent is any shell command containing {prompt_file}claude -p < {prompt_file}, aider --yes --message-file {prompt_file}, or my-wrapper.sh {prompt_file} for anything else. Commit your team's commands in .harness/profiles.yaml and pick one by name. → Automation · The harness · Jira and Azure Boards

It stays current. csda update refreshes the generated agent files after an upgrade, three-way merging your edits rather than clobbering them. csda doctor reports what has drifted, with a fix per finding. → Command reference

🆚 How it compares

| Capability | this | OpenSpec | spec-kit | Cursor rules | README only | | --- | :-: | :-: | :-: | :-: | :-: | | Change lifecycle | ✅ | ✅ | ❌ | ❌ | ❌ | | Versioned domain packs | ✅ | ❌ | ⚠️ | ❌ | ❌ | | Traceability matrix + CI gate | ✅ | ❌ | ⚠️ | ❌ | ❌ | | Agent JSON contract | ✅ | ✅ | ❌ | ❌ | ❌ | | Vendor-neutral | ✅ | ✅ | ✅ | ❌ | ✅ | | Smaller surface to learn | ❌ | ✅ | ✅ | ✅ | ✅ |

OpenSpec is the closest tool and the honest comparison: if you want the change loop without versioned packs or an enforced matrix, theirs is the better fit. → Full matrix, trade-offs and migration paths

📚 Documentation

🧰 Companion tools

MCP server (mcp-spec-driven) · Language server (lsp-spec-driven) · VS Code extension (vscode-spec-driven) · Maven and Gradle plugins for teams that do not want Node on the build agent.

🤝 Contributing

PRs welcome — see CONTRIBUTING.md. Good first contributions: new module templates, validator rules, additional domain packs. MAINTAINERS.md says who owns what; SECURITY.md is how to report a vulnerability privately.

📄 License

MIT © RSA Global Tech