Skip to content

`@nike/whisker-cli`

Front-of-platform CLI for the Whisker Platform. One binary your team learns, one CLI your agents discover — scaffolds modules and services, installs the global @thundercats Cursor skill, and keeps each repo’s .cursor/ context in sync as the platform evolves.

Full command reference, .cursor/ layout, and roadmap: whisker-docs → CLI (thundercats).

Terminal window
pnpm install -g @nike/whisker-cli
# or
npm install -g @nike/whisker-cli

The thundercats binary lands on your PATH.

Need help with the Artifactory .npmrc / token setup? See README.md at the workspace root, or whisker.nike.com for the full step-by-step.

Terminal window
# 1. Confirm install + see the surface area
thundercats --version
thundercats --help
# 2. Install the global @thundercats Cursor skill (once per machine, not per repo)
thundercats install-skill
# 3. Scaffold a new federation module — @nike/create-whisker writes
# AGENTS.md + the always-on .cursor/rules/thundercats-core.mdc itself as
# part of scaffolding, so there's no separate `thundercats init` step.
thundercats create module my-first-module
# `thundercats create service|monorepo` scaffold the other project kinds;
# `thundercats add module|service|lambda` adds a package to an existing
# monorepo, and `thundercats add iframe-consumer` converts an existing app.
# 4. Open the new project in your IDE and invoke the orchestrator
cd my-first-module
# In chat: @thundercats — Add a "Reports" navigation entry that opens /reports
# 5. Anytime later, check health and pull updates
thundercats audit
thundercats update
thundercats upgrade # then re-run `thundercats install-skill` to refresh it

That’s the entire happy path — see whisker-docs → CLI (thundercats) for every command, what gets written into .cursor/, and what’s still in Phase 2D.

The @thundercats skill and the .cursor/rules/thundercats-core.mdc always-on rule are authored directly against Cursor’s native discovery paths (~/.cursor/skills/ and .cursor/rules/, respectively) — there’s no IDE-agnostic abstraction layer. AGENTS.md at the repo root is the one exception: it’s a plain markdown file every agentic tool (Cursor, Claude Code, Cline, Continue) reads on session start, so non-Cursor tools still get a routing entry even though they can’t discover the skill or the rule natively.

Want to support another IDE with its own skill/rule format? Point that IDE’s discovery mechanism at the same source: templates/global-skill/ (the @thundercats skill + its specialist reference docs) and templates/rules/thundercats-core.mdc (the always-on baseline). Both are plain markdown with YAML frontmatter — porting means writing a renderer that copies them to the new tool’s expected path/frontmatter shape, not rewriting their content.

Terminal window
# At the workspace root:
pnpm install
pnpm --filter @nike/whisker-cli build
pnpm --filter @nike/whisker-cli test
node packages/whisker-cli/dist/cli.js --help

When working in the monorepo, the CLI detects it’s a workspace link and refuses to upgrade from thundercats upgrade so your source tree doesn’t get clobbered.

Apache-2.0