@jeremyy_prt/cc-config 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/README.md +159 -0
  2. package/agents/corriger-orthographe.md +49 -0
  3. package/agents/explorer-code.md +63 -0
  4. package/agents/explorer-docs.md +87 -0
  5. package/agents/recherche-web.md +46 -0
  6. package/cli.js +213 -0
  7. package/commands/commit.md +47 -0
  8. package/commands/corriger-orthographe.md +59 -0
  9. package/commands/creer-agent.md +126 -0
  10. package/commands/creer-commande.md +225 -0
  11. package/commands/liste-commande.md +103 -0
  12. package/commands/memoire-claude.md +190 -0
  13. package/commands/surveiller-ci.md +65 -0
  14. package/package.json +44 -0
  15. package/scripts/statusline/CLAUDE.md +178 -0
  16. package/scripts/statusline/README.md +105 -0
  17. package/scripts/statusline/biome.json +34 -0
  18. package/scripts/statusline/bun.lockb +0 -0
  19. package/scripts/statusline/data/.gitignore +5 -0
  20. package/scripts/statusline/fixtures/test-input.json +25 -0
  21. package/scripts/statusline/package.json +21 -0
  22. package/scripts/statusline/src/commands/CLAUDE.md +3 -0
  23. package/scripts/statusline/src/commands/spend-month.ts +60 -0
  24. package/scripts/statusline/src/commands/spend-today.ts +42 -0
  25. package/scripts/statusline/src/index.ts +199 -0
  26. package/scripts/statusline/src/lib/context.ts +103 -0
  27. package/scripts/statusline/src/lib/formatters.ts +218 -0
  28. package/scripts/statusline/src/lib/git.ts +100 -0
  29. package/scripts/statusline/src/lib/spend.ts +119 -0
  30. package/scripts/statusline/src/lib/types.ts +25 -0
  31. package/scripts/statusline/src/lib/usage-limits.ts +147 -0
  32. package/scripts/statusline/statusline.config.ts +125 -0
  33. package/scripts/statusline/test.ts +20 -0
  34. package/scripts/statusline/tsconfig.json +27 -0
  35. package/scripts/validate-command.js +707 -0
  36. package/scripts/validate-command.readme.md +283 -0
  37. package/settings.json +42 -0
  38. package/song/finish.mp3 +0 -0
  39. package/song/need-human.mp3 +0 -0
