@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 +3 -3
- package/Tools/MultiAccount/README.md +126 -28
- package/Tools/MultiAccount/claude-accounts.sh +303 -63
- package/Tools/MultiAccount/completions/_claude-accounts +61 -0
- package/Tools/MultiAccount/completions/claude-accounts.bash +46 -0
- package/Tools/MultiAccount/tests/claude-accounts.bats +207 -0
- package/Tools/ProjectConfig/claude-projects.sh +40 -31
- package/Tools/i18n/accounts/de.sh +29 -0
- package/Tools/i18n/accounts/en.sh +29 -0
- package/Tools/i18n/accounts/es.sh +29 -0
- package/Tools/i18n/accounts/fr.sh +29 -0
- package/Tools/i18n/accounts/pt.sh +29 -0
- package/Tools/lib/tools-ui.sh +65 -0
- package/package.json +1 -1
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.
|
|
9
|
+
## What's New in v7.9
|
|
10
10
|
|
|
11
|
-
- **
|
|
12
|
-
- **
|
|
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
|
-
#
|
|
9
|
-
|
|
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
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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
|
-
│ ├── .
|
|
92
|
-
│ ├──
|
|
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`
|
|
116
|
-
2. **Auth une fois** : `claude-accounts auth perso`
|
|
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
|
-
|
|
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
|
|
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.
|