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.
Files changed (116) hide show
  1. package/README.es.md +395 -0
  2. package/README.fr.md +395 -0
  3. package/README.ja.md +395 -0
  4. package/README.ko.md +395 -0
  5. package/README.md +27 -6
  6. package/README.zh-CN.md +27 -6
  7. package/dist/cli/commands/achievements.d.ts.map +1 -1
  8. package/dist/cli/commands/achievements.js +6 -4
  9. package/dist/cli/commands/achievements.js.map +1 -1
  10. package/dist/cli/commands/analyze.d.ts.map +1 -1
  11. package/dist/cli/commands/analyze.js +3 -2
  12. package/dist/cli/commands/analyze.js.map +1 -1
  13. package/dist/cli/commands/badge.d.ts.map +1 -1
  14. package/dist/cli/commands/badge.js +6 -7
  15. package/dist/cli/commands/badge.js.map +1 -1
  16. package/dist/cli/commands/config.d.ts.map +1 -1
  17. package/dist/cli/commands/config.js +8 -3
  18. package/dist/cli/commands/config.js.map +1 -1
  19. package/dist/cli/commands/explain.d.ts.map +1 -1
  20. package/dist/cli/commands/explain.js +21 -21
  21. package/dist/cli/commands/explain.js.map +1 -1
  22. package/dist/cli/commands/init.d.ts.map +1 -1
  23. package/dist/cli/commands/init.js +19 -21
  24. package/dist/cli/commands/init.js.map +1 -1
  25. package/dist/cli/commands/leaderboard.d.ts.map +1 -1
  26. package/dist/cli/commands/leaderboard.js +12 -10
  27. package/dist/cli/commands/leaderboard.js.map +1 -1
  28. package/dist/cli/commands/process.js +5 -5
  29. package/dist/cli/commands/process.js.map +1 -1
  30. package/dist/cli/commands/refresh.d.ts.map +1 -1
  31. package/dist/cli/commands/refresh.js +2 -4
  32. package/dist/cli/commands/refresh.js.map +1 -1
  33. package/dist/cli/commands/share.d.ts.map +1 -1
  34. package/dist/cli/commands/share.js +30 -28
  35. package/dist/cli/commands/share.js.map +1 -1
  36. package/dist/cli/commands/status.d.ts.map +1 -1
  37. package/dist/cli/commands/status.js +17 -15
  38. package/dist/cli/commands/status.js.map +1 -1
  39. package/dist/cli/commands/uninstall.d.ts.map +1 -1
  40. package/dist/cli/commands/uninstall.js +6 -4
  41. package/dist/cli/commands/uninstall.js.map +1 -1
  42. package/dist/cli/commands/update.d.ts.map +1 -1
  43. package/dist/cli/commands/update.js +14 -12
  44. package/dist/cli/commands/update.js.map +1 -1
  45. package/dist/cli/index.js +22 -19
  46. package/dist/cli/index.js.map +1 -1
  47. package/dist/cli/services/hooks.d.ts.map +1 -1
  48. package/dist/cli/services/hooks.js +5 -4
  49. package/dist/cli/services/hooks.js.map +1 -1
  50. package/dist/cli/services/publishing.d.ts.map +1 -1
  51. package/dist/cli/services/publishing.js +15 -16
  52. package/dist/cli/services/publishing.js.map +1 -1
  53. package/dist/cli/utils/formatting.d.ts.map +1 -1
  54. package/dist/cli/utils/formatting.js +17 -11
  55. package/dist/cli/utils/formatting.js.map +1 -1
  56. package/dist/cli/utils/locale.d.ts +1 -1
  57. package/dist/cli/utils/locale.d.ts.map +1 -1
  58. package/dist/cli/utils/locale.js +4 -6
  59. package/dist/cli/utils/locale.js.map +1 -1
  60. package/dist/cli/utils/update-check.d.ts.map +1 -1
  61. package/dist/cli/utils/update-check.js +3 -2
  62. package/dist/cli/utils/update-check.js.map +1 -1
  63. package/dist/gist/registry.d.ts.map +1 -1
  64. package/dist/gist/registry.js +5 -15
  65. package/dist/gist/registry.js.map +1 -1
  66. package/dist/i18n/index.d.ts +17 -0
  67. package/dist/i18n/index.d.ts.map +1 -0
  68. package/dist/i18n/index.js +71 -0
  69. package/dist/i18n/index.js.map +1 -0
  70. package/dist/i18n/locales/en.d.ts +3 -0
  71. package/dist/i18n/locales/en.d.ts.map +1 -0
  72. package/dist/i18n/locales/en.js +276 -0
  73. package/dist/i18n/locales/en.js.map +1 -0
  74. package/dist/i18n/locales/es.d.ts +3 -0
  75. package/dist/i18n/locales/es.d.ts.map +1 -0
  76. package/dist/i18n/locales/es.js +276 -0
  77. package/dist/i18n/locales/es.js.map +1 -0
  78. package/dist/i18n/locales/fr.d.ts +3 -0
  79. package/dist/i18n/locales/fr.d.ts.map +1 -0
  80. package/dist/i18n/locales/fr.js +276 -0
  81. package/dist/i18n/locales/fr.js.map +1 -0
  82. package/dist/i18n/locales/ja.d.ts +3 -0
  83. package/dist/i18n/locales/ja.d.ts.map +1 -0
  84. package/dist/i18n/locales/ja.js +276 -0
  85. package/dist/i18n/locales/ja.js.map +1 -0
  86. package/dist/i18n/locales/ko.d.ts +3 -0
  87. package/dist/i18n/locales/ko.d.ts.map +1 -0
  88. package/dist/i18n/locales/ko.js +276 -0
  89. package/dist/i18n/locales/ko.js.map +1 -0
  90. package/dist/i18n/locales/zh-CN.d.ts +3 -0
  91. package/dist/i18n/locales/zh-CN.d.ts.map +1 -0
  92. package/dist/i18n/locales/zh-CN.js +276 -0
  93. package/dist/i18n/locales/zh-CN.js.map +1 -0
  94. package/dist/i18n/types.d.ts +245 -0
  95. package/dist/i18n/types.d.ts.map +1 -0
  96. package/dist/i18n/types.js +5 -0
  97. package/dist/i18n/types.js.map +1 -0
  98. package/dist/renderer/animated-svg.d.ts +2 -3
  99. package/dist/renderer/animated-svg.d.ts.map +1 -1
  100. package/dist/renderer/animated-svg.js +47 -20
  101. package/dist/renderer/animated-svg.js.map +1 -1
  102. package/dist/renderer/svg.d.ts +11 -6
  103. package/dist/renderer/svg.d.ts.map +1 -1
  104. package/dist/renderer/svg.js +99 -69
  105. package/dist/renderer/svg.js.map +1 -1
  106. package/dist/store/achievements.d.ts +2 -1
  107. package/dist/store/achievements.d.ts.map +1 -1
  108. package/dist/store/achievements.js +2 -31
  109. package/dist/store/achievements.js.map +1 -1
  110. package/dist/types.d.ts +0 -2
  111. package/dist/types.d.ts.map +1 -1
  112. package/dist/utils/display-width.d.ts +10 -0
  113. package/dist/utils/display-width.d.ts.map +1 -0
  114. package/dist/utils/display-width.js +58 -0
  115. package/dist/utils/display-width.js.map +1 -0
  116. 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&eacute;n&eacute;rez un badge de comp&eacute;tence pour votre utilisation de Claude Code, align&eacute; 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&eacute;l&eacute;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&eacute;ro d&eacute;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> &nbsp;&middot;&nbsp;
