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.es.md ADDED
@@ -0,0 +1,395 @@
1
+ <p align="center">
2
+ <img src="https://img.shields.io/badge/Claude_Code-Insignia_de_Competencia-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>Genera una insignia de competencia para tu uso de Claude Code, alineada con los 5 dominios del 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="versi&oacute;n 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="descargas 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="Licencia" /></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="Cero dependencias en tiempo de ejecuci&oacute;n" />
21
+ <img src="https://img.shields.io/badge/coverage-96%25-brightgreen?style=flat-square" alt="Cobertura de tests" />
22
+ <img src="https://visitor-badge.laobi.icu/badge?page_id=Z-M-Huang.cc-proficiency&style=flat-square" alt="Visitantes" />
23
+ </p>
24
+
25
+ <p align="center">
26
+ <a href="#instalaci%C3%B3n">Instalar</a> &nbsp;&middot;&nbsp;
27
+ <a href="#uso">Uso</a> &nbsp;&middot;&nbsp;
28
+ <a href="#insertar-en-tu-readme">Insertar</a> &nbsp;&middot;&nbsp;
29
+ <a href="#c%C3%B3mo-funciona-la-puntuaci%C3%B3n">Puntuaci&oacute;n</a> &nbsp;&middot;&nbsp;
30
+ <a href="#privacidad">Privacidad</a> &nbsp;&middot;&nbsp;
31
+ <a href="#localizaci%C3%B3n">Localizaci&oacute;n</a> &nbsp;&middot;&nbsp;
32
+ <a href="./README.md">English</a> &middot; <a href="./README.zh-CN.md">中文</a> &middot; <strong>Espa&ntilde;ol</strong> &middot; <a href="./README.fr.md">Fran&ccedil;ais</a> &middot; <a href="./README.ja.md">日本語</a> &middot; <a href="./README.ko.md">한국어</a>
33
+ </p>
34
+
35
+ ---
36
+
37
+ ## Qu&eacute; hace
38
+
39
+ Analiza los registros de tus sesiones de Claude Code **localmente** con un motor basado en reglas, evaluando patrones de uso en 5 dominios:
40
+
41
+ | Dominio | Peso | Qu&eacute; mide |
42
+ |---------|------|-----------------|
43
+ | **CC Mastery** | 20% | CLAUDE.md, hooks, plugins, modo plan, skills, reglas |
44
+ | **Tool & MCP** | 20% | Cadenas de investigaci&oacute;n, servidores MCP, LSP, ediciones selectivas |
45
+ | **Agentic** | 20% | Subagentes, ejecuci&oacute;n paralela, worktrees, gesti&oacute;n de tareas |
46
+ | **Prompt Craft** | 20% | Prompts estructurados, bloques de c&oacute;digo, trazas de errores, refinamiento |
47
+ | **Context Mgmt** | 20% | Memoria entre sesiones, actualizaciones de CLAUDE.md, proyectos sostenidos |
48
+
49
+ Tambi&eacute;n muestra **8 mini-barras de caracter&iacute;sticas** (Hooks, Plugins, Skills, MCP, Agents, Plan, Memory, Rules) como una fila de mapa de calor.
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="Insignia CC Proficiency &mdash; Est&aacute;tica" />
54
+ </a>
55
+ <br />
56
+ <a href="https://gist.githubusercontent.com/Z-M-Huang/2717fa94690c459d5093650c87f49868/raw/cc-proficiency-animated.svg">Haz clic para ver la versi&oacute;n animada</a>
57
+ </p>
58
+
59
+ > **Aviso:** Esta es una estimaci&oacute;n de uso no oficial, no una puntuaci&oacute;n de certificaci&oacute;n real de Anthropic. No est&aacute; afiliado ni respaldado por Anthropic.
60
+
61
+ ## Instalaci&oacute;n
62
+
63
+ ```bash
64
+ npm install -g cc-proficiency
65
+ cc-proficiency init
66
+ ```
67
+
68
+ `init` har&aacute;:
69
+ 1. Detectar tu nombre de usuario de GitHub (v&iacute;a `gh` CLI)
70
+ 2. Inyectar un hook Stop en `~/.claude/settings.json`
71
+ 3. Crear un Gist privado de GitHub para tu insignia (si `gh` est&aacute; autenticado)
72
+
73
+ Si `gh` no est&aacute; instalado o no est&aacute; autenticado, la insignia se guarda localmente en `~/.cc-proficiency/cc-proficiency.svg`.
74
+
75
+ ## Uso
76
+
77
+ ### Configuraci&oacute;n inicial
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
+ ### Analiza tu competencia
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
+ ### Obtener consejos de mejora
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
+ ### Generar y publicar tu insignia
150
+
151
+ ```bash
152
+ # Guardar insignia localmente
153
+ $ cc-proficiency badge --output my-badge.svg
154
+ Badge written to my-badge.svg
155
+
156
+ # O publicar directamente en tu Gist
157
+ $ cc-proficiency push
158
+ ✓ Badge pushed to Gist
159
+ https://gist.githubusercontent.com/yourname/a1b2c3d4e5f6/raw/cc-proficiency.svg
160
+ ```
161
+
162
+ ### Actualizaciones autom&aacute;ticas (sin esfuerzo)
163
+
164
+ Despu&eacute;s de `init`, un hook Stop se ejecuta autom&aacute;ticamente despu&eacute;s de cada sesi&oacute;n de Claude Code:
165
+
166
+ ```
167
+ Usas Claude Code normalmente
168
+ → La sesi&oacute;n termina
169
+ → El hook a&ntilde;ade la sesi&oacute;n a la cola (<1s, invisible para ti)
170
+ → Un proceso en segundo plano analiza + actualiza tu insignia
171
+ → La insignia en tu README refleja tus &uacute;ltimas puntuaciones
172
+ ```
173
+
174
+ No se necesitan pasos manuales despu&eacute;s de la configuraci&oacute;n.
175
+
176
+ ### Sin GitHub CLI
177
+
178
+ Si no tienes `gh` instalado o prefieres el modo solo local:
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
+ ## Insertar en tu README
192
+
193
+ Despu&eacute;s de ejecutar `cc-proficiency init`, a&ntilde;ade esto a tu README:
194
+
195
+ ```markdown
196
+ <!-- Insignia est&aacute;tica -->
197
+ ![Claude Code Proficiency](https://gist.githubusercontent.com/<username>/<gist-id>/raw/cc-proficiency.svg)
198
+
199
+ <!-- Insignia animada (clic para ver) -->
200
+ [Haz clic para ver la versi&oacute;n animada](https://gist.githubusercontent.com/<username>/<gist-id>/raw/cc-proficiency-animated.svg)
201
+ ```
202
+
203
+ Ambas insignias se actualizan autom&aacute;ticamente despu&eacute;s de cada sesi&oacute;n de Claude Code (v&iacute;a el hook Stop).
204
+
205
+ ## Insignia progresiva
206
+
207
+ La insignia se adapta seg&uacute;n la cantidad de datos disponibles:
208
+
209
+ | Fase | Sesiones | Qu&eacute; se muestra |
210
+ |------|----------|----------------------|
211
+ | **Calibrando** | 0–2 | Lista de verificaci&oacute;n de configuraci&oacute;n + progreso hacia la primera puntuaci&oacute;n |
212
+ | **Resultados iniciales** | 3–9 | 5 barras de dominio + 8 mini-barras de caracter&iacute;sticas (indicadores de baja confianza ○) |
213
+ | **Insignia completa** | 10+ | Barras de dominio completas, mapa de calor de caracter&iacute;sticas, puntos de confianza (● ◐ ○) |
214
+
215
+ ## Mejora tus puntuaciones
216
+
217
+ La **[Gu&iacute;a de gamificaci&oacute;n](https://github.com/Z-M-Huang/cc-proficiency/wiki/Gamification-Guide)** cubre:
218
+
219
+ - Ruta de progresi&oacute;n desde el primer d&iacute;a hasta nivel experto
220
+ - Consejos para cada uno de los 5 dominios
221
+ - C&oacute;mo desbloquear los 15 logros
222
+ - Qu&eacute; impulsa cada mini-barra de caracter&iacute;sticas de 0 a 100
223
+ - Sistema de rachas y tabla de clasificaci&oacute;n
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
+ ## C&oacute;mo funciona la puntuaci&oacute;n
228
+
229
+ ### Motor basado en reglas
230
+
231
+ cc-proficiency usa un **motor de reglas de coincidencia de patrones** con ~55 reglas en 5 dominios en lugar de contar llamadas a herramientas. Cada regla detecta un patr&oacute;n de comportamiento espec&iacute;fico y otorga puntos por nivel:
232
+
233
+ | Nivel | Puntos | Ejemplo de regla |
234
+ |-------|--------|-----------------|
235
+ | **Principiante** | 5 pts | Tiene CLAUDE.md global |
236
+ | **Intermedio** | 10–15 pts | Cadena de investigaci&oacute;n: Grep → Read → Edit |
237
+ | **Avanzado** | 15–25 pts | Agentes paralelos con diferentes tipos de subagentes |
238
+ | **Anti-patr&oacute;n** | -5 a -10 pts | 5+ herramientas paralelas con >50% de tasa de error |
239
+
240
+ ### 5 barras de dominio
241
+
242
+ | Dominio | Qu&eacute; mide |
243
+ |---------|-----------------|
244
+ | **CC Mastery** | Estructura de CLAUDE.md, hooks con matchers, plugins, modo plan, skills, archivos de reglas |
245
+ | **Tool & MCP** | Cadenas de investigaci&oacute;n, Read-before-Edit, variedad de herramientas, uso de servidores MCP, LSP, ediciones selectivas |
246
+ | **Agentic** | Variedad de tipos de subagentes, agentes paralelos, ejecuciones en segundo plano, worktrees, gesti&oacute;n de tareas |
247
+ | **Prompt Craft** | Solicitudes estructuradas, bloques de c&oacute;digo, trazas de errores, referencias a archivos, refinamiento iterativo |
248
+ | **Context Mgmt** | Archivos de memoria activos, actualizaciones de CLAUDE.md, proyectos sostenidos, profundidad de sesi&oacute;n |
249
+
250
+ ### 8 mini-barras de caracter&iacute;sticas
251
+
252
+ Debajo de las barras de dominio, una fila de mapa de calor muestra la profundidad por caracter&iacute;stica:
253
+
254
+ `Hooks · Plugins · Skills · MCP · Agents · Plan · Memory · Rules`
255
+
256
+ Cada mini-barra usa **puntuaci&oacute;n basada en profundidad** con curvas logar&iacute;tmicas que reflejan el uso real, no solo si has probado una caracter&iacute;stica una vez. Tener hooks configurados te da ~30; activarlos en cientos de sesiones te acerca a 100. Consulta la [Gu&iacute;a de gamificaci&oacute;n](https://github.com/Z-M-Huang/cc-proficiency/wiki/Gamification-Guide) para m&aacute;s detalles.
257
+
258
+ ### Agregaci&oacute;n por buckets con l&iacute;mites
259
+
260
+ Las puntuaciones no son sumas brutas. Cada dominio tiene buckets con l&iacute;mites:
261
+
262
+ | Bucket | Puntos m&aacute;x. | Fuente |
263
+ |--------|-----------|--------|
264
+ | **Config** | 25 pts | Reglas basadas en configuraci&oacute;n (CLAUDE.md, hooks, plugins; disponibles inmediatamente) |
265
+ | **Behavior** | 75 pts | Reglas basadas en comportamiento (patrones de transcripci&oacute;n; crecen con el tiempo) |
266
+ | **Penalty** | -15 pts m&aacute;x | Deducciones por anti-patrones |
267
+
268
+ Esto significa:
269
+ - Las **instalaciones nuevas** pueden obtener hasta ~25 puntos brutos de configuraci&oacute;n por dominio (aumentados a ~50 durante la calibraci&oacute;n v&iacute;a escala 2.0x)
270
+ - **Despu&eacute;s de la calibraci&oacute;n** (10+ sesiones), la configuraci&oacute;n sola tiene un l&iacute;mite de ~25 por dominio; la evidencia de transcripciones impulsa el resto
271
+ - Los **anti-patrones tienen l&iacute;mite**, por lo que unas pocas sesiones malas no destruyen tu puntuaci&oacute;n
272
+
273
+ ### Ponderaci&oacute;n consciente de la fase
274
+
275
+ La evidencia de configuraci&oacute;n se pondera m&aacute;s durante la calibraci&oacute;n, menos a medida que se acumulan transcripciones:
276
+
277
+ | Fase | Sesiones | Escala config | Escala comportamiento |
278
+ |------|----------|--------------|----------------------|
279
+ | Calibrando | 0–2 | 2.0× | 0.8× |
280
+ | Inicial | 3–9 | 1.5× | 1.0× |
281
+ | Completa | 10+ | 1.0× | 1.15× |
282
+
283
+ ### Anti-trampas
284
+
285
+ - Las reglas se activan **por sesi&oacute;n con l&iacute;mites**; repetir la misma herramienta 100 veces no ayuda
286
+ - Las **reglas anti-patr&oacute;n** deducen puntos por malos h&aacute;bitos (llamadas paralelas dispersas, bloques de texto sin estructura)
287
+ - Cada regla tiene `maxPerSession`; las cadenas de investigaci&oacute;n tienen un l&iacute;mite de 3 por sesi&oacute;n
288
+ - Las puntuaciones de configuraci&oacute;n est&aacute;n **limitadas a 25**, por lo que no puedes maximizar un dominio solo instalando plugins
289
+
290
+ ## Privacidad
291
+
292
+ | Aspecto | C&oacute;mo se maneja |
293
+ |---------|----------------------|
294
+ | **Ubicaci&oacute;n de datos** | Todo el an&aacute;lisis ocurre **localmente** en tu m&aacute;quina |
295
+ | **Qu&eacute; se almacena** | Solo conteos agregados, proporciones y flags booleanos (sin rutas de archivos, c&oacute;digo ni prompts) |
296
+ | **Visibilidad del Gist** | **Privado por defecto** (URL secreta, no aparece en tu perfil) |
297
+ | **Modo sin conexi&oacute;n** | Funciona completamente sin conexi&oacute;n sin `gh` CLI (modo solo local) |
298
+ | **CI/CD** | Las sesiones no interactivas se detectan y excluyen autom&aacute;ticamente |
299
+
300
+ ## Localizaci&oacute;n
301
+
302
+ cc-proficiency soporta 6 idiomas: English, 中文, Espa&ntilde;ol, Fran&ccedil;ais, 日本語, 한국어.
303
+
304
+ Tu idioma se detecta autom&aacute;ticamente del entorno del sistema durante `init`. Para cambiarlo:
305
+
306
+ ```bash
307
+ cc-proficiency config locale zh-CN # Chino
308
+ cc-proficiency config locale es # Espa&ntilde;ol
309
+ cc-proficiency config locale fr # Franc&eacute;s
310
+ cc-proficiency config locale ja # Japon&eacute;s
311
+ cc-proficiency config locale ko # Coreano
312
+ cc-proficiency config locale en # Ingl&eacute;s (por defecto)
313
+ ```
314
+
315
+ Las insignias SVG se muestran autom&aacute;ticamente en el idioma preferido del espectador usando elementos SVG `<switch>` con atributos `systemLanguage`. Los 6 idiomas est&aacute;n integrados en un solo archivo SVG, sin necesidad de generar insignias separadas por idioma.
316
+
317
+ ### Contribuir traducciones
318
+
319
+ Para a&ntilde;adir un nuevo idioma, copia `src/i18n/locales/en.ts` a `src/i18n/locales/<code>.ts`, traduce todas las cadenas y registra el idioma en `src/i18n/index.ts`.
320
+
321
+ ## Comandos
322
+
323
+ | Comando | Descripci&oacute;n |
324
+ |---------|-------------|
325
+ | `cc-proficiency init` | Configurar hooks y Gist |
326
+ | `cc-proficiency analyze [--full]` | Analizar sesiones y calcular puntuaciones |
327
+ | `cc-proficiency process` | Procesar sesiones en cola desde el hook |
328
+ | `cc-proficiency badge [--output <archivo>]` | Generar insignia SVG |
329
+ | `cc-proficiency push` | Subir insignia al Gist |
330
+ | `cc-proficiency explain` | Mostrar factores de puntuaci&oacute;n y consejos |
331
+ | `cc-proficiency achievements` | Ver progreso de logros |
332
+ | `cc-proficiency status` | Mostrar actividad del hook, cola y configuraci&oacute;n |
333
+ | `cc-proficiency config [clave] [valor]` | Ver/establecer configuraci&oacute;n |
334
+ | `cc-proficiency share [--remove]` | Unirse o salir de la tabla de clasificaci&oacute;n comunitaria |
335
+ | `cc-proficiency leaderboard` | Ver clasificaciones de la comunidad |
336
+ | `cc-proficiency update` | Actualizar a la &uacute;ltima versi&oacute;n |
337
+ | `cc-proficiency uninstall` | Eliminar hooks y limpiar datos |
338
+
339
+ ### Tabla de clasificaci&oacute;n comunitaria
340
+
341
+ &Uacute;nete a la tabla de clasificaci&oacute;n comunitaria para comparar tu competencia con otros usuarios de Claude Code:
342
+
343
+ ```bash
344
+ # Unirse a la tabla de clasificaci&oacute;n (crea un perfil p&uacute;blico separado)
345
+ $ cc-proficiency share
346
+
347
+ # Ver clasificaciones
348
+ $ cc-proficiency leaderboard
349
+
350
+ # Salir de la tabla de clasificaci&oacute;n
351
+ $ cc-proficiency share --remove
352
+ ```
353
+
354
+ Tus datos privados (detalles de sesi&oacute;n, nombres de proyectos, rutas de archivos) nunca se comparten. Solo las puntuaciones, racha y cantidad de logros son p&uacute;blicos. Consulta la [wiki](https://github.com/Z-M-Huang/cc-proficiency/wiki) para la documentaci&oacute;n completa.
355
+
356
+ ## Arquitectura
357
+
358
+ ```
359
+ El hook Stop se activa (< 1s)
360
+ → Escribe la ruta de sesi&oacute;n en ~/.cc-proficiency/queue.jsonl
361
+ → Lanza `cc-proficiency process` como proceso hijo desvinculado
362
+
363
+ cc-proficiency process
364
+ → Adquiere queue.lock (obsoleto >60s → forzar)
365
+ → Deduplica por session_id
366
+ → Analiza transcripciones (JSONL en streaming, manejo de errores por l&iacute;nea)
367
+ → Extrae se&ntilde;ales → calcula puntuaciones → renderiza SVG
368
+ → Sube al Gist (si est&aacute; configurado) o guarda localmente
369
+ → Rota la cola at&oacute;micamente
370
+ ```
371
+
372
+ ## Contribuir
373
+
374
+ &iexcl;Las contribuciones son bienvenidas! Por favor, abre un issue primero para discutir lo que te gustar&iacute;a cambiar.
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 # compilar a dist/
382
+ npm run typecheck # tsc --noEmit
383
+ npm run lint # eslint
384
+ npm run check # typecheck + lint + test
385
+ ```
386
+
387
+ ## Licencia
388
+
389
+ [Apache 2.0](LICENSE)
390
+
391
+ ---
392
+
393
+ <p align="center">
394
+ <sub>Construido con Claude Code. No afiliado ni respaldado por Anthropic.</sub>
395
+ </p>