#307 by GitHub stars
lirantal/nodejs-cli-apps-best-practices
Guide and audit Node.js CLI application development against 41 established best practices covering UX, distribution, interoperability, accessibility, testing, error handling, development setup, analytics, versioning, and security. Use this skill when building, extending, reviewing, or scaffolding a
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
skills/nodejs-cli-best-practices/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Local scripts
e6374e4f64a4 → e6374e4f64a4
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → e6374e4f64a4
No earlier version was observed for comparison.
Heat
2.2- Star growth, last 7 daysAhead of 36% of tracked repositories
- Star growth, last 24 hoursAhead of 5% of tracked repositories
- Rank movement, last 7 daysAhead of 38% of tracked repositories
- Commits, last 30 daysAhead of 0% of tracked repositories
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekAhead of 0% of tracked repositories
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
Individual skills in this repository
- nodejs-cli-best-practices
skills/nodejs-cli-best-practices
How it works
nodejs-cli-best-practices
When your agent uses it
Guide and audit Node.js CLI application development against 41 established best practices covering UX, distribution, interoperability, accessibility, testing, error handling, development setup, analytics, versioning, and security. Use this skill when building, extending, reviewing, or scaffolding a Node.js CLI — including when someone says "audit my CLI", "review my CLI code", "I'm building a CLI tool", or asks about adding argument parsing, help output, shell completion/autocomplete, error handling, color output, STDIN, --json flags, exit codes, --version flags, or npm publishing. Applies even when best practices are not explicitly mentioned. Also trigger for "how should I implement X in my CLI" or "what's the right way to do Y in a Node.js CLI". Do NOT use for Node.js backend or API development with no CLI entry point.
What it loads into context
Frontmatter
222 tokensAlways available to the agent
SKILL.md
2,031 tokensWhen the skill is activated
Reference documents
8,137 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Critical
- Determining the mode
- Audit mode
- Node.js CLI best practices for [feature/topic]
Scripts executed separately
evals/fixtures/arg-injection.jsevals/fixtures/bad-cli-clean.jsevals/fixtures/bad-cli.js
Files
EVALS.mddoc6,881 bytesSKILL.mdcore8,154 bytesSKILL.mdcore8,154 bytesevals/README.mddoc6,129 bytesevals/evals.jsonasset8,588 bytesevals/fixtures/arg-injection.jsruns319 bytesevals/fixtures/bad-cli-clean.jsruns2,480 bytesevals/fixtures/bad-cli.jsruns4,367 bytesevals/fixtures/bad-package.jsonasset593 bytesreferences/best-practices.mddoc19,433 bytestile.jsonasset1,039 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubSkills included
- nodejs-cli-best-practices
Repository facts
- License
- CC-BY-SA-4.0
- Created
- Dec 28, 2019
- Last pushed
- Jul 8, 2026
- Forks
- 164
- Open issues
- 0
- Project activity
- Slowing
Rank over the last 12 weeks
Now #307 · best #231 · down 42 in 30 days
- #298 on Oct 30
- #300 on Oct 31
- #302 on Nov 1
- #303 on Nov 2
- #306 on Nov 3
- #307 since Nov 4
41 earlier periods
- #218 on Aug 2
- #223 on Aug 5
- #224 on Aug 8
- #229 on Aug 10
- #228 on Aug 11
- #232 on Aug 18
- #231 on Aug 20
- #232 on Aug 22
- #237 on Aug 24
- #235 on Aug 30
- #236 on Aug 31
- #242 on Sep 1
- #236 on Sep 2
- #244 on Sep 3
- #239 on Sep 4
- #244 on Sep 7
- #245 on Sep 9
- #244 on Sep 10
- #250 on Sep 14
- #252 on Sep 15
- #250 from Sep 16 to Sep 17
- #254 on Sep 18
- #250 on Sep 19
- #256 on Sep 21
- #259 on Sep 24
- #260 on Sep 28
- #261 on Sep 29
- #259 on Sep 30
- #262 on Oct 2
- #263 on Oct 5
- #265 on Oct 6
- #272 on Oct 9
- #275 on Oct 13
- #273 on Oct 16
- #276 on Oct 18
- #277 on Oct 19
- #283 on Oct 21
- #284 on Oct 24
- #286 on Oct 25
- #296 on Oct 28
- #297 on Oct 29
Before you install
Local scriptsAutomated signals, not a guarantee
Checked Nov 2, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 1 note
skills/nodejs-cli-best-practices/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- No dangerous shell commands
- No hidden or obfuscated text
- No instruction overrides
- 1 reference to secretsin 1 file: nodejs-cli-best-practices/references/best-practices.md:424
- No requests to vote in Hot
Show all 22 signals by file
skills/nodejs-cli-best-practices/evals/fixtures/arg-injection.js
- Executable scriptline 1
#!/usr/bin/env node
skills/nodejs-cli-best-practices/evals/fixtures/bad-cli-clean.js
- Executable scriptline 1
#!/usr/local/bin/node - Network accessline 42
function fetchWeather(city, apiKey) { const url = `https://api.openweathermap.org/data/2.5/weather?q=${city}&appid=${apiKey}`; - Network accessline 43
const url = `https://api.openweathermap.org/data/2.5/weather?q=${city}&appid=${apiKey}`;
skills/nodejs-cli-best-practices/evals/fixtures/bad-cli.js
- Executable scriptline 1
#!/usr/local/bin/node - Network accessline 63
function fetchWeather(city, apiKey) { const url = `https://api.openweathermap.org/data/2.5/weather?q=${city}&appid=${apiKey}`; - Network accessline 64
const url = `https://api.openweathermap.org/data/2.5/weather?q=${city}&appid=${apiKey}`;
skills/nodejs-cli-best-practices/references/best-practices.md
- Network accessline 103
// Clickable URL in terminal console.log('\u001B]8;;https://example.com\u0007Click here\u001B]8;;\u0007'); - Network accessline 104
console.log('\u001B]8;;https://example.com\u0007Click here\u001B]8;;\u0007'); - Network accessline 106
// Or use a package import terminalLink from 'terminal-link'; console.log(terminalLink('Click here', 'https://example.com')); - Network accessline 108
console.log(terminalLink('Click here', 'https://example.com')); - Network accessline 172
**Tool:** [bundlephobia.com](https://bundlephobia.com) to check package cost. - Access to secretsline 424
[Credential-related source omitted] - Network accessline 493
const bugReportUrl = `https://github.com/org/repo/issues/new?title=${encodeURIComponent(err.message)}&body=${encodeURIComponent(`Version: ${pkg.version}\n\nError:\n${err.stack}`)}`; - Network accessline 574
### §9.2 Use Semantic Versioning **Rule:** Follow [semver](https://semver.org/): MAJOR.MINOR.PATCH. Breaking changes → major bump. - Network accessline 575
**Rule:** Follow [semver](https://semver.org/): MAJOR.MINOR.PATCH. Breaking changes → major bump. - Network accessline 603
DEPRECATED: --old-flag is deprecated and will be removed in v3.0. Use --new-flag instead. See: https://docs.example.com/migration - Network accessline 604
Use --new-flag instead. See: https://docs.example.com/migration - Network accessline 619
### §9.7 Update version documents **Rule:** Maintain a `CHANGELOG.md` (or release notes) for every version. Follow [Keep a Changelog](https://keepachangelog.com/) format. - Network accessline 620
**Rule:** Maintain a `CHANGELOG.md` (or release notes) for every version. Follow [Keep a Changelog](https://keepachangelog.com/) format. - Network accessline 671
| Tool | Best for | Install | |------|----------|---------| | `vhs` | Scripted terminal recordings for README demos, documentation, and release notes | See https://github.com/charmbracelet/vhs#installation | - Network accessline 673
| `vhs` | Scripted terminal recordings for README demos, documentation, and release notes | See https://github.com/charmbracelet/vhs#installation |
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Signal confidence: 22 facts
- Executable script in code of a testnodejs-cli-best-practices/evals/fixtures/arg-injection.js:1Low confidence
- Executable script in code of a testnodejs-cli-best-practices/evals/fixtures/bad-cli-clean.js:1Low confidence
- Network access in code of a testnodejs-cli-best-practices/evals/fixtures/bad-cli-clean.js:42Low confidence
- Network access in code of a testnodejs-cli-best-practices/evals/fixtures/bad-cli-clean.js:43Low confidence
- Executable script in code of a testnodejs-cli-best-practices/evals/fixtures/bad-cli.js:1Low confidence
- Network access in code of a testnodejs-cli-best-practices/evals/fixtures/bad-cli.js:63Low confidence
- Network access in code of a testnodejs-cli-best-practices/evals/fixtures/bad-cli.js:64Low confidence
- Network access in code of documentationnodejs-cli-best-practices/references/best-practices.md:103Low confidence
- Network access in code of documentationnodejs-cli-best-practices/references/best-practices.md:104Low confidence
- Network access in code of documentationnodejs-cli-best-practices/references/best-practices.md:106Low confidence
- Network access in code of documentationnodejs-cli-best-practices/references/best-practices.md:108Low confidence
- Network access in prose of documentationnodejs-cli-best-practices/references/best-practices.md:172Low confidence
- Access to secrets in code of documentation: a variable, placeholder or call, not a stored valuenodejs-cli-best-practices/references/best-practices.md:424Low confidence
- Network access in code of documentationnodejs-cli-best-practices/references/best-practices.md:493Low confidence
- Network access in prose of documentationnodejs-cli-best-practices/references/best-practices.md:574Low confidence
- Network access in prose of documentationnodejs-cli-best-practices/references/best-practices.md:575Low confidence
- Network access in code of documentationnodejs-cli-best-practices/references/best-practices.md:603Low confidence
- Network access in code of documentationnodejs-cli-best-practices/references/best-practices.md:604Low confidence
- Network access in prose of documentationnodejs-cli-best-practices/references/best-practices.md:619Low confidence
- Network access in prose of documentationnodejs-cli-best-practices/references/best-practices.md:620Low confidence
- Network access in prose of documentationnodejs-cli-best-practices/references/best-practices.md:671Low confidence
- Network access in prose of documentationnodejs-cli-best-practices/references/best-practices.md:673Low confidence
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Compatible | Standard SKILL.md skills/nodejs-cli-best-practices/SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md skills/nodejs-cli-best-practices/SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md skills/nodejs-cli-best-practices/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md skills/nodejs-cli-best-practices/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md skills/nodejs-cli-best-practices/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md skills/nodejs-cli-best-practices/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.
Explore alternatives and comparisons
Add this badge to your README
It updates every night and links to this page.
[](https://hotskills.dev/skill/lirantal-nodejs-cli-apps-best-practices/)