#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.

Compare on GitHub

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.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit e6374e4f64a4708cc01d3a398cb15e532ab3d847

4.1kGitHub stars
1star in 7 days
1skill in this repository
0commits in 30 days

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

Aug 2, 2026Nov 4, 20264,144

Individual skills in this repository

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 tokens

Always available to the agent

SKILL.md

2,031 tokens

When the skill is activated

Reference documents

8,137 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. Critical
  2. Determining the mode
  3. Audit mode
  4. Node.js CLI best practices for [feature/topic]

Scripts executed separately

  • evals/fixtures/arg-injection.js
  • evals/fixtures/bad-cli-clean.js
  • evals/fixtures/bad-cli.js

Files

  • EVALS.mddoc6,881 bytes
  • SKILL.mdcore8,154 bytes
  • SKILL.mdcore8,154 bytes
  • evals/README.mddoc6,129 bytes
  • evals/evals.jsonasset8,588 bytes
  • evals/fixtures/arg-injection.jsruns319 bytes
  • evals/fixtures/bad-cli-clean.jsruns2,480 bytes
  • evals/fixtures/bad-cli.jsruns4,367 bytes
  • evals/fixtures/bad-package.jsonasset593 bytes
  • references/best-practices.mddoc19,433 bytes
  • tile.jsonasset1,039 bytes

No excerpt is shown for this license. Read the source on GitHub.

View the complete source on GitHub

Skills 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

  1. #298 on Oct 30
  2. #300 on Oct 31
  3. #302 on Nov 1
  4. #303 on Nov 2
  5. #306 on Nov 3
  6. #307 since Nov 4
41 earlier periods
  1. #218 on Aug 2
  2. #223 on Aug 5
  3. #224 on Aug 8
  4. #229 on Aug 10
  5. #228 on Aug 11
  6. #232 on Aug 18
  7. #231 on Aug 20
  8. #232 on Aug 22
  9. #237 on Aug 24
  10. #235 on Aug 30
  11. #236 on Aug 31
  12. #242 on Sep 1
  13. #236 on Sep 2
  14. #244 on Sep 3
  15. #239 on Sep 4
  16. #244 on Sep 7
  17. #245 on Sep 9
  18. #244 on Sep 10
  19. #250 on Sep 14
  20. #252 on Sep 15
  21. #250 from Sep 16 to Sep 17
  22. #254 on Sep 18
  23. #250 on Sep 19
  24. #256 on Sep 21
  25. #259 on Sep 24
  26. #260 on Sep 28
  27. #261 on Sep 29
  28. #259 on Sep 30
  29. #262 on Oct 2
  30. #263 on Oct 5
  31. #265 on Oct 6
  32. #272 on Oct 9
  33. #275 on Oct 13
  34. #273 on Oct 16
  35. #276 on Oct 18
  36. #277 on Oct 19
  37. #283 on Oct 21
  38. #284 on Oct 24
  39. #286 on Oct 25
  40. #296 on Oct 28
  41. #297 on Oct 29

Before you install

Local scripts

Automated 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:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
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

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeCompatibleStandard SKILL.md skills/nodejs-cli-best-practices/SKILL.md.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md skills/nodejs-cli-best-practices/SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md skills/nodejs-cli-best-practices/SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md skills/nodejs-cli-best-practices/SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md skills/nodejs-cli-best-practices/SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard 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.

lirantal/nodejs-cli-apps-best-practices: #307 on hotskills, 4.1k stars

[![lirantal/nodejs-cli-apps-best-practices on hotskills](https://hotskills.dev/badge/lirantal-nodejs-cli-apps-best-practices.svg)](https://hotskills.dev/skill/lirantal-nodejs-cli-apps-best-practices/)