name: cli-tool
category: cli
public: false
database: none
hosting_hints:
- npm-registry
- pypi
- crates-io
- homebrew
- github-releases
audit_stack:
- analyze
- code-clean
- cso
- doc
plugins:
context7: optional
ui-ux-pro-max: no
gstack: no
---
CLI Tool
Outil en ligne de commande — distribué via un registry (npm, PyPI, crates.io, Homebrew) ou binaire.
Detection signals
Strong signals (×3)
- STRING_IN_FILE:
package.json contient "\"bin\":" (entry point CLI)
- STRING_IN_FILE:
setup.py OR pyproject.toml contient "console_scripts" OR "[project.scripts]"
- STRING_IN_FILE:
Cargo.toml contient "[[bin]]"
- FILE:
cmd/*/main.go (convention Go CLI)
Medium signals (×2)
- DEP: "commander", "yargs", "clap" (Rust), "click" (Python), "typer", "cobra" (Go), "argparse"
- FILE:
bin/* executable
- FILE:
src/cli.ts OR src/cli.py OR src/cli.rs OR src/main.rs
Weak signals (×1)
- DEP: "chalk", "kleur", "colorama", "termcolor" (output coloré)
- DEP: "inquirer", "prompts", "questionary" (prompts interactifs)
- FILE:
README.md AVEC STRING "Usage:" OR "Installation:"
- FILE:
CHANGELOG.md
Counter-signals (exclusion)
- DEP:
react, next, vue, fastapi, express → web, pas CLI
- FILE:
index.html → web
Implications
- Distribution : npm / PyPI / crates.io / Homebrew / binaires GitHub Releases
- Base de données : aucune (sauf outil qui manipule une DB externe)
- SEO/GEO : N/A
- Surface sécurité : MOYENNE — deps externes, exécution locale, parfois privilèges élevés
- UI/UX : N/A (interface texte)
Typical pain points
- Pas de versioning semver strict (breaking changes silencieux)
- CHANGELOG absent ou pas à jour
- Tests des commandes absents (pytest-click, oclif-test, etc.)
- Pas de help text cohérent (
--help incomplet)
- Exit codes incohérents (0 toujours, même en erreur)
- Output pas parseable (pas de
--json)
- Pas de shell completion (bash/zsh/fish)
- Deps avec failles (npm audit / cargo audit / pip-audit non exécuté)
- Pas de cross-platform test (Win/macOS/Linux)
- Logs vers stdout au lieu de stderr (casse les pipes)
- Pas de gestion des signaux (SIGINT → cleanup ?)
- Installation instructions incomplètes dans README
Interview questions (adaptive)
En plus du set minimum business :
- Langage : Node.js / Python / Rust / Go / autre ?
- Framework CLI : Commander / Clap / Click / Cobra / argparse / autre ?
- Distribution : npm / PyPI / crates.io / Homebrew / binaires GitHub / multiple ?
- OS cibles : Linux / macOS / Windows / WSL ?
- Interactivité : prompts interactifs / pure arguments CLI ?
- Output : texte formaté / JSON / les deux (
--json) ?
- Shell completion fournie ? (oui / non / souhaité)
- Tests : couverture actuelle / cible ?
- Releases : manuelles / CI (goreleaser, semantic-release, release-please) ?
- Deps externes binaires requis ? (git, docker, ffmpeg, etc.)
Plugin recommendations
- context7 : OPTIONAL — ON si framework CLI récent
- ui-ux-pro-max : OFF (pas d'UI graphique)
- gstack : OFF
Example project layout
package.json OR pyproject.toml OR Cargo.toml
src/
cli.ts OR cli.py OR main.rs
commands/
init.ts
build.ts
bin/
my-tool
tests/
README.md (Usage + Installation)
CHANGELOG.md