27
+ <a href="#utilisation">Utilisation</a> &nbsp;&middot;&nbsp;
28
+ <a href="#int%C3%A9grer-dans-votre-readme">Int&eacute;grer</a> &nbsp;&middot;&nbsp;
29
+ <a href="#comment-fonctionne-le-scoring">Scoring</a> &nbsp;&middot;&nbsp;
30
+ <a href="#confidentialit%C3%A9">Confidentialit&eacute;</a> &nbsp;&middot;&nbsp;
31
+ <a href="#localisation">Localisation</a> &nbsp;&middot;&nbsp;
32
+ <a href="./README.md">English</a> &middot; <a href="./README.zh-CN.md">中文</a> &middot; <a href="./README.es.md">Espa&ntilde;ol</a> &middot; <strong>Fran&ccedil;ais</strong> &middot; <a href="./README.ja.md">日本語</a> &middot; <a href="./README.ko.md">한국어</a>
33
+ </p>
34
+
35
+ ---
36
+
37
+ ## Ce que &ccedil;a fait
38
+
39
+ Analyse vos transcriptions de sessions Claude Code **localement** avec un moteur bas&eacute; sur des r&egrave;gles, &eacute;valuant les mod&egrave;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&egrave;gles |
44
+ | **Tool & MCP** | 20% | Cha&icirc;nes d'investigation, serveurs MCP, LSP, &eacute;ditions s&eacute;lectives |
45
+ | **Agentic** | 20% | Sous-agents, ex&eacute;cution parall&egrave;le, worktrees, gestion de t&acirc;ches |
46
+ | **Prompt Craft** | 20% | Prompts structur&eacute;s, blocs de code, traces d'erreurs, raffinement |
47
+ | **Context Mgmt** | 20% | M&eacute;moire inter-sessions, mises &agrave; jour CLAUDE.md, projets soutenus |
48
+
49
+ Affiche &eacute;galement **8 mini-barres de fonctionnalit&eacute;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 &mdash; 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&eacute;e</a>
57
+ </p>
58
+
59
+ > **Avertissement :** Ceci est une estimation d'utilisation non officielle, pas un score de certification Anthropic r&eacute;el. Non affili&eacute; &agrave; ni approuv&eacute; 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&eacute;tecter votre nom d'utilisateur GitHub (via `gh` CLI)
70
+ 2. Injecter un hook Stop dans `~/.claude/settings.json`
71
+ 3. Cr&eacute;er un Gist GitHub priv&eacute; pour votre badge (si `gh` est authentifi&eacute;)
72
+
73
+ Si `gh` n'est pas install&eacute; ou pas authentifi&eacute;, le badge est sauvegard&eacute; 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
+ ![CC Proficiency](https://gist.githubusercontent.com/yourname/a1b2c3d4e5f6/raw/cc-proficiency.svg)
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&eacute;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&eacute;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&eacute;n&eacute;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 &agrave; jour automatiques (z&eacute;ro effort)
163
+
164
+ Apr&egrave;s `init`, un hook Stop s'ex&eacute;cute automatiquement apr&egrave;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&egrave;re-plan analyse + met &agrave; jour votre badge
171
+ → Le badge de votre README refl&egrave;te vos derniers scores
172
+ ```
173
+
174
+ Aucune &eacute;tape manuelle n&eacute;cessaire apr&egrave;s la configuration.
175
+
176
+ ### Sans GitHub CLI
177
+
178
+ Si vous n'avez pas `gh` install&eacute; ou pr&eacute;f&eacute;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&eacute;grer dans votre README
192
+
193
+ Apr&egrave;s avoir ex&eacute;cut&eacute; `cc-proficiency init`, ajoutez ceci &agrave; votre README :
194
+
195
+ ```markdown
196
+ <!-- Badge statique -->
197
+ ![Claude Code Proficiency](https://gist.githubusercontent.com/<username>/<gist-id>/raw/cc-proficiency.svg)
198
+
199
+ <!-- Badge anim&eacute; (cliquez pour voir) -->
200
+ [Cliquez pour voir la version anim&eacute;e](https://gist.githubusercontent.com/<username>/<gist-id>/raw/cc-proficiency-animated.svg)
201
+ ```
202
+
203
+ Les deux badges se mettent &agrave; jour automatiquement apr&egrave;s chaque session Claude Code (via le hook Stop).
204
+
205
+ ## Badge progressif
206
+
207
+ Le badge s'adapte en fonction de la quantit&eacute; de donn&eacute;es disponibles :
208
+
209
+ | Phase | Sessions | Ce qui est affich&eacute; |
210
+ |-------|----------|--------------------------|
211
+ | **Calibrage** | 0–2 | Checklist de configuration + progression vers le premier scoring |
212
+ | **R&eacute;sultats pr&eacute;liminaires** | 3–9 | 5 barres de domaine + 8 mini-barres de fonctionnalit&eacute;s (indicateurs de faible confiance ○) |
213
+ | **Badge complet** | 10+ | Barres de domaine compl&egrave;tes, carte thermique des fonctionnalit&eacute;s, points de confiance (● ◐ ○) |
214
+
215
+ ## Am&eacute;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&eacute;bloquer les 15 succ&egrave;s
222
+ - Ce qui fait &eacute;voluer chaque mini-barre de fonctionnalit&eacute; de 0 &agrave; 100
223
+ - Syst&egrave;me de s&eacute;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&eacute; sur des r&egrave;gles
230
+
231
+ cc-proficiency utilise un **moteur de r&egrave;gles &agrave; correspondance de motifs** avec ~55 r&egrave;gles r&eacute;parties sur 5 domaines au lieu de compter les appels d'outils. Chaque r&egrave;gle d&eacute;tecte un mod&egrave;le de comportement sp&eacute;cifique et attribue des points par niveau :
232
+
233
+ | Niveau | Points | Exemple de r&egrave;gle |
234
+ |--------|--------|----------------------|
235
+ | **D&eacute;butant** | 5 pts | Poss&egrave;de un CLAUDE.md global |
236
+ | **Interm&eacute;diaire** | 10–15 pts | Cha&icirc;ne d'investigation : Grep → Read → Edit |
237
+ | **Avanc&eacute;** | 15–25 pts | Agents parall&egrave;les avec diff&eacute;rents types de sous-agents |
238
+ | **Anti-pattern** | -5 &agrave; -10 pts | 5+ outils parall&egrave;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&egrave;gles |
245
+ | **Tool & MCP** | Cha&icirc;nes d'investigation, Read-before-Edit, vari&eacute;t&eacute; d'outils, utilisation de serveurs MCP, LSP, &eacute;ditions s&eacute;lectives |
246
+ | **Agentic** | Vari&eacute;t&eacute; de types de sous-agents, agents parall&egrave;les, ex&eacute;cutions en arri&egrave;re-plan, worktrees, gestion de t&acirc;ches |
247
+ | **Prompt Craft** | Requ&ecirc;tes structur&eacute;es, blocs de code, traces d'erreurs, r&eacute;f&eacute;rences de fichiers, raffinement it&eacute;ratif |
248
+ | **Context Mgmt** | Fichiers m&eacute;moire actifs, mises &agrave; jour CLAUDE.md, projets soutenus, profondeur de session |
249
+
250
+ ### 8 mini-barres de fonctionnalit&eacute;s
251
+
252
+ Sous les barres de domaine, une rang&eacute;e de carte thermique montre la profondeur par fonctionnalit&eacute; :
253
+
254
+ `Hooks · Plugins · Skills · MCP · Agents · Plan · Memory · Rules`
255
+
256
+ Chaque mini-barre utilise un **scoring bas&eacute; sur la profondeur** avec des courbes logarithmiques qui refl&egrave;tent l'utilisation r&eacute;elle, pas seulement si vous avez essay&eacute; une fonctionnalit&eacute; une fois. Avoir des hooks configur&eacute;s vous donne ~30 ; les d&eacute;clencher &agrave; 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&eacute;tails.
257
+
258
+ ### Agr&eacute;gation par buckets avec plafonds
259
+
260
+ Les scores ne sont pas des sommes brutes. Chaque domaine a des buckets plafonn&eacute;s :
261
+
262
+ | Bucket | Points max. | Source |
263
+ |--------|------------|--------|
264
+ | **Config** | 25 pts | R&egrave;gles bas&eacute;es sur la configuration (CLAUDE.md, hooks, plugins ; disponibles imm&eacute;diatement) |
265
+ | **Behavior** | 75 pts | R&egrave;gles bas&eacute;es sur le comportement (motifs de transcription ; croissent avec le temps) |
266
+ | **Penalty** | -15 pts max | D&eacute;ductions pour anti-patterns |
267
+
268
+ Cela signifie :
269
+ - Les **nouvelles installations** peuvent obtenir jusqu'&agrave; ~25 points bruts de configuration par domaine (augment&eacute;s &agrave; ~50 pendant le calibrage via une mise &agrave; l'&eacute;chelle 2.0x)
270
+ - **Apr&egrave;s le calibrage** (10+ sessions), la configuration seule plafonne &agrave; ~25 par domaine ; les preuves de transcription alimentent le reste
271
+ - Les **anti-patterns sont plafonn&eacute;s**, donc quelques mauvaises sessions ne d&eacute;truisent pas votre score
272
+
273
+ ### Pond&eacute;ration adapt&eacute;e &agrave; la phase
274
+
275
+ Les preuves de configuration sont pond&eacute;r&eacute;es plus fortement pendant le calibrage, moins &agrave; mesure que les transcriptions s'accumulent :
276
+
277
+ | Phase | Sessions | &Eacute;chelle config | &Eacute;chelle comportement |
278
+ |-------|----------|--------------|--------------------------|
279
+ | Calibrage | 0–2 | 2.0× | 0.8× |
280
+ | Pr&eacute;liminaire | 3–9 | 1.5× | 1.0× |
281
+ | Complet | 10+ | 1.0× | 1.15× |
282
+
283
+ ### Anti-triche
284
+
285
+ - Les r&egrave;gles se d&eacute;clenchent **par session avec des plafonds** ; r&eacute;p&eacute;ter le m&ecirc;me outil 100 fois n'aide pas
286
+ - Les **r&egrave;gles anti-pattern** d&eacute;duisent des points pour les mauvaises habitudes (appels parall&egrave;les en rafale, blocs de texte non structur&eacute;s)
287
+ - Chaque r&egrave;gle a un `maxPerSession` ; les cha&icirc;nes d'investigation sont limit&eacute;es &agrave; 3 par session
288
+ - Les scores de configuration sont **plafonn&eacute;s &agrave; 25**, vous ne pouvez donc pas maximiser un domaine en installant simplement des plugins
289
+
290
+ ## Confidentialit&eacute;
291
+
292
+ | Aspect | Comment c'est g&eacute;r&eacute; |
293
+ |--------|-------------------------------|
294
+ | **Emplacement des donn&eacute;es** | Toute l'analyse se fait **localement** sur votre machine |
295
+ | **Ce qui est stock&eacute;** | Uniquement des comptages agr&eacute;g&eacute;s, des ratios et des flags bool&eacute;ens (pas de chemins de fichiers, de code ou de prompts) |
296
+ | **Visibilit&eacute; du Gist** | **Priv&eacute; par d&eacute;faut** (URL secr&egrave;te, non list&eacute; sur votre profil) |
297
+ | **Mode hors ligne** | Fonctionne enti&egrave;rement hors ligne sans `gh` CLI (mode local uniquement) |
298
+ | **CI/CD** | Les sessions non interactives sont automatiquement d&eacute;tect&eacute;es et exclues |
299
+
300
+ ## Localisation
301
+
302
+ cc-proficiency supporte 6 langues : English, 中文, Espa&ntilde;ol, Fran&ccedil;ais, 日本語, 한국어.
303
+
304
+ Votre langue est auto-d&eacute;tect&eacute;e depuis l'environnement syst&egrave;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&ccedil;ais
310
+ cc-proficiency config locale ja # Japonais
311
+ cc-proficiency config locale ko # Cor&eacute;en
312
+ cc-proficiency config locale en # Anglais (par d&eacute;faut)
313
+ ```
314
+
315
+ Les badges SVG s'affichent automatiquement dans la langue pr&eacute;f&eacute;r&eacute;e du spectateur gr&acirc;ce aux &eacute;l&eacute;ments SVG `<switch>` avec des attributs `systemLanguage`. Les 6 langues sont int&eacute;gr&eacute;es dans un seul fichier SVG &mdash; pas besoin de g&eacute;n&eacute;rer des badges s&eacute;par&eacute;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&icirc;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&eacute;n&eacute;rer un badge SVG |
329
+ | `cc-proficiency push` | T&eacute;l&eacute;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&egrave;s |
332
+ | `cc-proficiency status` | Afficher l'activit&eacute; du hook, la file d'attente et la configuration |
333
+ | `cc-proficiency config [cl&eacute;] [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&eacute; |
336
+ | `cc-proficiency update` | Mettre &agrave; jour vers la derni&egrave;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&eacute;tence avec d'autres utilisateurs de Claude Code :
342
+
343
+ ```bash
344
+ # Rejoindre le classement (cr&eacute;e un profil public s&eacute;par&eacute;)
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&eacute;es priv&eacute;es (d&eacute;tails de session, noms de projets, chemins de fichiers) ne sont jamais partag&eacute;es. Seuls les scores, la s&eacute;rie et le nombre de succ&egrave;s sont publics. Consultez le [wiki](https://github.com/Z-M-Huang/cc-proficiency/wiki) pour la documentation compl&egrave;te.
355
+
356
+ ## Architecture
357
+
358
+ ```
359
+ Le hook Stop se d&eacute;clenche (< 1s)
360
+ → &Eacute;crit le chemin de session dans ~/.cc-proficiency/queue.jsonl
361
+ → Lance `cc-proficiency process` comme processus enfant d&eacute;tach&eacute;
362
+
363
+ cc-proficiency process
364
+ → Acquiert queue.lock (obsol&egrave;te >60s → forcer)
365
+ → D&eacute;duplique par session_id
366
+ → Analyse les transcriptions (JSONL en streaming, gestion d'erreurs par ligne)
367
+ → Extrait les signaux → calcule les scores → g&eacute;n&egrave;re le SVG
368
+ → Pousse vers le Gist (si configur&eacute;) ou sauvegarde localement
369
+ → Effectue la rotation de la file d'attente de mani&egrave;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&eacute; &agrave; ni approuv&eacute; par Anthropic.</sub>
395
+ </p>