Évaluation avant ajout de dépendance (npm/pip/composer/cargo/go). Natif possible ? Taille ? Maintenance ? Alternative plus légère ?
From codebloomnpx claudepluginhub vendeesign/codebloom --plugin codebloomThis skill is limited to using the following tools:
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
Ce skill s'active quand une nouvelle dépendance est sur le point d'être ajoutée au projet.
Avant d'ajouter une dépendance, répondre à :
1. Natif (stdlib, API du langage/framework)
↓ pas disponible
2. Dépendance établie (>10k stars, maintenance active, écosystème large)
↓ trop lourde
3. Dépendance légère (focalisée, peu de sous-dépendances)
↓ pas trouvée
4. Code custom (documenté, testé)
| Signal | Risque |
|---|---|
| Pas de release depuis >1 an | Abandon potentiel |
| Beaucoup d'issues ouvertes sans réponse | Maintenance faible |
| Trop de sous-dépendances | Surface d'attaque large |
| Pas de types TypeScript | Intégration difficile |
| Licence restrictive (GPL dans un projet MIT) | Incompatibilité |
| Package qui fait "tout" | Over-engineering importé |
| On ajoute... | Alors que... |
|---|---|
lodash (entier) | lodash/get ou natif (?., .flat(), .map()) suffit |
moment | Intl.DateTimeFormat ou date-fns (tree-shakable) |
axios | fetch natif suffit dans la plupart des cas |
uuid | crypto.randomUUID() est natif |
left-pad | C'est une ligne de code |
is-odd | n % 2 !== 0 |
| Dépendance | Pourquoi |
|---|---|
zod / joi | Validation de schemas — complexe à réimplémenter correctement |
bcrypt / argon2 | Crypto — ne JAMAIS réimplémenter soi-même |
ORM (prisma, drizzle) | Requêtes typées, migrations, sécurité SQL |
Framework de test (vitest, jest) | Infrastructure de test complète |
| Souvent évitable | Alternative native ou légère |
|---|---|
lodash | Natif ES2024+ (.structuredClone(), ?., Object.groupBy()) |
moment / dayjs | Intl.DateTimeFormat, Temporal (stage 3) |
axios | fetch (natif Node 18+, navigateurs) |
uuid | crypto.randomUUID() |
dotenv | --env-file (Node 20+) |
node-fetch | fetch natif (Node 18+) |
chalk | util.styleText() (Node 21+) |
| Souvent évitable | Alternative |
|---|---|
requests (pour du simple) | urllib.request (stdlib) ou httpx (async) |
python-dotenv | os.environ + .env dans le runner |
arrow | datetime (stdlib) |
six | Python 3 natif |
| Souvent évitable | Alternative |
|---|---|
guzzlehttp/guzzle (simple) | file_get_contents + stream_context ou curl |
nesbot/carbon (basique) | DateTimeImmutable natif |
illuminate/support (hors Laravel) | Fonctions natives PHP 8+ |
ramsey/uuid | random_bytes() + format UUID |
CLAUDE.md section "Dépendances clés"