cc-proficiency 0.2.7 → 0.2.8
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.es.md +395 -0
- package/README.fr.md +395 -0
- package/README.ja.md +395 -0
- package/README.ko.md +395 -0
- package/README.md +27 -6
- package/README.zh-CN.md +27 -6
- package/dist/cli/commands/achievements.d.ts.map +1 -1
- package/dist/cli/commands/achievements.js +6 -4
- package/dist/cli/commands/achievements.js.map +1 -1
- package/dist/cli/commands/analyze.d.ts.map +1 -1
- package/dist/cli/commands/analyze.js +3 -2
- package/dist/cli/commands/analyze.js.map +1 -1
- package/dist/cli/commands/badge.d.ts.map +1 -1
- package/dist/cli/commands/badge.js +6 -7
- package/dist/cli/commands/badge.js.map +1 -1
- package/dist/cli/commands/config.d.ts.map +1 -1
- package/dist/cli/commands/config.js +8 -3
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/explain.d.ts.map +1 -1
- package/dist/cli/commands/explain.js +21 -21
- package/dist/cli/commands/explain.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +19 -21
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/leaderboard.d.ts.map +1 -1
- package/dist/cli/commands/leaderboard.js +12 -10
- package/dist/cli/commands/leaderboard.js.map +1 -1
- package/dist/cli/commands/process.js +5 -5
- package/dist/cli/commands/process.js.map +1 -1
- package/dist/cli/commands/refresh.d.ts.map +1 -1
- package/dist/cli/commands/refresh.js +2 -4
- package/dist/cli/commands/refresh.js.map +1 -1
- package/dist/cli/commands/share.d.ts.map +1 -1
- package/dist/cli/commands/share.js +30 -28
- package/dist/cli/commands/share.js.map +1 -1
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +17 -15
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/uninstall.d.ts.map +1 -1
- package/dist/cli/commands/uninstall.js +6 -4
- package/dist/cli/commands/uninstall.js.map +1 -1
- package/dist/cli/commands/update.d.ts.map +1 -1
- package/dist/cli/commands/update.js +14 -12
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/index.js +22 -19
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/services/hooks.d.ts.map +1 -1
- package/dist/cli/services/hooks.js +5 -4
- package/dist/cli/services/hooks.js.map +1 -1
- package/dist/cli/services/publishing.d.ts.map +1 -1
- package/dist/cli/services/publishing.js +15 -16
- package/dist/cli/services/publishing.js.map +1 -1
- package/dist/cli/utils/formatting.d.ts.map +1 -1
- package/dist/cli/utils/formatting.js +17 -11
- package/dist/cli/utils/formatting.js.map +1 -1
- package/dist/cli/utils/locale.d.ts +1 -1
- package/dist/cli/utils/locale.d.ts.map +1 -1
- package/dist/cli/utils/locale.js +4 -6
- package/dist/cli/utils/locale.js.map +1 -1
- package/dist/cli/utils/update-check.d.ts.map +1 -1
- package/dist/cli/utils/update-check.js +3 -2
- package/dist/cli/utils/update-check.js.map +1 -1
- package/dist/gist/registry.d.ts.map +1 -1
- package/dist/gist/registry.js +5 -15
- package/dist/gist/registry.js.map +1 -1
- package/dist/i18n/index.d.ts +17 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/index.js +71 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/i18n/locales/en.d.ts +3 -0
- package/dist/i18n/locales/en.d.ts.map +1 -0
- package/dist/i18n/locales/en.js +276 -0
- package/dist/i18n/locales/en.js.map +1 -0
- package/dist/i18n/locales/es.d.ts +3 -0
- package/dist/i18n/locales/es.d.ts.map +1 -0
- package/dist/i18n/locales/es.js +276 -0
- package/dist/i18n/locales/es.js.map +1 -0
- package/dist/i18n/locales/fr.d.ts +3 -0
- package/dist/i18n/locales/fr.d.ts.map +1 -0
- package/dist/i18n/locales/fr.js +276 -0
- package/dist/i18n/locales/fr.js.map +1 -0
- package/dist/i18n/locales/ja.d.ts +3 -0
- package/dist/i18n/locales/ja.d.ts.map +1 -0
- package/dist/i18n/locales/ja.js +276 -0
- package/dist/i18n/locales/ja.js.map +1 -0
- package/dist/i18n/locales/ko.d.ts +3 -0
- package/dist/i18n/locales/ko.d.ts.map +1 -0
- package/dist/i18n/locales/ko.js +276 -0
- package/dist/i18n/locales/ko.js.map +1 -0
- package/dist/i18n/locales/zh-CN.d.ts +3 -0
- package/dist/i18n/locales/zh-CN.d.ts.map +1 -0
- package/dist/i18n/locales/zh-CN.js +276 -0
- package/dist/i18n/locales/zh-CN.js.map +1 -0
- package/dist/i18n/types.d.ts +245 -0
- package/dist/i18n/types.d.ts.map +1 -0
- package/dist/i18n/types.js +5 -0
- package/dist/i18n/types.js.map +1 -0
- package/dist/renderer/animated-svg.d.ts +2 -3
- package/dist/renderer/animated-svg.d.ts.map +1 -1
- package/dist/renderer/animated-svg.js +47 -20
- package/dist/renderer/animated-svg.js.map +1 -1
- package/dist/renderer/svg.d.ts +11 -6
- package/dist/renderer/svg.d.ts.map +1 -1
- package/dist/renderer/svg.js +99 -69
- package/dist/renderer/svg.js.map +1 -1
- package/dist/store/achievements.d.ts +2 -1
- package/dist/store/achievements.d.ts.map +1 -1
- package/dist/store/achievements.js +2 -31
- package/dist/store/achievements.js.map +1 -1
- package/dist/types.d.ts +0 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/display-width.d.ts +10 -0
- package/dist/utils/display-width.d.ts.map +1 -0
- package/dist/utils/display-width.js +58 -0
- package/dist/utils/display-width.js.map +1 -0
- package/package.json +1 -1
package/README.fr.md
ADDED
|
@@ -0,0 +1,395 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="https://img.shields.io/badge/Claude_Code-Badge_de_Comp%C3%A9tence-7c3aed?style=for-the-badge&logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0id2hpdGUiPjxwYXRoIGQ9Ik0xMiAyTDIgN2wxMCA1IDEwLTV6Ii8+PHBhdGggZD0iTTIgMTdsMTAgNSAxMC01Ii8+PHBhdGggZD0iTTIgMTJsMTAgNSAxMC01Ii8+PC9zdmc+" alt="cc-proficiency" />
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
<p align="center">
|
|
6
|
+
<strong>Générez un badge de compétence pour votre utilisation de Claude Code, aligné sur les 5 domaines de l'examen Claude Certified Architect.</strong>
|
|
7
|
+
</p>
|
|
8
|
+
|
|
9
|
+
<p align="center">
|
|
10
|
+
<a href="https://www.npmjs.com/package/cc-proficiency"><img src="https://img.shields.io/npm/v/cc-proficiency?style=flat-square&color=cb3837&logo=npm" alt="version npm" /></a>
|
|
11
|
+
<a href="https://www.npmjs.com/package/cc-proficiency"><img src="https://img.shields.io/npm/dm/cc-proficiency?style=flat-square&color=cb3837&logo=npm" alt="téléchargements npm" /></a>
|
|
12
|
+
<a href="https://github.com/Z-M-Huang/cc-proficiency"><img src="https://img.shields.io/github/stars/Z-M-Huang/cc-proficiency?style=flat-square&logo=github" alt="GitHub stars" /></a>
|
|
13
|
+
<a href="https://github.com/Z-M-Huang/cc-proficiency/issues"><img src="https://img.shields.io/github/issues/Z-M-Huang/cc-proficiency?style=flat-square&logo=github" alt="GitHub issues" /></a>
|
|
14
|
+
<a href="https://github.com/Z-M-Huang/cc-proficiency/blob/main/LICENSE"><img src="https://img.shields.io/github/license/Z-M-Huang/cc-proficiency?style=flat-square" alt="Licence" /></a>
|
|
15
|
+
</p>
|
|
16
|
+
|
|
17
|
+
<p align="center">
|
|
18
|
+
<img src="https://img.shields.io/badge/node-%3E%3D18.0.0-339933?style=flat-square&logo=node.js&logoColor=white" alt="Node.js" />
|
|
19
|
+
<img src="https://img.shields.io/badge/TypeScript-5.7+-3178c6?style=flat-square&logo=typescript&logoColor=white" alt="TypeScript" />
|
|
20
|
+
<img src="https://img.shields.io/badge/zero-runtime_deps-22c55e?style=flat-square" alt="Zéro dépendances runtime" />
|
|
21
|
+
<img src="https://img.shields.io/badge/coverage-96%25-brightgreen?style=flat-square" alt="Couverture de tests" />
|
|
22
|
+
<img src="https://visitor-badge.laobi.icu/badge?page_id=Z-M-Huang.cc-proficiency&style=flat-square" alt="Visiteurs" />
|
|
23
|
+
</p>
|
|
24
|
+
|
|
25
|
+
<p align="center">
|
|
26
|
+
<a href="#installation">Installation</a> ·
|
|
27
|
+
<a href="#utilisation">Utilisation</a> ·
|
|
28
|
+
<a href="#int%C3%A9grer-dans-votre-readme">Intégrer</a> ·
|
|
29
|
+
<a href="#comment-fonctionne-le-scoring">Scoring</a> ·
|
|
30
|
+
<a href="#confidentialit%C3%A9">Confidentialité</a> ·
|
|
31
|
+
<a href="#localisation">Localisation</a> ·
|
|
32
|
+
<a href="./README.md">English</a> · <a href="./README.zh-CN.md">中文</a> · <a href="./README.es.md">Español</a> · <strong>Français</strong> · <a href="./README.ja.md">日本語</a> · <a href="./README.ko.md">한국어</a>
|
|
33
|
+
</p>
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Ce que ça fait
|
|
38
|
+
|
|
39
|
+
Analyse vos transcriptions de sessions Claude Code **localement** avec un moteur basé sur des règles, évaluant les modèles d'utilisation dans 5 domaines :
|
|
40
|
+
|
|
41
|
+
| Domaine | Poids | Ce qu'il mesure |
|
|
42
|
+
|---------|-------|-----------------|
|
|
43
|
+
| **CC Mastery** | 20% | CLAUDE.md, hooks, plugins, mode plan, skills, règles |
|
|
44
|
+
| **Tool & MCP** | 20% | Chaînes d'investigation, serveurs MCP, LSP, éditions sélectives |
|
|
45
|
+
| **Agentic** | 20% | Sous-agents, exécution parallèle, worktrees, gestion de tâches |
|
|
46
|
+
| **Prompt Craft** | 20% | Prompts structurés, blocs de code, traces d'erreurs, raffinement |
|
|
47
|
+
| **Context Mgmt** | 20% | Mémoire inter-sessions, mises à jour CLAUDE.md, projets soutenus |
|
|
48
|
+
|
|
49
|
+
Affiche également **8 mini-barres de fonctionnalités** (Hooks, Plugins, Skills, MCP, Agents, Plan, Memory, Rules) sous forme de carte thermique.
|
|
50
|
+
|
|
51
|
+
<p align="center">
|
|
52
|
+
<a href="https://github.com/Z-M-Huang/cc-proficiency">
|
|
53
|
+
<img src="https://gist.githubusercontent.com/Z-M-Huang/2717fa94690c459d5093650c87f49868/raw/cc-proficiency.svg" alt="Badge CC Proficiency — Statique" />
|
|
54
|
+
</a>
|
|
55
|
+
<br />
|
|
56
|
+
<a href="https://gist.githubusercontent.com/Z-M-Huang/2717fa94690c459d5093650c87f49868/raw/cc-proficiency-animated.svg">Cliquez pour voir la version animée</a>
|
|
57
|
+
</p>
|
|
58
|
+
|
|
59
|
+
> **Avertissement :** Ceci est une estimation d'utilisation non officielle, pas un score de certification Anthropic réel. Non affilié à ni approuvé par Anthropic.
|
|
60
|
+
|
|
61
|
+
## Installation
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
npm install -g cc-proficiency
|
|
65
|
+
cc-proficiency init
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
`init` va :
|
|
69
|
+
1. Détecter votre nom d'utilisateur GitHub (via `gh` CLI)
|
|
70
|
+
2. Injecter un hook Stop dans `~/.claude/settings.json`
|
|
71
|
+
3. Créer un Gist GitHub privé pour votre badge (si `gh` est authentifié)
|
|
72
|
+
|
|
73
|
+
Si `gh` n'est pas installé ou pas authentifié, le badge est sauvegardé localement dans `~/.cc-proficiency/cc-proficiency.svg`.
|
|
74
|
+
|
|
75
|
+
## Utilisation
|
|
76
|
+
|
|
77
|
+
### Configuration initiale
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
$ cc-proficiency init
|
|
81
|
+
|
|
82
|
+
Initializing cc-proficiency...
|
|
83
|
+
|
|
84
|
+
GitHub user: @yourname
|
|
85
|
+
Creating private Gist...
|
|
86
|
+
Gist created: a1b2c3d4e5f6
|
|
87
|
+
|
|
88
|
+
Add to your README:
|
|
89
|
+

