`@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).
Install
Section titled “Install”pnpm install -g @nike/whisker-cli# ornpm install -g @nike/whisker-cliThe thundercats binary lands on your PATH.
Need help with the Artifactory
.npmrc/ token setup? SeeREADME.mdat the workspace root, or whisker.nike.com for the full step-by-step.
First 60 seconds
Section titled “First 60 seconds”# 1. Confirm install + see the surface areathundercats --versionthundercats --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 orchestratorcd my-first-module# In chat: @thundercats — Add a "Reports" navigation entry that opens /reports
# 5. Anytime later, check health and pull updatesthundercats auditthundercats updatethundercats upgrade # then re-run `thundercats install-skill` to refresh itThat’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.
Coupled to Cursor
Section titled “Coupled to Cursor”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.
Development
Section titled “Development”# At the workspace root:pnpm installpnpm --filter @nike/whisker-cli buildpnpm --filter @nike/whisker-cli testnode packages/whisker-cli/dist/cli.js --helpWhen 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.
License
Section titled “License”Apache-2.0
