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

@commercetools-demo/commercetools-ai-plugin-sdd

v0.3.0

Published

Overlay installer that wires commercetools skills into GitHub Spec Kit and OpenSpec projects deterministically — without forking either framework.

Downloads

435

Readme

@commercetools/commercetools-ai-plugin-sdd

Keep vanilla Spec Kit / OpenSpec — this overlay wires in commercetools skills deterministically.

It patches a spec-driven development project (GitHub Spec Kit or OpenSpec) so that any spec, plan, or task touching commercetools reliably loads the right commercetools-* skill at the right phase — without forking either framework.

Quick start

# in a project already initialized with `specify init` or `openspec init`:
npx @commercetools/commercetools-ai-plugin-sdd init

That's it. The overlay detects which framework(s) are present and applies its marker blocks. Re-running is safe (idempotent), and remove restores the project exactly.

Commands

ct-sdd init    [--framework speckit|openspec] [--dry-run] [--pin <version>]
ct-sdd remove  [--framework speckit|openspec] [--dry-run]
ct-sdd status  [--framework speckit|openspec]
  • --framework — act on only one framework (default: every one detected).
  • --dry-run — print what would change, write nothing.
  • --pin <version> — abort unless the bundled overlay matches <version>. The overlay content is pinned by the package version, so pin by installing a specific package version ([email protected]); this flag guards against using the wrong one.
  • --cwd <dir> — operate in <dir> instead of the current directory.

Detection: .specify/ → Spec Kit, openspec/ → OpenSpec.

What it patches

Every change is wrapped in removable marker blocks — nothing outside the markers is ever rewritten.

Spec Kit (.specify/) | File | Block | Effect | |---|---|---| | .specify/memory/constitution.md | platform-skills-constitution | Adds the three platform-skill articles (skill resolution, task annotation, no unverified API surface). | | .specify/templates/plan-template.md | platform-skills-resolution | Adds a required Platform Skills Resolution section the agent fills during /speckit.plan. | | .specify/templates/tasks-template.md | task-skill-annotation | Extends the task grammar so each task carries a [SKILL: <name>] token, read at implement time. |

OpenSpec (openspec/) | File | Block | Effect | |---|---|---| | openspec/config.yaml | platform-skills-conventions | Adds a context: block + per-artifact rules: (proposal, tasks) that select the matching commercetools-* skill and annotate commercetools tasks. |

The load-bearing mechanism is the template patch: because tasks.md is re-read task-by-task during implementation, the [SKILL: …] token is physically in context at the moment code is written — no reliance on skill-triggering luck.

Marker convention

<!-- ct-sdd:begin v=1 id=<slug> -->
…injected content…
<!-- ct-sdd:end id=<slug> -->

YAML files (config.yaml) use #-comment markers wrapping real YAML keys. The installer anchors each block to a named section when it can, and appends at end-of-file otherwise. Re-running init replaces a block in place (keyed by id); remove strips blocks by marker and restores the file byte-for-byte.

Uninstall

npx @commercetools/commercetools-ai-plugin-sdd remove

Caveats

  • OpenSpec config.yaml. The overlay appends real context: and rules: keys. If your config.yaml already defines those keys outside the ct-sdd markers, merge them by hand — the installer will not silently overwrite your values (they'd become duplicate YAML keys; run status and reconcile).
  • Upstream template churn. If Spec Kit renames a section the overlay anchors to, init still succeeds by appending at end-of-file and prints a warning. The nightly drift canary (scripts/canary.mjs, run in CI against the latest upstream specify init / openspec init) turns that warning into a red build so it is fixed before it reaches you. Never pin your Spec Kit/OpenSpec version to this overlay — pin only the overlay.

Development

node --test                                   # unit tests
node scripts/canary.mjs <projectDir> <framework> # drift check against a real project