Skip to content

Commit 8efa955

Browse files
luiseimanclaude
andcommitted
docs: bump v2.8.0 — full documentation update for P1 internals alignment
- changelog: v2.8.0 entry with 4 bloques (A/B/C/D + internals analysis) - ROADMAP: v2.8.0 completed section + pending items moved to v2.9.0+ - VERSION + README badge: 2.7.1 → 2.8.0 - best-practices: async hooks, @include directive, auto-mode permission stripping - security-checklist: YOLO mode safety checklist (EN + ES) - usage-guide + guia-uso: skill context:fork documentation - improvement-plan-internals: P0 + P1 items marked as implemented Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 9638768 commit 8efa955

9 files changed

Lines changed: 188 additions & 37 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
[![GitHub stars](https://img.shields.io/github/stars/luiseiman/claude-kit)](https://github.com/luiseiman/claude-kit/stargazers)
66
[![License: MIT](https://img.shields.io/github/license/luiseiman/claude-kit)](LICENSE)
7-
[![Version](https://img.shields.io/badge/version-2.7.1-blue)](VERSION)
7+
[![Version](https://img.shields.io/badge/version-2.8.0-blue)](VERSION)
88
[![Last commit](https://img.shields.io/github/last-commit/luiseiman/claude-kit)](https://github.com/luiseiman/claude-kit/commits/main)
99

1010
Configuration factory for [Claude Code](https://docs.anthropic.com/en/docs/claude-code). Templates, stacks, skills, agents, audit system, and a practices pipeline — all markdown + shell scripts.

ROADMAP.md

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
11
# Roadmap claude-kit
22

3-
Estado actual: **v2.7.1** (2026-03-30)
3+
Estado actual: **v2.8.0** (2026-04-03)
44

55
---
66

77
## Completado
88

9+
### v2.8.0 — P1 Internals Alignment (2026-04-03)
10+
11+
Ver sección v2.8.0 abajo para el detalle completo.
12+
913
### v2.7.1 — Hook Architecture Corrections + Expansion (2026-03-30)
1014

1115
- Corrección: PreCompact es non-blocking (exit code ignorado)
@@ -63,40 +67,36 @@ Estado actual: **v2.7.1** (2026-03-30)
6367

6468
---
6569

66-
## v2.8.0 — Hook Intelligence + Developer Experience (próximo)
67-
68-
Foco: explotar los 16 nuevos eventos de hook descubiertos, mejorar DX, y consolidar las prácticas pendientes.
69-
70-
### Hooks avanzados
71-
72-
- **PermissionRequest hook**: auto-allow para operaciones conocidas safe, log para auditoría
70+
### v2.8.0 — P1 Internals Alignment (2026-04-03)
71+
72+
#### Completado en v2.8.0
73+
74+
- Fix: node-express glob narrowed a backend paths — elimina overlap con react-vite-ts
75+
- Fix: data-analysis glob removido `.py` — elimina overlap con python-fastapi
76+
- Fix: auto-mode safe permissions — reemplazados python3/node/npm/aws/gcloud con tool commands específicos en 6 stacks
77+
- Nuevo: ToolSearch Step 0 en watch-upstream + scout-repos skills (deferred tools discovery)
78+
- Nuevo: `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS=5000` en template settings
79+
- Nuevo: async hooks documentados en hookify (async flag, asyncRewake, streaming)
80+
- Mejora: detect.md — hookify + trading stacks añadidos, pyproject.toml refinado, priority rules
81+
- Cambio: test-runner model haiku → sonnet (escribe tests, requiere razonamiento)
82+
- Nuevo: 5K token output budget en 6 agents
83+
- Nuevo: SendMessage continuation instruction en todos los agents
84+
- Nuevo: system prompt override patterns en python-fastapi, java-spring, go-api
85+
- Nuevo: `context: fork` en 5 skills pesadas (plugin-generator, bootstrap-project, init-project, domain-extract, audit-project)
86+
- Nuevo: `docs/internal/claude-code-internals-analysis.md` — reverse engineering de 5 repos
87+
- Nuevo: `docs/internal/improvement-plan-internals.md` — plan 36 items (P0+P1 done, P2-P3 pendientes)
88+
- Nuevo: `docs/internal/feature-flags-reference.md` — env vars + feature gates usables hoy
89+
90+
#### Pendiente (movido a v2.9.0+)
91+
92+
- **PermissionRequest hook**: auto-allow para operaciones known-safe, log para auditoría
7393
- **SubagentStart hook**: inyectar contexto de dominio automáticamente a subagentes spawneados
7494
- **CwdChanged hook**: recargar reglas de dominio al cambiar de directorio mid-session
7595
- **StopFailure hook**: capturar errores de API (rate_limit, billing_error) y sugerir retry strategy
76-
- Soporte para hook types `http` y `prompt` en el template base (actualmente solo `command`)
77-
78-
### `/forge doctor`
79-
80-
- Diagnóstico del entorno: `$CLAUDE_KIT_DIR`, `~/.claude/` sync, hooks ejecutables, MCPs configurados, `claude` en PATH
81-
- Semáforo verde/amarillo/rojo + fix sugerido por item
82-
- Diferente de `/forge audit`: verifica entorno, no config del proyecto
83-
84-
### OpenClaw workspace completo
85-
86-
- IDENTITY.md (ELLUISH), SOUL.md, USER.md, AGENTS.md, TOOLS.md, HEARTBEAT.md ya creados
87-
- Falta: `/forge export openclaw` actualizado para generar estos 6 archivos desde la config del proyecto
88-
- Bridge skill para operar `/forge` desde Telegram/Discord/WhatsApp via OpenClaw gateway
89-
90-
### Stacks en evaluación
91-
92-
- **trading** (en `practices/evaluating/`): reglas domain-specific para bots y market data — necesita test en proyecto real
93-
- **cloud-function** (en `practices/evaluating/`): stack separado vs subconjunto de gcp-cloud-run — evaluar si la separación vale
94-
95-
### Context continuity mejorada
96-
97-
- `includedFiles` en settings template con `CLAUDE_ERRORS.md` pre-configurado
98-
- Capture skill: detectar si el contexto fue compactado y advertir sobre signals incompletas
99-
- Evaluar `Tasks System` (persistent state en `~/.claude/tasks/<id>/`) como complemento a last-compact.md
96+
- **`/forge doctor`**: diagnóstico del entorno con semáforo verde/amarillo/rojo
97+
- **`/forge export openclaw`**: generar los 6 archivos de workspace desde config del proyecto
98+
- **trading stack**: reglas domain-specific para bots y market data — necesita test en proyecto real
99+
- **cloud-function stack**: evaluar si stack separado vs subconjunto de gcp-cloud-run
100100

101101
---
102102

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.7.1
1+
2.8.0

docs/best-practices.md

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,16 @@ For large projects, use imports:
3333
```
3434
Rules with `globs:` frontmatter load eagerly at session start. For lazy loading (on file match only), use `paths:` as unquoted CSV with `alwaysApply: false`.
3535

36+
## CLAUDE.md Modularization with @include
37+
38+
Instead of monolithic CLAUDE.md files, use the `@include` directive:
39+
- `@./relative/path.md` — include relative to current file
40+
- `@~/path.md` — include from home directory
41+
- `@/absolute/path.md` — include absolute path
42+
- Max depth: 5 levels (circular refs prevented)
43+
- Only works in leaf text nodes (NOT inside code blocks)
44+
- Use `claudeMdExcludes` in settings.json to toggle includes without deleting
45+
3646
---
3747

3848
## 2. Project configuration (.claude/)
@@ -69,6 +79,15 @@ Essential hooks:
6979

7080
Exit codes: 0 = ok, 1 = error (warning), 2 = block (stop operation)
7181

82+
## Async Hooks
83+
84+
Hooks can run in the background without blocking tool execution:
85+
- `{"type": "command", "command": "script.sh", "async": true}` in settings.json
86+
- Or stream `{"async":true}` as the first JSON line from hook stdout
87+
- `asyncRewake: true` — hook can wake the agent after background completion
88+
- Background hooks survive new user prompts but are killed on hard cancel (Escape)
89+
- Best for: long-running validations, external API calls, metrics collection
90+
7291
### Domain rules — Project knowledge layer
7392

7493
Domain rules live in `.claude/rules/domain/` and represent accumulated knowledge about the project's specific domain (business logic, architectural decisions, non-obvious constraints). Unlike stack rules (how to code), domain rules encode what the project does and why.
@@ -244,6 +263,18 @@ Paste full stack trace + relevant code + context of when it occurs.
244263
- block-destructive hook always active
245264
- No Bash(*) — explicit permissions
246265

266+
## Auto-Mode Permission Stripping
267+
268+
When users activate auto/YOLO mode, these allow patterns are **silently removed**:
269+
- Interpreters: `python`, `node`, `deno`, `ruby`, `perl`, `php`, `lua`
270+
- Package runners: `npx`, `bunx`, `npm run`, `yarn run`, `pnpm run`, `bun run`
271+
- Shells: `bash`, `sh`, `zsh`, `fish`, `eval`, `exec`
272+
- Network: `curl`, `wget`, `ssh`
273+
- System: `sudo`, `kubectl`, `aws`, `gcloud`
274+
275+
**Impact**: `Bash(python3 *)` in your allow list stops working without warning.
276+
**Fix**: Use specific tool commands instead: `Bash(pytest *)`, `Bash(uvicorn *)`, `Bash(vitest *)`, `Bash(sam *)`.
277+
247278
---
248279

249280
# Mejores Prácticas — Claude Code (Marzo 2026)
@@ -279,6 +310,16 @@ Para proyectos grandes, usar imports:
279310
```
280311
Las rules con frontmatter `globs:` se cargan eager al inicio de sesión. Para lazy loading (solo cuando se toca un archivo que matchea), usar `paths:` como CSV sin quotes con `alwaysApply: false`.
281312

313+
## Modularización de CLAUDE.md con @include
314+
315+
En vez de CLAUDE.md monolíticos, usar la directiva `@include`:
316+
- `@./relative/path.md` — include relativo al archivo actual
317+
- `@~/path.md` — include desde home directory
318+
- `@/absolute/path.md` — include con path absoluto
319+
- Profundidad máxima: 5 niveles (refs circulares prevenidas)
320+
- Solo funciona en nodos de texto hoja (NO dentro de code blocks)
321+
- Usar `claudeMdExcludes` en settings.json para togglear includes sin borrar
322+
282323
---
283324

284325
## 2. Configuración de proyecto (.claude/)
@@ -315,6 +356,15 @@ Hooks esenciales:
315356

316357
Exit codes: 0 = ok, 1 = error (warning), 2 = block (detener operación)
317358

359+
## Async Hooks
360+
361+
Los hooks pueden correr en segundo plano sin bloquear la ejecución de tools:
362+
- `{"type": "command", "command": "script.sh", "async": true}` en settings.json
363+
- O streamear `{"async":true}` como primera línea JSON desde stdout del hook
364+
- `asyncRewake: true` — el hook puede despertar al agente al completarse
365+
- Los hooks en background sobreviven nuevos prompts del usuario pero se matan con cancel duro (Escape)
366+
- Ideal para: validaciones largas, llamadas a APIs externas, recolección de métricas
367+
318368
### Domain rules — Capa de conocimiento del proyecto
319369

320370
Las domain rules viven en `.claude/rules/domain/` y representan conocimiento acumulado sobre el dominio específico del proyecto (lógica de negocio, decisiones arquitectónicas, restricciones no-obvias). A diferencia de las stack rules (cómo codificar), las domain rules codifican qué hace el proyecto y por qué.
@@ -489,3 +539,15 @@ Pegar stack trace completo + código relevante + contexto de cuándo ocurre.
489539
- deny list: .env, *.key, *.pem, *credentials*
490540
- Hook block-destructive siempre activo
491541
- No Bash(*) — permisos explícitos
542+
543+
## Stripping de permisos en modo auto (YOLO)
544+
545+
Cuando los usuarios activan modo auto/YOLO, estos patrones de allow se **eliminan silenciosamente**:
546+
- Intérpretes: `python`, `node`, `deno`, `ruby`, `perl`, `php`, `lua`
547+
- Package runners: `npx`, `bunx`, `npm run`, `yarn run`, `pnpm run`, `bun run`
548+
- Shells: `bash`, `sh`, `zsh`, `fish`, `eval`, `exec`
549+
- Red: `curl`, `wget`, `ssh`
550+
- Sistema: `sudo`, `kubectl`, `aws`, `gcloud`
551+
552+
**Impacto**: `Bash(python3 *)` en tu allow list deja de funcionar sin advertencia.
553+
**Fix**: Usar comandos específicos de herramientas: `Bash(pytest *)`, `Bash(uvicorn *)`, `Bash(vitest *)`, `Bash(sam *)`.

docs/changelog.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,37 @@
44
>
55
> Historial de versiones. Las entradas usan español/inglés mixto según la evolución del proyecto. Los términos técnicos son universales.
66
7+
## v2.8.0 (2026-04-03)
8+
9+
### P1 Internals Alignment
10+
11+
#### Bloque A — Fixes rápidos
12+
- Fix: node-express glob narrowed to backend paths (`src/routes/**, src/services/**`) — avoids overlap with react-vite-ts
13+
- Fix: data-analysis glob removed `.py` — avoids overlap with python-fastapi
14+
- Nuevo: ToolSearch Step 0 in watch-upstream + scout-repos skills (deferred tools discovery)
15+
- Nuevo: `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS=5000` env var in template settings
16+
- Nuevo: async hooks documentation in hookify (async flag, asyncRewake, streaming)
17+
- Mejora: detect.md — added hookify + trading stacks, pyproject.toml detection refined, priority rules
18+
19+
#### Bloque B — Agents
20+
- Cambio: test-runner model haiku → sonnet (writes tests, needs reasoning quality)
21+
- Nuevo: 5K token output budget instruction in 6 agents
22+
- Nuevo: SendMessage continuation instruction in all agents
23+
24+
#### Bloque C — Permissions + System Prompt
25+
- Nuevo: system prompt override patterns in python-fastapi (docstrings), java-spring (Javadoc), go-api (doc comments)
26+
- Fix: auto-mode safe permissions — replaced python3/node/npm/aws/gcloud with specific tool commands in 6 stacks
27+
28+
#### Bloque D — Skills
29+
- Nuevo: `context: fork` on 5 heavy skills for post-compaction safety (plugin-generator, bootstrap-project, init-project, domain-extract, audit-project)
30+
31+
#### Internals Analysis (merged from analysis branch)
32+
- Nuevo: `docs/internal/claude-code-internals-analysis.md` — cross-repository reverse engineering (5 repos)
33+
- Nuevo: `docs/internal/improvement-plan-internals.md` — 36-item improvement plan (P0 done, P1 done, P2-P3 pending)
34+
- Nuevo: `docs/internal/feature-flags-reference.md` — env vars + feature gates usable today
35+
36+
---
37+
738
## v2.7.1 (2026-03-30)
839

940
### Hook Architecture — Correcciones y expansión

docs/guia-uso.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,10 @@ cd ~/Documents/GitHub/claude-kit # o donde tengas clonado claude-kit
5757

5858
**Multiplataforma:** Linux, macOS, WSL, Git Bash. Usa copias como fallback si los symlinks no funcionan.
5959

60+
### Contexto de Ejecución de Skills
61+
62+
Los skills pesados (>150 líneas, ~5K+ tokens) usan `context: fork` en su frontmatter. Esto ejecuta el skill en un subagente aislado, evitando que consuma la ventana de contexto de la conversación principal. Skills con `context: fork`: plugin-generator, bootstrap-project, init-project, domain-extract, audit-project.
63+
6064
### Verificar instalación
6165

6266
```

0 commit comments

Comments
 (0)