claude-code-arcane 2.9.5 → 2.9.6

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/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## [2.9.6](https://github.com/SebastianLuser/claude-code-arcane/compare/v2.9.5...v2.9.6) (2026-09-07)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **rules:** make code-comments the only authority on comments ([99bb84e](https://github.com/SebastianLuser/claude-code-arcane/commit/99bb84e7612630ae67d4942b378ccd1881d4cf64))
7
+
1
8
  ## [2.9.5](https://github.com/SebastianLuser/claude-code-arcane/compare/v2.9.4...v2.9.5) (2026-09-07)
2
9
 
3
10
 
@@ -55,10 +55,9 @@ Si podés hacerlo con la stdlib de Python, la escotilla no aplica.
55
55
 
56
56
  ## Comentarios
57
57
 
58
- - **Escribí el porqué, no el qué.** El código ya dice qué hace.
59
- - **Doc comments para APIs públicas.** Las privadas no los necesitan.
60
- - **TODOs con owner y fecha:** `// TODO(@alice, 2026-05-01): descripción`
61
- - **Anti-pattern:** comentarios que explican el obvio (`// increment counter` sobre `counter++`)
58
+ La regla vive en `.claude/rules/code-comments.md` y es la única autoridad.
59
+ No dupliques criterios acá: dos listas sobre comentarios siempre terminan
60
+ contradiciéndose, y gana la permisiva.
62
61
 
63
62
  ---
64
63
 
@@ -145,17 +144,6 @@ Antes de marcar trabajo como completo:
145
144
 
146
145
  ---
147
146
 
148
- ## Comments / Docs Anti-Patterns
147
+ ## Comments / Docs
149
148
 
150
- **NO escribir:**
151
- - Comentarios que describen WHAT (el código ya dice)
152
- - Comentarios referenciando el task/PR actual ("added for JIRA-123")
153
- - Docstrings multi-párrafo en funciones simples
154
- - Comentarios `// removed X` para código borrado
155
- - `// used by Y` (el tooling lo dice mejor)
156
-
157
- **SÍ escribir comentarios cuando:**
158
- - Explican el WHY que no es obvio
159
- - Documentan workaround de un bug específico (con link al bug)
160
- - Marcan invariantes o preconditions no-obvios
161
- - APIs públicas consumidas por terceros
149
+ Ver `.claude/rules/code-comments.md`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-code-arcane",
3
- "version": "2.9.5",
3
+ "version": "2.9.6",
4
4
  "description": "Skills, agents, hooks and rules for Claude Code — installable via npx claude-code-arcane",
5
5
  "type": "module",
6
6
  "bin": {
@@ -50,13 +50,19 @@ Comments are written in **English**, whatever language the conversation is in.
50
50
 
51
51
  ## Write
52
52
 
53
- - **The WHY that the code cannot show.** A constant that looks arbitrary, an ordering that
54
- matters, a deliberate break from the surrounding pattern.
53
+ **The default is no comment.** The code says what it does and the commit says why it changed.
54
+ A new comment has to earn its place; it is never the neutral choice.
55
+
56
+ The whole list of exceptions:
57
+
58
+ - **Doc comments on public APIs** consumed from outside the module, one line. Private ones
59
+ need none.
55
60
  - **Workarounds**, with a link to the upstream bug.
56
- - **Non-obvious invariants or preconditions** a caller has to respect.
57
- - **Doc comments on public APIs** consumed from outside the module. Private ones need none.
58
61
  - **`TODO(@owner, YYYY-MM-DD): description`.** Never a bare `TODO`.
59
62
 
63
+ A comment shaped as a comparison with what used to be there — "X and not Y", "no longer X",
64
+ "now uses X" — is session narration wearing a technical disguise. It belongs in the commit.
65
+
60
66
  ## Shape
61
67
 
62
68
  One line, unless the reason honestly needs two. A comment that needs a paragraph to explain
@@ -15,7 +15,7 @@ paths:
15
15
  - All JSON / YAML / TOML files must parse cleanly — malformed config blocks the build
16
16
  - File naming: lowercase with hyphens or underscores, following `[domain]-[name].[ext]` pattern
17
17
  - Every schema-bearing file must have a documented schema (JSON Schema, OpenAPI, Zod, Pydantic — whatever the stack uses)
18
- - Numeric values with business meaning must include a comment or companion doc explaining unit and intent (`timeout_ms`, not bare `timeout`)
18
+ - Numeric values with business meaning carry the unit in the key (`timeout_ms`, not bare `timeout`)
19
19
  - Use consistent key naming within a file: camelCase for JSON, snake_case for YAML if that's the project convention — don't mix
20
20
  - No orphaned entries — every record must be referenced by code, another config, or explicitly marked as a default/example
21
21
  - Version config files when making breaking schema changes (`v1/`, `v2/` or explicit `schema_version` field)
@@ -9,7 +9,7 @@ paths:
9
9
  - All engine APIs must be thread-safe OR explicitly documented as single-thread-only
10
10
  - Profile before AND after every optimization — document the measured numbers
11
11
  - Engine code must NEVER depend on gameplay code (strict dependency direction: engine <- gameplay)
12
- - Every public API must have usage examples in its doc comment
12
+ - Public API doc comments stay to one line (see `code-comments`); usage examples belong in the docs, not the source
13
13
  - Changes to public interfaces require a deprecation period and migration guide
14
14
  - Use RAII / deterministic cleanup for all resources
15
15
  - All engine systems must support graceful degradation
@@ -18,7 +18,7 @@ visual quality, performance, and cross-platform compatibility.
18
18
  ## Code Quality
19
19
  - All uniforms/parameters must have descriptive names and appropriate hints
20
20
  - Group related parameters (Unity: `[Header]`, Unreal: Category)
21
- - Comment non-obvious calculations (especially math-heavy sections)
21
+ - Name non-obvious calculations rather than commenting them; comments follow `code-comments`
22
22
  - No magic numbers — use named constants or documented uniform values
23
23
 
24
24
  ## Performance Requirements