@the-bearded-bear/claude-craft 7.8.0 → 7.9.0-next.2b00ff5

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.
package/README.md CHANGED
@@ -6,10 +6,10 @@
6
6
 
7
7
  A comprehensive framework for AI-assisted development with [Claude Code](https://claude.ai/code). Install standardized rules, agents, and commands for your projects across multiple technology stacks.
8
8
 
9
- ## What's New in v7.8
9
+ ## What's New in v7.9
10
10
 
11
- - **Coolify infrastructure technology** — 4 agents, 5 commands, install script, full i18n (en/fr/es/de/pt) for self-hosted PaaS deployments
12
- - **160 commands, 33 agents, 20 namespaces** counters updated across all docs
11
+ - **Multi-account tool v2** — chmod 0700 security, `doctor` command, `--json` output, standardized exit codes, `.claude-profile` auto-switch, bash/zsh completions, 23 bats tests
12
+ - **5-language i18n** 29 new keys across en/fr/es/de/pt for doctor, permissions, JSON output
13
13
  - See [CHANGELOG](CHANGELOG.md) for full details
14
14
 
15
15
  > See [CHANGELOG.md](CHANGELOG.md) for previous versions.
@@ -5,15 +5,25 @@ Script interactif pour gérer facilement plusieurs comptes Claude Code.
5
5
  ## Installation
6
6
 
7
7
  ```bash
8
- # Télécharge et installe
9
- curl -o ~/.local/bin/claude-accounts https://raw.githubusercontent.com/TheBeardedBearSAS/claude-craft/main/Tools/MultiAccount/claude-accounts.sh
10
- chmod +x ~/.local/bin/claude-accounts
8
+ # Via Makefile (recommandé — copie aussi les dépendances)
9
+ make install-multiaccount
11
10
 
12
11
  # Ou manuellement
13
12
  cp claude-accounts.sh ~/.local/bin/claude-accounts
14
13
  chmod +x ~/.local/bin/claude-accounts
15
14
  ```
16
15
 
16
+ ### Shell completion (optionnel)
17
+
18
+ ```bash
19
+ # Bash
20
+ cp completions/claude-accounts.bash /etc/bash_completion.d/
21
+ # ou: source completions/claude-accounts.bash
22
+
23
+ # Zsh
24
+ cp completions/_claude-accounts ~/.zsh/completions/
25
+ ```
26
+
17
27
  ## Utilisation
18
28
 
19
29
  ### Mode interactif (menu)
@@ -23,21 +33,16 @@ claude-accounts
23
33
  ```
24
34
 
25
35
  ```
26
- ╔════════════════════════════════════════════════════════════╗
27
- ║ 🔐 Claude Code Multi-Account Manager ║
28
- ╚════════════════════════════════════════════════════════════╝
29
-
30
- Que veux-tu faire ?
31
-
32
- 1) 📋 Lister les profils
33
- 2) Ajouter un profil
34
- 3) 🗑️ Supprimer un profil
35
- 4) 🔐 Authentifier un profil
36
- 5) 🚀 Lancer Claude Code
37
- 6) ⚡ Installer la fonction ccsp()
38
- 7) 🔄 Migrer un profil legacy
39
- 8) 📖 Aide
40
- q) Quitter
36
+ 1) List profiles
37
+ 2) Add a profile
38
+ 3) Delete a profile
39
+ 4) Authenticate a profile
40
+ 5) Launch Claude Code
41
+ 6) Install ccsp() function
42
+ 7) Migrate a legacy profile
43
+ 8) Profile health check
44
+ 9) Help
45
+ q) Quit
41
46
  ```
42
47
 
43
48
  ### Mode CLI (commandes directes)
@@ -57,10 +62,37 @@ claude-accounts auth perso
57
62
  # Lancer avec un profil
58
63
  claude-accounts run pro
59
64
 
60
- # Supprimer un profil
65
+ # Supprimer un profil (crée un backup automatique)
61
66
  claude-accounts rm client-acme
67
+
68
+ # Migrer un profil legacy vers shared/isolated
69
+ claude-accounts migrate
70
+
71
+ # Diagnostic des profils
72
+ claude-accounts doctor
73
+
74
+ # Sortie JSON (scripting)
75
+ claude-accounts --json list
76
+
77
+ # Version
78
+ claude-accounts --version
79
+
80
+ # Changer la langue
81
+ claude-accounts --lang=fr list
62
82
  ```
63
83
 
84
+ ## Modes de profil
85
+
86
+ | Mode | Description |
87
+ |------|-------------|
88
+ | **shared** | Partage la config `~/.claude` via symlink (défaut) |
89
+ | **isolated** | Copie indépendante de la config (isolation totale) |
90
+ | **legacy** | Ancien format sans mode — migrer avec `migrate` |
91
+
92
+ ## Sécurité
93
+
94
+ Les dossiers de profil sont créés avec des permissions `0700` pour protéger les tokens d'authentification. La commande `doctor` vérifie les permissions et signale les anomalies.
95
+
64
96
  ## Après installation
65
97
 
66
98
  Le script crée automatiquement des alias dans ton `.zshrc` / `.bashrc` :
@@ -83,13 +115,38 @@ ccsp perso
83
115
  ccsp pro