|
|
90
|
+
|
|
91
|
+
✓ Configuration saved to /home/you/.cc-proficiency
|
|
92
|
+
✓ Hook injected into ~/.claude/settings.json
|
|
93
|
+
|
|
94
|
+
Run 'cc-proficiency analyze' to compute your first scores.
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### Analysez votre compétence
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
$ cc-proficiency analyze --full
|
|
101
|
+
|
|
102
|
+
Running full analysis...
|
|
103
|
+
Claude Code Proficiency — @yourname
|
|
104
|
+
────────────────────────────────────────
|
|
105
|
+
CC Mastery ███████████████░░░░░ 77 ●
|
|
106
|
+
Tool & MCP ███████████████████░ 96 ◐
|
|
107
|
+
Agentic ██████████████░░░░░░ 69 ◐
|
|
108
|
+
Prompt Craft ████████████████░░░░ 81 ◐
|
|
109
|
+
Context Mgmt ████████████████████ 100 ●
|
|
110
|
+
────────────────────────────────────────
|
|
111
|
+
Hooks Edit (1411x), Bash (928x), Write (542x) +5
|
|
112
|
+
Skills dev-buddy-once (5x), chatroom (2x) +5
|
|
113
|
+
Tools Read 2046 · Bash 1045 · Write 379 · Edit 367 (+12 more)
|
|
114
|
+
────────────────────────────────────────
|
|
115
|
+
139 sessions · 4 projects
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Obtenir des conseils d'amélioration
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
$ cc-proficiency explain
|
|
122
|
+
|
|
123
|
+
Claude Code Proficiency — @yourname
|
|
124
|
+
|
|
125
|
+
Strengths:
|
|
126
|
+
Context Mgmt 100/100
|
|
127
|
+
Tool & MCP 96/100
|
|
128
|
+
Prompt Craft 81/100
|
|
129
|
+
CC Mastery 77/100
|
|
130
|
+
Agentic 69/100
|
|
131
|
+
|
|
132
|
+
Areas to Improve:
|
|
133
|
+
Agentic (69/100)
|
|
134
|
+
→ Try more CC features: subagents, MCP servers, skills,
|
|
135
|
+
plan mode, worktrees
|
|
136
|
+
CC Mastery (77/100)
|
|
137
|
+
→ Enhance CLAUDE.md with imports, add hooks with matchers,
|
|
138
|
+
create rules files
|
|
139
|
+
|
|
140
|
+
Feature Usage:
|
|
141
|
+
Hooks: Edit (1411x), Bash (928x), Write (542x) +5
|
|
142
|
+
Skills: dev-buddy-once (5x), chatroom (2x) +5
|
|
143
|
+
Tools: Read (2046), Bash (1045), Write (379) +12 more
|
|
144
|
+
Flags: ✓ Plan ✓ Memory ✗ Rules
|
|
145
|
+
|
|
146
|
+
139 sessions · 4 projects
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
### Générer et publier votre badge
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
# Sauvegarder le badge localement
|
|
153
|
+
$ cc-proficiency badge --output my-badge.svg
|
|
154
|
+
Badge written to my-badge.svg
|
|
155
|
+
|
|
156
|
+
# Ou publier directement sur votre Gist
|
|
157
|
+
$ cc-proficiency push
|
|
158
|
+
✓ Badge pushed to Gist
|
|
159
|
+
https://gist.githubusercontent.com/yourname/a1b2c3d4e5f6/raw/cc-proficiency.svg
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### Mises à jour automatiques (zéro effort)
|
|
163
|
+
|
|
164
|
+
Après `init`, un hook Stop s'exécute automatiquement après chaque session Claude Code :
|
|
165
|
+
|
|
166
|
+
```
|
|
167
|
+
Vous utilisez Claude Code normalement
|
|
168
|
+
→ La session se termine
|
|
169
|
+
→ Le hook met la session en file d'attente (<1s, invisible pour vous)
|
|
170
|
+
→ Un processus en arrière-plan analyse + met à jour votre badge
|
|
171
|
+
→ Le badge de votre README reflète vos derniers scores
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
Aucune étape manuelle nécessaire après la configuration.
|
|
175
|
+
|
|
176
|
+
### Sans GitHub CLI
|
|
177
|
+
|
|
178
|
+
Si vous n'avez pas `gh` installé ou préférez le mode local uniquement :
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
$ cc-proficiency init
|
|
182
|
+
|
|
183
|
+
⚠ GitHub CLI not authenticated.
|
|
184
|
+
Badge will be saved locally to: ~/.cc-proficiency/cc-proficiency.svg
|
|
185
|
+
To enable auto-upload: gh auth login && cc-proficiency init
|
|
186
|
+
|
|
187
|
+
$ cc-proficiency analyze --full
|
|
188
|
+
$ cc-proficiency badge --output badge.svg
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
## Intégrer dans votre README
|
|
192
|
+
|
|
193
|
+
Après avoir exécuté `cc-proficiency init`, ajoutez ceci à votre README :
|
|
194
|
+
|
|
195
|
+
```markdown
|
|
196
|
+
<!-- Badge statique -->
|
|
197
|
+

