vibe-academy-cli
v1.0.1
Published
CLI pour installer les presets Claude Code pour la formation Vibe Academy. Installe statusline, hooks de sécurité et notifications audio.
Maintainers
Readme
vibe-academy-cli
cli pour installer les presets claude code pour la formation vibe academy.
installation
# exécution directe (recommandé)
npx vibe-academy-cli setup
# ou installation globale
npm install -g vibe-academy-cli
vibe-academy setupcommandes
setup
installe la configuration claude code.
vibe-academy setup [options]mode interactif (par défaut):
vibe-academy setupte demande:
où installer:
- 🌍 global (~/.claude) - pour tous les projets
- 📁 local (.claude) - projet actuel uniquement
- 📂 personnalisé - extraire le code sans rien écraser
quoi installer:
- 🔒 hooks de sécurité
- 📊 statusline personnalisée
- 🔔 notifications audio
- 📚 documentation
mode automatique:
vibe-academy setup --skipinstalle tout dans ~/.claude sans poser de questions.
options:
| option | description |
|--------|-------------|
| --skip | skip les prompts, installe tout |
| --folder <path> | dossier d'installation custom |
| --no-hooks | ne pas installer les hooks |
| --no-statusline | ne pas installer la statusline |
| --no-docs | ne pas créer le README |
update
met à jour la configuration existante.
vibe-academy update [--folder <path>]uninstall
désinstalle la configuration.
vibe-academy uninstall [--folder <path>] [--force]auth
gère l'authentification claude code (macos uniquement).
# afficher le statut
vibe-academy auth
vibe-academy auth --status
# forcer la ré-authentification
vibe-academy auth --refreshpourquoi ? la statusline a besoin du scope user:profile pour afficher les infos d'usage anthropic. les anciens tokens peuvent ne pas avoir ce scope.
ce qui est installé
structure
.claude/
├── settings.json # config claude code
├── README.md # documentation
├── song/
│ ├── finish.mp3 # notification fin de session
│ └── need-human.mp3 # notification question utilisateur
└── scripts/
├── validate-command.js # hook sécurité bash
├── hook-post-file.ts # hook post-édition
└── statusline/ # statusline personnalisée
└── src/
├── index.ts
└── lib/
├── usage-limits.ts # appel api anthropic
├── context.ts # tokens du transcript
├── git.ts # info git
└── formatters.ts # couleurshooks
| hook | trigger | action | |------|---------|--------| | PreToolUse | avant commande bash | valide les commandes dangereuses | | Stop | fin de session | joue finish.mp3 | | Notification | question utilisateur | joue need-human.mp3 | | PostToolUse | après edit/write | hook post-édition |
statusline
affiche en temps réel:
🌿 main • 💄 senior-dev • 📁 ~/project • 🤖 Opus 4.5
📅 $8.90 • 🧩 117.6K tokens (59%) • ⏱️ (10%) • ⏳ (1h5m left)| info | source |
|------|--------|
| branche git | git branch |
| output style | claude code |
| dossier | claude code |
| modèle | claude code |
| coût du jour | ccusage (optionnel) |
| tokens contexte | transcript local |
| utilisation % | api anthropic directe |
| temps restant | api anthropic directe |
note importante: l'utilisation % et le temps restant viennent directement de l'api anthropic (/api/oauth/usage), pas d'une projection. c'est le vrai temps avant que ta fenêtre de 5h se réinitialise.
prérequis
- node.js >= 18
- bun (recommandé) ou npm/pnpm
- macos pour les notifications audio et l'auth keychain
développement
cd cli
# installer les dépendances
npm install
# build
npm run build
# dev (watch mode)
npm run dev
# test local
node dist/index.js setup --folder ./test
# test interactif complet
node dist/index.js setuparchitecture
cli/
├── src/
│ ├── index.ts # entry point, définition des commandes
│ ├── commands/
│ │ ├── setup.ts # installation interactive
│ │ ├── update.ts # mise à jour
│ │ ├── uninstall.ts # désinstallation
│ │ └── auth.ts # gestion authentification
│ ├── utils/
│ │ ├── files.ts # copie fichiers, génération settings
│ │ ├── paths.ts # détection chemins
│ │ ├── logger.ts # affichage coloré, spinners
│ │ └── auth.ts # vérification scopes oauth
│ └── types/
│ └── index.ts # types typescript
├── templates/
│ └── .claude/ # fichiers à copier
│ ├── scripts/
│ │ ├── statusline/
│ │ └── ...
│ └── song/
├── dist/ # build output
├── package.json
├── tsconfig.json
└── tsup.config.tsdépendances
| package | usage | |---------|-------| | commander | framework cli | | inquirer | prompts interactifs | | chalk | couleurs terminal | | ora | spinners |
philosophie
api anthropic directe
on appelle directement l'api anthropic pour les infos d'usage au lieu de passer par ccusage:
❌ statusline → ccusage → fichiers locaux → estimation
✅ statusline → api anthropic → données réellesavantages:
- données exactes (pas de projection)
- temps restant toujours correct (≤ 5h)
- pourcentage d'utilisation réel
vérification des scopes
au setup, on vérifie que le token oauth a le scope user:profile. si non, on propose de ré-authentifier automatiquement.
prochaines étapes après installation
ajouter le marketplace:
/plugin marketplace add matthieucousin/vibe-academy-marketplaceinstaller les plugins:
/plugin install vibe-academy@vibe-academy-marketplacecommencer à coder!
inspirations
licence
MIT