84
116
  ```
85
117
 
118
+ ### Auto-switch par projet (`.claude-profile`)
119
+
120
+ Crée un fichier `.claude-profile` à la racine d'un repo :
121
+
122
+ ```bash
123
+ echo "pro" > .claude-profile
124
+ ```
125
+
126
+ Ensuite, `ccsp` (sans argument) utilisera automatiquement ce profil dans ce répertoire.
127
+
128
+ ### Indicateur de profil actif
129
+
130
+ Quand tu utilises `ccsp`, la variable `CLAUDE_PROFILE_NAME` est exportée. Tu peux l'utiliser dans ton prompt :
131
+
132
+ ```bash
133
+ # .bashrc / .zshrc
134
+ PS1="[\$CLAUDE_PROFILE_NAME] \$ "
135
+
136
+ # Ou avec Starship (starship.toml)
137
+ # [env_var.CLAUDE_PROFILE_NAME]
138
+ # symbol = "claude:"
139
+ ```
140
+
86
141
  ## Structure des fichiers
87
142
 
88
143
  ```
89
144
  ~/.claude-profiles/
90
- ├── perso/
91
- │ ├── .credentials.json # Token d'authentification
92
- │ ├── settings.json # Settings spécifiques
145
+ ├── perso/ (permissions 0700)
146
+ │ ├── .mode # "shared" ou "isolated"
147
+ │ ├── .credentials.json # Token d'authentification
148
+ │ ├── config -> ~/.claude # Symlink (mode shared)
149
+ │ ├── settings.json # Settings spécifiques
93
150
  │ └── ...
94
151
  ├── pro/
95
152
  │ └── ...
@@ -102,29 +159,70 @@ ccsp pro
102
159
  | Commande | Alias | Description |
103
160
  |----------|-------|-------------|
104
161
  | `add <nom>` | `a` | Ajoute un nouveau profil |
105
- | `rm <nom>` | `remove`, `delete` | Supprime un profil |
162
+ | `rm <nom>` | `remove`, `delete` | Supprime un profil (avec backup) |
106
163
  | `list` | `ls`, `l` | Liste tous les profils |
107
164
  | `auth <nom>` | `login` | Authentifie un profil |
108
165
  | `run <nom>` | `start`, `r` | Lance Claude Code avec un profil |
166
+ | `migrate` | `m` | Migre un profil legacy vers shared/isolated |
167
+ | `doctor` | `doc` | Vérifie la santé des profils |
109
168
  | `help` | `h`, `-h` | Affiche l'aide |
169
+ | `--version` | `-V` | Affiche la version |
170
+ | `--json` | | Sortie JSON pour scripting |
171
+ | `--lang=XX` | | Langue (en, fr, es, de, pt) |
172
+
173
+ ## Exit codes
174
+
175
+ | Code | Signification |
176
+ |------|---------------|
177
+ | `0` | Succès |
178
+ | `1` | Erreur générale |
179
+ | `2` | Erreur d'utilisation (commande inconnue) |
180
+ | `3` | Profil non trouvé |
181
+ | `4` | Dépendance manquante (jq) |
182
+
183
+ ## Sortie JSON
184
+
185
+ Le flag `--json` produit du JSON sur stdout, utile pour le scripting :
186
+
187
+ ```bash
188
+ claude-accounts --json list | jq '.profiles[] | select(.authenticated)'
189
+ claude-accounts --json --version | jq -r '.version'
190
+ ```
191
+
192
+ ## Langues supportées
193
+
194
+ Le script est disponible en 5 langues : **en** (défaut), **fr**, **es**, **de**, **pt**.
195
+
196
+ ```bash
197
+ claude-accounts --lang=fr # Menu en français
198
+ claude-accounts --lang=es list # Liste en espagnol
199
+ ```
200
+
201
+ ## Tests
202
+
203
+ ```bash
204
+ # Via Docker (recommandé)
205
+ docker run --rm -v "$(pwd)/Tools:/mnt" bats/bats:latest /mnt/MultiAccount/tests/
206
+ ```
110
207
 
111
208
  ## Tips
112
209
 
113
210
  ### Workflow type
114
211
 
115
- 1. **Setup initial** : `claude-accounts` Ajouter tes profils
116
- 2. **Auth une fois** : `claude-accounts auth perso` Login
212
+ 1. **Setup initial** : `claude-accounts` -> Ajouter tes profils
213
+ 2. **Auth une fois** : `claude-accounts auth perso` -> Login
117
214
  3. **Usage quotidien** : `claude-perso` ou `ccsp perso`
118
215
 
119
216
  ### Partager des settings entre profils
120
217
 
121
- Si tu veux des settings communs, crée un lien symbolique :
218
+ Utilise le mode **shared** (défaut) -- il crée un symlink vers `~/.claude`.
219
+
220
+ Pour le mode **isolated**, tu peux créer des liens manuellement :
122
221
 
123
222
  ```bash
124
223
  ln -s ~/.claude/settings.json ~/.claude-profiles/perso/settings.json
125
- ln -s ~/.claude/settings.json ~/.claude-profiles/pro/settings.json
126
224
  ```
127
225
 
128
226
  ### Contexte projet
129
227
 
130
- Tu peux aussi avoir des settings par projet dans `.claude/settings.json` à la racine de chaque repo ils seront mergés avec les settings du profil.
228
+ Tu peux aussi avoir des settings par projet dans `.claude/settings.json` à la racine de chaque repo -- ils seront mergés avec les settings du profil.