|
|
198
|
+
|
|
199
|
+
<!-- Badge animé (cliquez pour voir) -->
|
|
200
|
+
[Cliquez pour voir la version animée](https://gist.githubusercontent.com/<username>/<gist-id>/raw/cc-proficiency-animated.svg)
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
Les deux badges se mettent à jour automatiquement après chaque session Claude Code (via le hook Stop).
|
|
204
|
+
|
|
205
|
+
## Badge progressif
|
|
206
|
+
|
|
207
|
+
Le badge s'adapte en fonction de la quantité de données disponibles :
|
|
208
|
+
|
|
209
|
+
| Phase | Sessions | Ce qui est affiché |
|
|
210
|
+
|-------|----------|--------------------------|
|
|
211
|
+
| **Calibrage** | 0–2 | Checklist de configuration + progression vers le premier scoring |
|
|
212
|
+
| **Résultats préliminaires** | 3–9 | 5 barres de domaine + 8 mini-barres de fonctionnalités (indicateurs de faible confiance ○) |
|
|
213
|
+
| **Badge complet** | 10+ | Barres de domaine complètes, carte thermique des fonctionnalités, points de confiance (● ◐ ○) |
|
|
214
|
+
|
|
215
|
+
## Améliorez vos scores
|
|
216
|
+
|
|
217
|
+
Le **[Guide de gamification](https://github.com/Z-M-Huang/cc-proficiency/wiki/Gamification-Guide)** couvre :
|
|
218
|
+
|
|
219
|
+
- Parcours de progression du premier jour au niveau expert
|
|
220
|
+
- Conseils pour chacun des 5 domaines
|
|
221
|
+
- Comment débloquer les 15 succès
|
|
222
|
+
- Ce qui fait évoluer chaque mini-barre de fonctionnalité de 0 à 100
|
|
223
|
+
- Système de séries et classement
|
|
224
|
+
|
|
225
|
+
> **[Gamification Guide](https://github.com/Z-M-Huang/cc-proficiency/wiki/Gamification-Guide)** | **[游戏化攻略(中文)](https://github.com/Z-M-Huang/cc-proficiency/wiki/Gamification-Guide-zh)**
|
|
226
|
+
|
|
227
|
+
## Comment fonctionne le scoring
|
|
228
|
+
|
|
229
|
+
### Moteur basé sur des règles
|
|
230
|
+
|
|
231
|
+
cc-proficiency utilise un **moteur de règles à correspondance de motifs** avec ~55 règles réparties sur 5 domaines au lieu de compter les appels d'outils. Chaque règle détecte un modèle de comportement spécifique et attribue des points par niveau :
|
|
232
|
+
|
|
233
|
+
| Niveau | Points | Exemple de règle |
|
|
234
|
+
|--------|--------|----------------------|
|
|
235
|
+
| **Débutant** | 5 pts | Possède un CLAUDE.md global |
|
|
236
|
+
| **Intermédiaire** | 10–15 pts | Chaîne d'investigation : Grep → Read → Edit |
|
|
237
|
+
| **Avancé** | 15–25 pts | Agents parallèles avec différents types de sous-agents |
|
|
238
|
+
| **Anti-pattern** | -5 à -10 pts | 5+ outils parallèles avec >50% de taux d'erreur |
|
|
239
|
+
|
|
240
|
+
### 5 barres de domaine
|
|
241
|
+
|
|
242
|
+
| Domaine | Ce qu'il mesure |
|
|
243
|
+
|---------|-----------------|
|
|
244
|
+
| **CC Mastery** | Structure CLAUDE.md, hooks avec matchers, plugins, mode plan, skills, fichiers de règles |
|
|
245
|
+
| **Tool & MCP** | Chaînes d'investigation, Read-before-Edit, variété d'outils, utilisation de serveurs MCP, LSP, éditions sélectives |
|
|
246
|
+
| **Agentic** | Variété de types de sous-agents, agents parallèles, exécutions en arrière-plan, worktrees, gestion de tâches |
|
|
247
|
+
| **Prompt Craft** | Requêtes structurées, blocs de code, traces d'erreurs, références de fichiers, raffinement itératif |
|
|
248
|
+
| **Context Mgmt** | Fichiers mémoire actifs, mises à jour CLAUDE.md, projets soutenus, profondeur de session |
|
|
249
|
+
|
|
250
|
+
### 8 mini-barres de fonctionnalités
|
|
251
|
+
|
|
252
|
+
Sous les barres de domaine, une rangée de carte thermique montre la profondeur par fonctionnalité :
|
|
253
|
+
|
|
254
|
+
`Hooks · Plugins · Skills · MCP · Agents · Plan · Memory · Rules`
|
|
255
|
+
|
|
256
|
+
Chaque mini-barre utilise un **scoring basé sur la profondeur** avec des courbes logarithmiques qui reflètent l'utilisation réelle, pas seulement si vous avez essayé une fonctionnalité une fois. Avoir des hooks configurés vous donne ~30 ; les déclencher à travers des centaines de sessions vous rapproche de 100. Consultez le [Guide de gamification](https://github.com/Z-M-Huang/cc-proficiency/wiki/Gamification-Guide) pour plus de détails.
|
|
257
|
+
|
|
258
|
+
### Agrégation par buckets avec plafonds
|
|
259
|
+
|
|
260
|
+
Les scores ne sont pas des sommes brutes. Chaque domaine a des buckets plafonnés :
|
|
261
|
+
|
|
262
|
+
| Bucket | Points max. | Source |
|
|
263
|
+
|--------|------------|--------|
|
|
264
|
+
| **Config** | 25 pts | Règles basées sur la configuration (CLAUDE.md, hooks, plugins ; disponibles immédiatement) |
|
|
265
|
+
| **Behavior** | 75 pts | Règles basées sur le comportement (motifs de transcription ; croissent avec le temps) |
|
|
266
|
+
| **Penalty** | -15 pts max | Déductions pour anti-patterns |
|
|
267
|
+
|
|
268
|
+
Cela signifie :
|
|
269
|
+
- Les **nouvelles installations** peuvent obtenir jusqu'à ~25 points bruts de configuration par domaine (augmentés à ~50 pendant le calibrage via une mise à l'échelle 2.0x)
|
|
270
|
+
- **Après le calibrage** (10+ sessions), la configuration seule plafonne à ~25 par domaine ; les preuves de transcription alimentent le reste
|
|
271
|
+
- Les **anti-patterns sont plafonnés**, donc quelques mauvaises sessions ne détruisent pas votre score
|
|
272
|
+
|
|
273
|
+
### Pondération adaptée à la phase
|
|
274
|
+
|
|
275
|
+
Les preuves de configuration sont pondérées plus fortement pendant le calibrage, moins à mesure que les transcriptions s'accumulent :
|
|
276
|
+
|
|
277
|
+
| Phase | Sessions | Échelle config | Échelle comportement |
|
|
278
|
+
|-------|----------|--------------|--------------------------|
|
|
279
|
+
| Calibrage | 0–2 | 2.0× | 0.8× |
|
|
280
|
+
| Préliminaire | 3–9 | 1.5× | 1.0× |
|
|
281
|
+
| Complet | 10+ | 1.0× | 1.15× |
|
|
282
|
+
|
|
283
|
+
### Anti-triche
|
|
284
|
+
|
|
285
|
+
- Les règles se déclenchent **par session avec des plafonds** ; répéter le même outil 100 fois n'aide pas
|
|
286
|
+
- Les **règles anti-pattern** déduisent des points pour les mauvaises habitudes (appels parallèles en rafale, blocs de texte non structurés)
|
|
287
|
+
- Chaque règle a un `maxPerSession` ; les chaînes d'investigation sont limitées à 3 par session
|
|
288
|
+
- Les scores de configuration sont **plafonnés à 25**, vous ne pouvez donc pas maximiser un domaine en installant simplement des plugins
|
|
289
|
+
|
|
290
|
+
## Confidentialité
|
|
291
|
+
|
|
292
|
+
| Aspect | Comment c'est géré |
|
|
293
|
+
|--------|-------------------------------|
|
|
294
|
+
| **Emplacement des données** | Toute l'analyse se fait **localement** sur votre machine |
|
|
295
|
+
| **Ce qui est stocké** | Uniquement des comptages agrégés, des ratios et des flags booléens (pas de chemins de fichiers, de code ou de prompts) |
|
|
296
|
+
| **Visibilité du Gist** | **Privé par défaut** (URL secrète, non listé sur votre profil) |
|
|
297
|
+
| **Mode hors ligne** | Fonctionne entièrement hors ligne sans `gh` CLI (mode local uniquement) |
|
|
298
|
+
| **CI/CD** | Les sessions non interactives sont automatiquement détectées et exclues |
|
|
299
|
+
|
|
300
|
+
## Localisation
|
|
301
|
+
|
|
302
|
+
cc-proficiency supporte 6 langues : English, 中文, Español, Français, 日本語, 한국어.
|
|
303
|
+
|
|
304
|
+
Votre langue est auto-détectée depuis l'environnement système lors de `init`. Pour la changer :
|
|
305
|
+
|
|
306
|
+
```bash
|
|
307
|
+
cc-proficiency config locale zh-CN # Chinois
|
|
308
|
+
cc-proficiency config locale es # Espagnol
|
|
309
|
+
cc-proficiency config locale fr # Français
|
|
310
|
+
cc-proficiency config locale ja # Japonais
|
|
311
|
+
cc-proficiency config locale ko # Coréen
|
|
312
|
+
cc-proficiency config locale en # Anglais (par défaut)
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
Les badges SVG s'affichent automatiquement dans la langue préférée du spectateur grâce aux éléments SVG `<switch>` avec des attributs `systemLanguage`. Les 6 langues sont intégrées dans un seul fichier SVG — pas besoin de générer des badges séparés par langue.
|
|
316
|
+
|
|
317
|
+
### Contribuer des traductions
|
|
318
|
+
|
|
319
|
+
Pour ajouter une nouvelle langue, copiez `src/i18n/locales/en.ts` vers `src/i18n/locales/<code>.ts`, traduisez toutes les chaînes et enregistrez la langue dans `src/i18n/index.ts`.
|
|
320
|
+
|
|
321
|
+
## Commandes
|
|
322
|
+
|
|
323
|
+
| Commande | Description |
|
|
324
|
+
|----------|-------------|
|
|
325
|
+
| `cc-proficiency init` | Configurer les hooks et le Gist |
|
|
326
|
+
| `cc-proficiency analyze [--full]` | Analyser les sessions et calculer les scores |
|
|
327
|
+
| `cc-proficiency process` | Traiter les sessions en file d'attente depuis le hook |
|
|
328
|
+
| `cc-proficiency badge [--output <fichier>]` | Générer un badge SVG |
|
|
329
|
+
| `cc-proficiency push` | Téléverser le badge vers le Gist |
|
|
330
|
+
| `cc-proficiency explain` | Afficher les facteurs de score et les conseils |
|
|
331
|
+
| `cc-proficiency achievements` | Voir la progression des succès |
|
|
332
|
+
| `cc-proficiency status` | Afficher l'activité du hook, la file d'attente et la configuration |
|
|
333
|
+
| `cc-proficiency config [clé] [valeur]` | Voir/modifier la configuration |
|
|
334
|
+
| `cc-proficiency share [--remove]` | Rejoindre ou quitter le classement communautaire |
|
|
335
|
+
| `cc-proficiency leaderboard` | Voir les classements de la communauté |
|
|
336
|
+
| `cc-proficiency update` | Mettre à jour vers la dernière version |
|
|
337
|
+
| `cc-proficiency uninstall` | Supprimer les hooks et nettoyer |
|
|
338
|
+
|
|
339
|
+
### Classement communautaire
|
|
340
|
+
|
|
341
|
+
Rejoignez le classement communautaire pour comparer votre compétence avec d'autres utilisateurs de Claude Code :
|
|
342
|
+
|
|
343
|
+
```bash
|
|
344
|
+
# Rejoindre le classement (crée un profil public séparé)
|
|
345
|
+
$ cc-proficiency share
|
|
346
|
+
|
|
347
|
+
# Voir les classements
|
|
348
|
+
$ cc-proficiency leaderboard
|
|
349
|
+
|
|
350
|
+
# Quitter le classement
|
|
351
|
+
$ cc-proficiency share --remove
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
Vos données privées (détails de session, noms de projets, chemins de fichiers) ne sont jamais partagées. Seuls les scores, la série et le nombre de succès sont publics. Consultez le [wiki](https://github.com/Z-M-Huang/cc-proficiency/wiki) pour la documentation complète.
|
|
355
|
+
|
|
356
|
+
## Architecture
|
|
357
|
+
|
|
358
|
+
```
|
|
359
|
+
Le hook Stop se déclenche (< 1s)
|
|
360
|
+
→ Écrit le chemin de session dans ~/.cc-proficiency/queue.jsonl
|
|
361
|
+
→ Lance `cc-proficiency process` comme processus enfant détaché
|
|
362
|
+
|
|
363
|
+
cc-proficiency process
|
|
364
|
+
→ Acquiert queue.lock (obsolète >60s → forcer)
|
|
365
|
+
→ Déduplique par session_id
|
|
366
|
+
→ Analyse les transcriptions (JSONL en streaming, gestion d'erreurs par ligne)
|
|
367
|
+
→ Extrait les signaux → calcule les scores → génère le SVG
|
|
368
|
+
→ Pousse vers le Gist (si configuré) ou sauvegarde localement
|
|
369
|
+
→ Effectue la rotation de la file d'attente de manière atomique
|
|
370
|
+
```
|
|
371
|
+
|
|
372
|
+
## Contribuer
|
|
373
|
+
|
|
374
|
+
Les contributions sont les bienvenues ! Veuillez d'abord ouvrir une issue pour discuter de ce que vous souhaitez modifier.
|
|
375
|
+
|
|
376
|
+
```bash
|
|
377
|
+
git clone https://github.com/Z-M-Huang/cc-proficiency.git
|
|
378
|
+
cd cc-proficiency
|
|
379
|
+
npm install
|
|
380
|
+
npm test # 200 tests
|
|
381
|
+
npm run build # compiler vers dist/
|
|
382
|
+
npm run typecheck # tsc --noEmit
|
|
383
|
+
npm run lint # eslint
|
|
384
|
+
npm run check # typecheck + lint + test
|
|
385
|
+
```
|
|
386
|
+
|
|
387
|
+
## Licence
|
|
388
|
+
|
|
389
|
+
[Apache 2.0](LICENSE)
|
|
390
|
+
|
|
391
|
+
---
|
|
392
|
+
|
|
393
|
+
<p align="center">
|
|
394
|
+
<sub>Construit avec Claude Code. Non affilié à ni approuvé par Anthropic.</sub>
|
|
395
|
+
</p>
|