package/README.md ADDED
@@ -0,0 +1,159 @@
1
+ # Claude Config Jeremy
2
+
3
+ Configuration personnalisée pour Claude Code avec commandes, agents et scripts en français.
4
+
5
+ ## ✨ Features
6
+
7
+ ### 📝 Commandes (7)
8
+ - `/commit` - Commits conventionnels rapides avec push automatique
9
+ - `/corriger-orthographe` - Correction grammaticale et orthographique
10
+ - `/creer-agent` - Créer et optimiser des agents personnalisés
11
+ - `/creer-commande` - Créer et optimiser des commandes
12
+ - `/liste-commande` - Liste toutes les commandes et agents avec exemples
13
+ - `/memoire-claude` - Créer et mettre à jour les fichiers CLAUDE.md
14
+ - `/surveiller-ci` - Surveiller et corriger automatiquement les erreurs de CI GitHub Actions
15
+
16
+ ### 🤖 Agents (4)
17
+ - `@corriger-orthographe` - Correction orthographique de fichiers
18
+ - `@explorer-code` - Exploration de codebase
19
+ - `@explorer-docs` - Exploration de documentation avec Context7
20
+ - `@recherche-web` - Recherche web rapide
21
+
22
+ ### 🔒 Sécurité
23
+ - Hook PreToolUse avec validation des commandes bash (700+ lignes)
24
+ - Bloque les commandes dangereuses (`rm -rf /`, `sudo`, etc.)
25
+
26
+ ### 🎨 Autres
27
+ - Statusline personnalisée avec Git et tracking des coûts
28
+ - Sons de notification (finish, need-human)
29
+ - Hooks configurés (PreToolUse, Stop, Notification)
30
+
31
+ ## 🚀 Installation
32
+
33
+ ### Option 1: Script Shell (local)
34
+
35
+ ```bash
36
+ cd /Users/jeremy/Documents/code/scripts/claude-config-jeremy
37
+ ./install.sh
38
+ ```
39
+
40
+ ### Option 2: NPM Package (recommandé)
41
+
42
+ ```bash
43
+ npx @jeremyy_prt/cc-config setup
44
+ ```
45
+
46
+ ou avec bun:
47
+
48
+ ```bash
49
+ bunx @jeremyy_prt/cc-config setup
50
+ ```
51
+
52
+ ### Option 3: Installation manuelle
53
+
54
+ ```bash
55
+ # Cloner/télécharger le repo
56
+ git clone https://github.com/jeremy-prt/cc-config.git
57
+
58
+ # Copier les fichiers
59
+ cp -r cc-config/commands/* ~/.claude/commands/
60
+ cp -r cc-config/agents/* ~/.claude/agents/
61
+ cp -r cc-config/scripts/* ~/.claude/scripts/
62
+ ```
63
+
64
+ ## 📦 Prérequis
65
+
66
+ - [Claude Code](https://claude.ai/download) installé
67
+ - `bun` (optionnel, pour statusline)
68
+ - `gh` CLI (optionnel, pour /surveiller-ci)
69
+
70
+ ## 🔧 Configuration
71
+
72
+ ### Context7 MCP (recommandé pour @explorer-docs)
73
+
74
+ ```bash
75
+ claude mcp add --transport http context7 https://mcp.context7.com/mcp
76
+ ```
77
+
78
+ Ou avec API key:
79
+ ```bash
80
+ claude mcp add --transport http context7 https://mcp.context7.com/mcp \
81
+ --header "CONTEXT7_API_KEY: ta_clé"
82
+ ```
83
+
84
+ ## 📚 Exemples d'utilisation
85
+
86
+ ### Commits rapides
87
+ ```bash
88
+ /commit
89
+ ```
90
+
91
+ ### Corriger l'orthographe
92
+ ```bash
93
+ /corriger-orthographe src/components/Header.vue
94
+ /corriger-orthographe src/**/*.vue
95
+ ```
96
+
97
+ ### Explorer la documentation
98
+ ```bash
99
+ @explorer-docs cherche la doc de Nuxt 4
100
+ ```
101
+ ou en conversationnel:
102
+ ```
103
+ Comment utiliser les server routes dans Vue 3 ?
104
+ ```
105
+
106
+ ### Surveiller le CI
107
+ ```bash
108
+ /surveiller-ci
109
+ ```
110
+
111
+ ### Créer une commande personnalisée
112
+ ```bash
113
+ /creer-commande create deploy
114
+ ```
115
+
116
+ ### Lister toutes les commandes avec exemples
117
+ ```bash
118
+ /liste-commande --exemples
119
+ ```
120
+
121
+ ## 🗂️ Structure
122
+
123
+ ```
124
+ claude-config-jeremy/
125
+ ├── commands/ # Commandes slash personnalisées
126
+ │ ├── commit.md
127
+ │ ├── corriger-orthographe.md
128
+ │ ├── creer-agent.md
129
+ │ ├── creer-commande.md
130
+ │ ├── liste-commande.md
131
+ │ ├── memoire-claude.md
132
+ │ └── surveiller-ci.md
133
+ ├── agents/ # Agents spécialisés
134
+ │ ├── corriger-orthographe.md
135
+ │ ├── explorer-code.md
136
+ │ ├── explorer-docs.md
137
+ │ └── recherche-web.md
138
+ ├── scripts/ # Scripts utilitaires
139
+ │ ├── validate-command.js
140
+ │ └── statusline/
141
+ ├── song/ # Sons de notification
142
+ │ ├── finish.mp3
143
+ │ └── need-human.mp3
144
+ ├── settings.json # Configuration des hooks et statusline
145
+ ├── install.sh # Script d'installation shell
146
+ └── README.md
147
+ ```
148
+
149
+ ## 🤝 Contribution
150
+
151
+ N'hésite pas à proposer des améliorations ou de nouvelles commandes!
152
+
153
+ ## 📝 License
154
+
155
+ MIT
156
+
157
+ ## 🙏 Crédits
158
+
159
+ Inspiré par [AIBlueprint](https://github.com/Melvynx/aiblueprint) de Melvynx
@@ -0,0 +1,49 @@
1
+ ---
2
+ name: corriger-orthographe
3
+ description: Utiliser cet agent pour corriger les erreurs de grammaire et d'orthographe dans un seul fichier en préservant le formatage
4
+ color: blue
5
+ model: haiku
6
+ ---
7
+
8
+ Tu es DevProfCorrectorGPT, un correcteur de texte professionnel. Corrige les erreurs de grammaire et d'orthographe dans le fichier spécifié en préservant tout le formatage et le sens.
9
+
10
+ ## Traitement du Fichier
11
+
12
+ - Lire le fichier cible complètement
13
+ - Appliquer uniquement les corrections de grammaire et d'orthographe
14
+ - Préserver tout le formatage, tags et termes techniques
15
+ - Supprimer les marqueurs `"""` si présents
16
+ - Ne pas traduire ou changer l'ordre des mots
17
+ - Ne pas modifier les tags spéciaux (MDX, syntaxe custom, blocs de code)
18
+
19
+ ## Règles de Correction
20
+
21
+ - Corriger uniquement les erreurs d'orthographe et de grammaire
22
+ - Garder la même langue utilisée dans chaque phrase
23
+ - Préserver toute la structure et le formatage du document
24
+ - Ne pas changer le sens ou les termes techniques
25
+ - Gérer le contenu multilingue (garder les anglicismes, termes techniques)
26
+
27
+ ## Mise à Jour du Fichier
28
+
29
+ - Utiliser Edit ou Write pour mettre à jour le fichier avec les corrections
30
+ - Écraser le fichier original avec la version corrigée
31
+ - Préserver le formatage et la structure exacts
32
+
33
+ ## Format de Sortie
34
+
35
+ ```
36
+ ✓ Orthographe corrigée dans [nom-fichier]
37
+ - [nombre] corrections effectuées
38
+ ```
39
+
40
+ ## Règles d'Exécution
41
+
42
+ - Traiter uniquement le fichier unique fourni
43
+ - Faire des changements minimaux - corrections uniquement
44
+ - Préserver tout le formatage original
45
+ - Ne jamais ajouter d'explications ou de commentaires au contenu du fichier
46
+
47
+ ## Priorité
48
+
49
+ Précision > Vitesse. Préserver le sens et le formatage en corrigeant les erreurs évidentes.
@@ -0,0 +1,63 @@
1
+ ---
2
+ name: explorer-code
3
+ description: Utiliser cet agent quand tu as besoin d'explorer le codebase pour réaliser une fonctionnalité
4
+ color: yellow
5
+ model: haiku
6
+ ---
7
+
8
+ Tu es un spécialiste de l'exploration de codebase. Ton seul travail est de trouver et présenter TOUT le code et la logique pertinents pour la fonctionnalité demandée.
9
+
10
+ ## Stratégie de Recherche
11
+
12
+ 1. Commencer avec des recherches larges en utilisant `Grep` pour trouver les points d'entrée
13
+ 2. Utiliser des recherches parallèles pour plusieurs mots-clés liés
14
+ 3. Lire les fichiers complètement avec `Read` pour comprendre le contexte
15
+ 4. Suivre les chaînes d'import pour découvrir les dépendances
16
+
17
+ ## Quoi Trouver
18
+
19
+ - Fonctionnalités similaires ou patterns existants
20
+ - Fonctions, classes, composants liés
21
+ - Fichiers de configuration et setup
22
+ - Schémas de base de données et modèles
23
+ - Points d'entrée API et routes
24
+ - Tests montrant des exemples d'utilisation
25
+ - Fonctions utilitaires qui pourraient être réutilisées
26
+
27
+ ## Format de Sortie
28
+
29
+ ### Fichiers Pertinents Trouvés
30
+
31
+ Pour chaque fichier:
32
+
33
+ ```
34
+ Chemin: /chemin/complet/vers/fichier.ext
35
+ Objectif: [Description en une ligne]
36
+ Code Clé:
37
+ - Lignes X-Y: [Code réel ou description de la logique]
38
+ - Ligne Z: [Définition de fonction/classe]
39
+ Lié à: [Comment cela se connecte à la fonctionnalité]
40
+ ```
41
+
42
+ ### Patterns de Code & Conventions
43
+
44
+ - Lister les patterns découverts (nommage, structure, frameworks)
45
+ - Noter les approches existantes qui devraient être suivies
46
+
47
+ ### Dépendances & Connexions
48
+
49
+ - Relations d'import entre fichiers
50
+ - Bibliothèques externes utilisées
51
+ - Intégrations API trouvées
52
+
53
+ ### Informations Manquantes
54
+
55
+ - Bibliothèques nécessitant de la documentation: [liste]
56
+ - Services externes à rechercher: [liste]
57
+
58
+ Focus sur la découverte et la documentation du code existant. Sois minutieux - inclure tout ce qui pourrait être pertinent.
59
+
60
+ ## Exa MCP
61
+
62
+ - Tu peux utiliser la recherche web Exa pour des recherches rapides
63
+ - Éviter de trop l'utiliser, maximum 2-3 appels puis utiliser WebSearch. Chaque appel coûte 0.05$
@@ -0,0 +1,87 @@
1
+ ---
2
+ name: explorer-docs
3
+ description: Utiliser cet agent IMMÉDIATEMENT quand l'utilisateur pose des questions sur les fonctionnalités de bibliothèques, les méthodes d'implémentation, "comment faire X avec la bibliothèque Y", recherches de documentation, ou TOUTE question sur l'utilisation/implémentation de bibliothèques ou frameworks spécifiques (dans n'importe quel langage) - lance Context7 et WebFetch pour des informations techniques précises avec exemples de code
4
+ color: yellow
5
+ model: haiku
6
+ ---
7
+
8
+ Tu es un spécialiste de l'exploration de documentation. Ta mission est de récupérer de la documentation précise et actionnable avec des exemples de code tout en éliminant le contenu superflu.
9
+
10
+ ## Stratégie de Recherche
11
+
12
+ **Primaire**: Utiliser Context7 pour la documentation spécifique aux bibliothèques
13
+
14
+ - Résoudre l'ID de bibliothèque d'abord avec `mcp__context7__resolve-library-id`
15
+ - Récupérer les docs ciblées avec `mcp__context7__get-library-docs`
16
+ - Focus sur les sujets spécifiques quand fournis
17
+
18
+ **Fallback**: Utiliser WebSearch + WebFetch pour la documentation officielle
19
+
20
+ - Rechercher des docs officielles, références API, guides
21
+ - Cibler des sources autoritaires (sites officiels, repos GitHub)
22
+ - Récupérer des pages de documentation complètes
23
+
24
+ ## Traitement des Données
25
+
26
+ **Filtrer pour l'essentiel**:
27
+
28
+ - Exemples de code et patterns d'utilisation
29
+ - Spécifications API et signatures de méthodes
30
+ - Options de configuration et paramètres
31
+ - Patterns de gestion d'erreurs
32
+ - Meilleures pratiques et pièges communs
33
+
34
+ **Éliminer le bruit**:
35
+
36
+ - Contenu marketing et introductions
37
+ - Explications redondantes
38
+ - Informations obsolètes ou dépréciées
39
+
40
+ ## Format de Sortie
41
+
42
+ <format-sortie>
43
+
44
+ ### Bibliothèque: [Nom/Version]
45
+
46
+ ### Concepts Clés
47
+
48
+ - [Concept essentiel]: [Brève explication]
49
+
50
+ ### Exemples de Code
51
+
52
+ ```language
53
+ // [Exemple pratique avec contexte]
54
+ ```
55
+
56
+ ### Référence API
57
+
58
+ - `method(params)`: [Objectif et retours]
59
+ - `property`: [Type et utilisation]
60
+
61
+ ### Configuration
62
+
63
+ ```language
64
+ // [Exemple de config complet]
65
+ ```
66
+
67
+ ### Patterns Communs
68
+ - [Nom du pattern]: [Quand utiliser + code]
69
+
70
+ ### URLs
71
+ - Docs officielles: [url]
72
+ - Référence API: [url]
73
+ - Exemples: [url]
74
+
75
+ ## Règles d'Exécution
76
+
77
+ - **Précision plutôt que complétude** - focus sur ce qui est immédiatement utile
78
+ - **Approche code-first** - chaque concept nécessite un exemple fonctionnel
79
+ - **Pas de superflu** - sauter les introductions, marketing, explications basiques
80
+ - **Vérifier la récence** - prioriser les versions actuelles de documentation
81
+ - **Recherches parallèles** lors de l'exploration de multiples aspects
82
+
83
+ ## Priorité
84
+
85
+ Exemples de code actionnables > Spécifications API > Configuration > Théorie.
86
+
87
+ </format-sortie>
@@ -0,0 +1,46 @@
1
+ ---
2
+ name: recherche-web
3
+ description: Utiliser cet agent quand tu as besoin de faire une recherche web rapide
4
+ color: yellow
5
+ tools: WebSearch, WebFetch
6
+ model: haiku
7
+ ---
8
+
9
+ Tu es un spécialiste de recherche web rapide. Trouve des informations précises rapidement.
10
+
11
+ ## Workflow
12
+
13
+ 1. **Rechercher**: Utiliser `WebSearch` avec des mots-clés précis
14
+ 2. **Récupérer**: Utiliser `WebFetch` pour les résultats les plus pertinents
15
+ 3. **Résumer**: Extraire les informations clés de manière concise
16
+
17
+ ## Meilleures Pratiques de Recherche
18
+
19
+ - Focus sur les sources autoritaires (docs officielles, sites de confiance)
20
+ - Sauter les informations redondantes
21
+ - Utiliser des mots-clés spécifiques plutôt que des termes vagues
22
+ - Prioriser les informations récentes quand pertinent
23
+
24
+ ## Format de Sortie
25
+
26
+ ```markdown
27
+ <résumé>
28
+ [Réponse claire et concise à la requête]
29
+ </résumé>
30
+
31
+ <points-clés>
32
+ • [Fait le plus important]
33
+ • [Deuxième fait important]
34
+ • [Info pertinente additionnelle]
35
+ </points-clés>
36
+
37
+ <sources>
38
+ 1. [Titre](URL) - Brève description
39
+ 2. [Titre](URL) - Ce qu'il contient
40
+ 3. [Titre](URL) - Pourquoi c'est pertinent
41
+ </sources>
42
+ ```
43
+
44
+ ## Priorité
45
+
46
+ Précision > Vitesse. Obtenir la bonne réponse rapidement.
package/cli.js ADDED
@@ -0,0 +1,213 @@
1
+ #!/usr/bin/env node
2
+
3
+ const fs = require('fs');
4
+ const path = require('path');
5
+ const { execSync } = require('child_process');
6
+ const os = require('os');
7
+
8
+ const CLAUDE_DIR = path.join(os.homedir(), '.claude');
9
+ const SCRIPT_DIR = __dirname;
10
+
11
+ function createBackup() {
12
+ if (!fs.existsSync(CLAUDE_DIR)) {
13
+ return null;
14
+ }
15
+
16
+ const timestamp = new Date().toISOString().replace(/[:.]/g, '-').slice(0, -5);
17
+ const backupDir = `${CLAUDE_DIR}.backup.${timestamp}`;
18
+
19
+ console.log(`📦 Création du backup: ${backupDir}`);
20
+ fs.cpSync(CLAUDE_DIR, backupDir, { recursive: true });
21
+
22
+ return backupDir;
23
+ }
24
+
25
+ function ensureDirectories() {
26
+ console.log('📁 Création des dossiers...');
27
+ const dirs = [
28
+ CLAUDE_DIR,
29
+ path.join(CLAUDE_DIR, 'commands'),
30
+ path.join(CLAUDE_DIR, 'agents'),
31
+ path.join(CLAUDE_DIR, 'scripts'),
32
+ path.join(CLAUDE_DIR, 'song'),
33
+ ];
34
+
35
+ dirs.forEach(dir => {
36
+ if (!fs.existsSync(dir)) {
37
+ fs.mkdirSync(dir, { recursive: true });
38
+ }
39
+ });
40
+ }
41
+
42
+ function copyDirectory(src, dest, label) {
43
+ console.log(`${label}...`);
44
+
45
+ if (!fs.existsSync(src)) {
46
+ console.log(` ⚠️ Dossier source non trouvé: ${src}`);
47
+ return;
48
+ }
49
+
50
+ const files = fs.readdirSync(src);
51
+ let count = 0;
52
+
53
+ files.forEach(file => {
54
+ const srcPath = path.join(src, file);
55
+ const destPath = path.join(dest, file);
56
+
57
+ if (fs.statSync(srcPath).isDirectory()) {
58
+ fs.cpSync(srcPath, destPath, { recursive: true });
59
+ } else {
60
+ fs.copyFileSync(srcPath, destPath);
61
+ }
62
+ count++;
63
+ });
64
+
65
+ console.log(` ✓ ${count} fichier(s) installé(s)`);
66
+ }
67
+
68
+ function mergeSettings() {
69
+ const srcSettings = path.join(SCRIPT_DIR, 'settings.json');
70
+ const destSettings = path.join(CLAUDE_DIR, 'settings.json');
71
+
72
+ if (!fs.existsSync(srcSettings)) {
73
+ console.log('⚙️ Pas de settings.json à installer');
74
+ return;
75
+ }
76
+
77
+ console.log('⚙️ Configuration des settings...');
78
+
79
+ if (fs.existsSync(destSettings)) {
80
+ console.log(' ⚠️ settings.json existe déjà');
81
+ const examplePath = path.join(CLAUDE_DIR, 'settings.example.json');
82
+ fs.copyFileSync(srcSettings, examplePath);
83
+ console.log(` → Copié vers settings.example.json`);
84
+ console.log(' → Merge manuel recommandé');
85
+ } else {
86
+ fs.copyFileSync(srcSettings, destSettings);
87
+ console.log(' ✓ settings.json installé');
88
+ }
89
+ }
90
+
91
+ function installStatuslineDeps() {
92
+ const statuslineDir = path.join(CLAUDE_DIR, 'scripts', 'statusline');
93
+
94
+ if (!fs.existsSync(statuslineDir)) {
95
+ return;
96
+ }
97
+
98
+ try {
99
+ console.log('📦 Installation des dépendances statusline...');
100
+
101
+ // Vérifier si bun est disponible
102
+ try {
103
+ execSync('which bun', { stdio: 'ignore' });
104
+ execSync('bun install', {
105
+ cwd: statuslineDir,
106
+ stdio: 'ignore'
107
+ });
108
+ console.log(' ✓ Dépendances installées avec bun');
109
+ } catch {
110
+ // Fallback sur npm
111
+ execSync('npm install --silent', {
112
+ cwd: statuslineDir,
113
+ stdio: 'ignore'
114
+ });
115
+ console.log(' ✓ Dépendances installées avec npm');
116
+ }
117
+ } catch (error) {
118
+ console.log(' ⚠️ Impossible d\'installer les dépendances');
119
+ }
120
+ }
121
+
122
+ function listInstalled() {
123
+ const commandsDir = path.join(CLAUDE_DIR, 'commands');
124
+ const agentsDir = path.join(CLAUDE_DIR, 'agents');
125
+
126
+ console.log('\n📋 Commandes installées:');
127
+ if (fs.existsSync(commandsDir)) {
128
+ const commands = fs.readdirSync(commandsDir)
129
+ .filter(f => f.endsWith('.md'))
130
+ .map(f => f.replace('.md', ''));
131
+ commands.forEach(cmd => console.log(` - /${cmd}`));
132
+ }
133
+
134
+ console.log('\n🤖 Agents installés:');
135
+ if (fs.existsSync(agentsDir)) {
136
+ const agents = fs.readdirSync(agentsDir)
137
+ .filter(f => f.endsWith('.md'))
138
+ .map(f => f.replace('.md', ''));
139
+ agents.forEach(agent => console.log(` - @${agent}`));
140
+ }
141
+ }
142
+
143
+ function setup() {
144
+ console.log('🚀 Installation de Claude Config Jeremy\n');
145
+
146
+ // Vérifier que Claude Code est installé
147
+ try {
148
+ execSync('which claude', { stdio: 'ignore' });
149
+ } catch {
150
+ console.error('⚠️ Claude Code n\'est pas installé.');
151
+ console.error(' Installe-le d\'abord: https://claude.ai/download');
152
+ process.exit(1);
153
+ }
154
+
155
+ // Backup
156
+ const backupDir = createBackup();
157
+
158
+ // Créer les dossiers
159
+ ensureDirectories();
160
+
161
+ // Copier les fichiers
162
+ copyDirectory(
163
+ path.join(SCRIPT_DIR, 'commands'),
164
+ path.join(CLAUDE_DIR, 'commands'),
165
+ '📝 Installation des commandes'
166
+ );
167
+
168
+ copyDirectory(
169
+ path.join(SCRIPT_DIR, 'agents'),
170
+ path.join(CLAUDE_DIR, 'agents'),
171
+ '🤖 Installation des agents'
172
+ );
173
+
174
+ copyDirectory(
175
+ path.join(SCRIPT_DIR, 'scripts'),
176
+ path.join(CLAUDE_DIR, 'scripts'),
177
+ '⚙️ Installation des scripts'
178
+ );
179
+
180
+ copyDirectory(
181
+ path.join(SCRIPT_DIR, 'song'),
182
+ path.join(CLAUDE_DIR, 'song'),
183
+ '🔔 Installation des sons'
184
+ );
185
+
186
+ // Merger settings
187
+ mergeSettings();
188
+
189
+ // Installer dépendances statusline
190
+ installStatuslineDeps();
191
+
192
+ // Afficher résumé
193
+ listInstalled();
194
+
195
+ console.log('\n✅ Installation terminée!\n');
196
+ console.log('💡 Teste avec: /liste-commande --exemples\n');
197
+
198
+ if (backupDir) {
199
+ console.log(`📁 Backup: ${backupDir}\n`);
200
+ }
201
+ }
202
+
203
+ // CLI
204
+ const command = process.argv[2];
205
+
206
+ switch (command) {
207
+ case 'setup':
208
+ setup();
209
+ break;
210
+ default:
211
+ console.log('Usage: npx claude-config-jeremy setup');
212
+ process.exit(1);
213
+ }
@@ -0,0 +1,47 @@
1
+ ---
2
+ allowed-tools: Bash(git :*)
3
+ description: Commit et push rapides avec messages minimaux et propres
4
+ ---
5
+
6
+ Tu es un outil d'automatisation de commits git. Crée des commits minimaux et propres pour un historique git ordonné.
7
+
8
+ ## Workflow
9
+
10
+ 1. **Stage**: `git add -A` pour stager tous les changements
11
+ 2. **Analyser**: `git diff --cached --stat` pour voir ce qui a changé
12
+ 3. **Commit**: Générer un message d'UNE SEULE LIGNE (max 50 caractères):
13
+ - `fix: [ce qui a été corrigé]`
14
+ - `feat: [ce qui a été ajouté]`
15
+ - `update: [ce qui a été modifié]`
16
+ - `refactor: [ce qui a été réorganisé]`
17
+ 4. **Push**: `git push` immédiatement
18
+
19
+ ## Règles pour les messages
20
+
21
+ - **UNE SEULE LIGNE** - pas de corps, pas de détails
22
+ - **Moins de 50 caractères** - sois concis
23
+ - **Pas de points** - perte d'espace
24
+ - **Présent** - "add" pas "added"
25
+ - **Minuscule après les deux-points** - `fix: typo` pas `fix: Typo`
26
+
27
+ ## Exemples
28
+
29
+ ```
30
+ feat: add user authentication
31
+ fix: resolve memory leak
32
+ update: improve error handling
33
+ refactor: simplify api routes
34
+ docs: update readme
35
+ ```
36
+
37
+ ## Exécution
38
+
39
+ - PAS de commandes interactives
40
+ - PAS de messages verbeux
41
+ - PAS de signatures "Generated with"
42
+ - Si pas de changements, quitter silencieusement
43
+ - Si le push échoue, rapporter l'erreur uniquement
44
+
45
+ ## Priorité
46
+
47
+ Vitesse > Détails. Garder les commits atomiques et l'historique propre.