@saulwade/swl-ses 2.4.2 → 2.5.1
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/CLAUDE.md +194 -241
- package/README.md +600 -597
- package/agentes/_intent-spec.md +73 -73
- package/agentes/_propose-step.md +90 -90
- package/agentes/abogado-diablo-swl.md +145 -0
- package/agentes/accesibilidad-wcag-swl.md +690 -690
- package/agentes/arquitecto-swl.md +267 -267
- package/agentes/auto-evolucion-swl.md +908 -908
- package/agentes/backend-api-swl.md +1 -1
- package/agentes/backend-csharp-swl.md +420 -420
- package/agentes/backend-go-swl.md +390 -390
- package/agentes/backend-java-swl.md +281 -281
- package/agentes/backend-node-swl.md +1 -1
- package/agentes/backend-python-swl.md +1 -1
- package/agentes/backend-rust-swl.md +364 -364
- package/agentes/backend-workers-swl.md +482 -482
- package/agentes/cloud-infra-swl.md +509 -509
- package/agentes/consolidador-swl.md +541 -541
- package/agentes/datos-swl.md +1 -1
- package/agentes/depurador-swl.md +352 -352
- package/agentes/devops-ci-swl.md +400 -400
- package/agentes/disenador-ui-swl.md +569 -569
- package/agentes/documentador-swl.md +345 -345
- package/agentes/frontend-angular-swl.md +621 -621
- package/agentes/frontend-css-swl.md +716 -716
- package/agentes/frontend-react-swl.md +692 -692
- package/agentes/frontend-swl.md +496 -496
- package/agentes/frontend-tailwind-swl.md +826 -826
- package/agentes/gh-fix-ci-swl.md +6 -1
- package/agentes/implementador-swl.md +1 -1
- package/agentes/investigador-swl.md +432 -432
- package/agentes/investigador-ux-swl.md +505 -505
- package/agentes/llm-apps-swl.md +1 -1
- package/agentes/migrador-swl.md +442 -442
- package/agentes/mobile-android-swl.md +511 -511
- package/agentes/mobile-cross-swl.md +541 -541
- package/agentes/mobile-ios-swl.md +502 -502
- package/agentes/mobile-testing-swl.md +302 -302
- package/agentes/nemesis-auditor-swl.md +285 -285
- package/agentes/notificador-swl.md +1 -1
- package/agentes/observabilidad-swl.md +438 -438
- package/agentes/pagos-swl.md +310 -310
- package/agentes/perfilador-usuario-swl.md +321 -321
- package/agentes/planificador-swl.md +399 -399
- package/agentes/producto-prd-swl.md +589 -589
- package/agentes/red-team-swl.md +218 -218
- package/agentes/release-manager-swl.md +590 -590
- package/agentes/rendimiento-swl.md +713 -713
- package/agentes/resolutor-build-swl.md +10 -1
- package/agentes/revisor-angular-swl.md +278 -278
- package/agentes/revisor-codigo-swl.md +1 -1
- package/agentes/revisor-csharp-swl.md +264 -264
- package/agentes/revisor-go-swl.md +259 -259
- package/agentes/revisor-java-swl.md +257 -257
- package/agentes/revisor-kotlin-swl.md +273 -273
- package/agentes/revisor-nextjs-swl.md +281 -281
- package/agentes/revisor-php-swl.md +271 -271
- package/agentes/revisor-react-swl.md +278 -278
- package/agentes/revisor-rust-swl.md +346 -346
- package/agentes/revisor-seguridad-swl.md +399 -399
- package/agentes/revisor-swift-swl.md +268 -268
- package/agentes/revisor-typescript-swl.md +346 -346
- package/agentes/sre-swl.md +1 -1
- package/agentes/tdd-qa-swl.md +393 -393
- package/bin/lib/bot-comandos.js +1 -1
- package/bin/swl-ses.js +6 -0
- package/comandos/swl/adoptar-proyecto.md +14 -2
- package/comandos/swl/configurar-ci.md +8 -1
- package/comandos/swl/deuda-codigo.md +97 -97
- package/comandos/swl/discutir-fase.md +22 -118
- package/comandos/swl/fix.md +118 -0
- package/comandos/swl/nuevo-proyecto.md +54 -3
- package/comandos/swl/predecir.md +32 -2
- package/comandos/swl/seguridad.md +189 -0
- package/comandos/swl/status.md +5 -3
- package/habilidades/aprendizaje-continuo/SKILL.md +3 -1
- package/habilidades/discutir-fase/SKILL.md +84 -81
- package/habilidades/discutir-fase/recursos/plantilla-contexto.md +136 -0
- package/habilidades/doc-sync/SKILL.md +3 -1
- package/habilidades/doubt-driven-review/SKILL.md +15 -1
- package/habilidades/ejecutar-task-iterativo/SKILL.md +278 -278
- package/habilidades/estructura-proyecto-claude/SKILL.md +11 -2
- package/habilidades/harness-claude-code/SKILL.md +3 -1
- package/habilidades/instalar-sistema/SKILL.md +3 -1
- package/habilidades/meta-reglas-extendido/SKILL.md +92 -0
- package/habilidades/meta-reglas-extendido/recursos/analisis-previo-tareas-grandes.md +186 -0
- package/habilidades/meta-reglas-extendido/recursos/analizar-directorios-antes-de-escribir.md +235 -0
- package/habilidades/meta-reglas-extendido/recursos/api-diseno.md +413 -0
- package/habilidades/meta-reglas-extendido/recursos/arquitectura.md +491 -0
- package/habilidades/meta-reglas-extendido/recursos/arreglar-al-detectar.md +264 -0
- package/habilidades/meta-reglas-extendido/recursos/debatir-antes-de-aceptar.md +152 -0
- package/habilidades/meta-reglas-extendido/recursos/git-workflow.md +259 -0
- package/habilidades/meta-reglas-extendido/recursos/gobernanza.md +291 -0
- package/habilidades/meta-reglas-extendido/recursos/memoria-consolidada.md +263 -0
- package/habilidades/meta-reglas-extendido/recursos/seguridad-agentes.md +443 -0
- package/habilidades/meta-reglas-extendido/recursos/sesiones-paralelas.md +190 -0
- package/habilidades/meta-reglas-extendido/recursos/sin-duplicacion-reglas-globales.md +179 -0
- package/habilidades/meta-reglas-extendido/recursos/skills-estandar.md +394 -0
- package/habilidades/meta-reglas-extendido/recursos/usar-code-review-graph.md +156 -0
- package/habilidades/meta-reglas-extendido/recursos/usar-context7.md +236 -0
- package/habilidades/meta-reglas-extendido/recursos/usar-sistema-swl.md +253 -0
- package/habilidades/meta-reglas-extendido/recursos/verificar-citas-normativas.md +527 -0
- package/habilidades/meta-skills-estandar/SKILL.md +3 -1
- package/habilidades/nuevo-proyecto/SKILL.md +20 -3
- package/habilidades/php-experto/SKILL.md +10 -3
- package/habilidades/{filament-admin/SKILL.md → php-experto/recursos/filament-admin.md} +23 -39
- package/habilidades/prevencion-sobreingenieria/recursos/soluciones-nativas.md +166 -166
- package/habilidades/prevencion-sobreingenieria/recursos/variables-residuales-post-refactor.md +85 -85
- package/habilidades/proceso-debate-adversarial/recursos/personas.md +5 -4
- package/habilidades/proceso-ingenieria-requerimientos/SKILL.md +147 -0
- package/hooks/check-update.js +19 -10
- package/hooks/contexto-subagente.js +68 -68
- package/hooks/degradacion-instintos.js +1 -1
- package/hooks/extraccion-aprendizajes.js +2 -2
- package/hooks/lib/briefing.js +3 -3
- package/hooks/lib/nudge-tracker.js +1 -1
- package/hooks/lib/otlp-exporter.js +1 -1
- package/hooks/lib/webhook-dedup.js +1 -1
- package/hooks/session-briefing.js +1 -1
- package/llms.txt +6 -6
- package/manifiestos/canonical-hashes.json +989 -0
- package/manifiestos/hooks-config.json +469 -469
- package/manifiestos/invariantes-criticos.json +30 -30
- package/manifiestos/modulos.json +168 -135
- package/manifiestos/perfiles.json +0 -2
- package/manifiestos/skills-lock.json +52 -59
- package/package.json +7 -5
- package/plantillas/github-workflows/README.md +15 -1
- package/plantillas/github-workflows/swl-devsecops.yml +70 -0
- package/plugin.json +5 -5
- package/reglas/analisis-previo-tareas-grandes.md +30 -156
- package/reglas/analizar-directorios-antes-de-escribir.md +30 -211
- package/reglas/api-diseno.md +28 -398
- package/reglas/arquitectura.md +35 -456
- package/reglas/arreglar-al-detectar.md +30 -230
- package/reglas/debatir-antes-de-aceptar.md +30 -143
- package/reglas/docs.md +7 -0
- package/reglas/estilo-codigo.md +9 -0
- package/reglas/fragmentos-compartidos.md +6 -0
- package/reglas/git-workflow.md +44 -240
- package/reglas/gobernanza.md +23 -262
- package/reglas/memoria-consolidada.md +34 -228
- package/reglas/performance.md +8 -0
- package/reglas/pruebas.md +12 -0
- package/reglas/seguridad-agentes.md +37 -418
- package/reglas/seguridad.md +12 -0
- package/reglas/sesiones-paralelas.md +29 -162
- package/reglas/sin-duplicacion-reglas-globales.md +25 -166
- package/reglas/skills-estandar.md +23 -373
- package/reglas/usar-code-review-graph.md +31 -140
- package/reglas/usar-context7.md +30 -208
- package/reglas/usar-sistema-swl.md +47 -242
- package/reglas/verificar-citas-normativas.md +47 -537
- package/scripts/actualizar.js +253 -253
- package/scripts/audit-tools/auditar-relleno-inventario.js +145 -0
- package/scripts/auditar-clases-conocidas.js +106 -0
- package/scripts/bootstrap-instintos.js +2 -2
- package/scripts/canario-hooks.js +166 -0
- package/scripts/cli/configurar-ci.js +2 -1
- package/scripts/evidencia-valor.js +93 -0
- package/scripts/field-report.js +1 -1
- package/scripts/generar-comandos.js +143 -0
- package/scripts/generar-inventario.js +236 -23
- package/scripts/generar-matriz-lenguajes.js +1 -1
- package/scripts/instalador.js +15 -1
- package/scripts/lib/configurar-ci.js +10 -3
- package/scripts/lib/detectar-runtime.js +12 -3
- package/scripts/lib/diary-entry.js +3 -1
- package/scripts/lib/drift-detector.js +1 -1
- package/scripts/lib/evidencia-valor.js +189 -0
- package/scripts/lib/expandir-targets.js +71 -71
- package/scripts/lib/frontmatter-md.js +63 -0
- package/scripts/lib/parsear-opciones.js +2 -0
- package/scripts/lib/prune-componentes.js +180 -0
- package/scripts/lib/reglas-globales-conocidas.json +16 -2
- package/scripts/lib/scoring-instintos.js +2 -2
- package/scripts/lib/toml-merge.js +204 -204
- package/scripts/lib/transformadores/claude.js +1 -1
- package/scripts/lib/transformadores/codex.js +1 -1
- package/scripts/lib/transformadores/copilot.js +1 -1
- package/scripts/lib/transformadores/cursor.js +1 -1
- package/scripts/lib/transformadores/gemini.js +22 -2
- package/scripts/lib/transformadores/opencode.js +1 -1
- package/scripts/mcp-server/auth.js +105 -105
- package/scripts/mcp-server/cache.js +106 -106
- package/scripts/prune.js +102 -0
- package/scripts/publicar.js +18 -2
- package/scripts/tui/pantallas/inspect.js +175 -175
- package/scripts/tui/pantallas/uninstall-wizard.js +210 -210
- package/scripts/tui/pantallas/update-wizard.js +234 -234
- package/scripts/tui/pantallas/welcome.js +189 -189
- package/habilidades/paid-media-tracking/SKILL.md +0 -269
- package/habilidades/paid-media-tracking/recursos/auditoria-tracking.md +0 -220
- package/habilidades/paid-media-tracking/recursos/google-ads-api.md +0 -215
- package/habilidades/tracking-measurement/SKILL.md +0 -239
- package/habilidades/tracking-measurement/recursos/consent-mode.md +0 -231
- package/habilidades/tracking-measurement/recursos/gtm-datalayer.md +0 -216
- package/habilidades/tracking-measurement/recursos/meta-capi.md +0 -262
|
@@ -1,228 +1,47 @@
|
|
|
1
1
|
# Regla: Analizar la estructura de directorios antes de escribir documentación o MDs
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
de
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
Cierra un patrón conductual recurrente: el agente escribe un documento en un
|
|
9
|
-
directorio nuevo elegido ad-hoc — en idioma o nombre distinto al que el
|
|
10
|
-
proyecto ya usa para ese dominio — y produce **directorios paralelos
|
|
11
|
-
divergentes** que fragmentan la memoria institucional.
|
|
12
|
-
|
|
13
|
-
---
|
|
3
|
+
Regla OBLIGATORIA antes de crear un directorio nuevo o escribir un archivo de
|
|
4
|
+
documentación (`.md`, `.json` de reporte, informe, ADR, plan, análisis, output
|
|
5
|
+
de auditoría/diseño/research). Cierra el patrón de directorios paralelos
|
|
6
|
+
divergentes que fragmentan la memoria institucional.
|
|
14
7
|
|
|
15
8
|
## Principio
|
|
16
9
|
|
|
17
10
|
> Antes de crear un directorio nuevo o escribir un MD/reporte, **analiza
|
|
18
|
-
> primero la estructura
|
|
19
|
-
>
|
|
20
|
-
>
|
|
21
|
-
>
|
|
22
|
-
> convención dominante del proyecto; como desempate del **nombre**, prefiere
|
|
23
|
-
> español de México — salvo que exista un path canónico establecido (aunque
|
|
24
|
-
> sea en inglés), en cuyo caso ese path gana.
|
|
25
|
-
|
|
26
|
-
El costo de un `ls` antes de escribir es de 1 segundo. El costo de un
|
|
27
|
-
directorio paralelo es: referencias colgadas, búsquedas que fallan, memoria
|
|
28
|
-
institucional partida, y una sesión futura de depuración/unificación.
|
|
29
|
-
|
|
30
|
-
---
|
|
31
|
-
|
|
32
|
-
## Cuándo aplicar
|
|
33
|
-
|
|
34
|
-
OBLIGATORIO antes de:
|
|
35
|
-
|
|
36
|
-
- Escribir un reporte de auditoría, verificación, nemesis, revisión, análisis.
|
|
37
|
-
- Escribir un documento de diseño/UX (propuesta, tokens, discovery, UI-SPEC).
|
|
38
|
-
- Crear un ADR, plan, spec, runbook, research output.
|
|
39
|
-
- Crear cualquier directorio nuevo bajo `.planning/`, `docs/`, o equivalente.
|
|
40
|
-
- Persistir cualquier `.md`/`.json` que sea memoria del proyecto (no código).
|
|
41
|
-
|
|
42
|
-
NO aplica cuando:
|
|
43
|
-
|
|
44
|
-
- El comando/agente/herramienta **fija un path canónico de output** — en ese
|
|
45
|
-
caso úsalo tal cual, no lo cuestiones (ej: un agente que pinea
|
|
46
|
-
`.planning/audit/findings/iter-N/`).
|
|
47
|
-
- El archivo es código fuente (sigue las convenciones del lenguaje/framework).
|
|
48
|
-
- El usuario indicó explícitamente la ruta exacta donde escribir.
|
|
49
|
-
- Es un archivo efímero de scratch que se borrará en el mismo turno.
|
|
50
|
-
|
|
51
|
-
---
|
|
52
|
-
|
|
53
|
-
## Cómo aplicar — protocolo de 4 pasos
|
|
54
|
-
|
|
55
|
-
### Paso 1 — Listar la estructura existente
|
|
56
|
-
|
|
57
|
-
Antes de elegir dónde escribir:
|
|
58
|
-
|
|
59
|
-
```bash
|
|
60
|
-
ls .planning/ # o el directorio raíz de docs del proyecto
|
|
61
|
-
ls docs/
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
O con Glob: `**/{audit,auditoria,diseno*,ux,design,research,specs}/`.
|
|
65
|
-
|
|
66
|
-
### Paso 2 — Buscar si el dominio ya tiene directorio (incluye variantes es/en)
|
|
67
|
-
|
|
68
|
-
Pregúntate: ¿ya existe un directorio para este tipo de artefacto? Busca
|
|
69
|
-
**variantes en ambos idiomas** y sinónimos:
|
|
70
|
-
|
|
71
|
-
| Dominio | Variantes a buscar antes de crear |
|
|
72
|
-
|---|---|
|
|
73
|
-
| Auditoría | `audit/`, `auditoria/`, `auditorias/`, `findings/` |
|
|
74
|
-
| Diseño/UX | `diseno/`, `diseno-visual/`, `ux/`, `ui/`, `design/` |
|
|
75
|
-
| Investigación | `research/`, `investigacion/`, `knowledge/` |
|
|
76
|
-
| Decisiones | `adrs/`, `adr/`, `decisiones/` |
|
|
77
|
-
| Sesiones | `sessions/`, `sesiones/` |
|
|
78
|
-
| Deuda | `DEUDAS.md`, `DEUDA-TECNICA.md`, `deuda/`, `debt/` |
|
|
79
|
-
|
|
80
|
-
### Paso 3 — Decidir el destino
|
|
81
|
-
|
|
82
|
-
- **Si ya existe un directorio para el dominio** → escribe ahí. Punto. Aunque
|
|
83
|
-
el nombre existente esté en el "idioma equivocado", reusarlo es superior a
|
|
84
|
-
crear un paralelo. La consistencia gana sobre la preferencia de idioma.
|
|
85
|
-
- **Si existe un path canónico de la herramienta** (swl-ses pinea
|
|
86
|
-
`.planning/audit/`, `knowledge/outputs/`, `sessions/`, etc.) → ese path es
|
|
87
|
-
la fuente de verdad. NO lo dupliques en español.
|
|
88
|
-
- **Si NO existe precedente** → crea uno nuevo siguiendo la convención
|
|
89
|
-
dominante del proyecto (mira cómo están nombrados los directorios hermanos).
|
|
90
|
-
|
|
91
|
-
### Paso 4 — Desempate del nombre (solo para directorios genuinamente nuevos)
|
|
92
|
-
|
|
93
|
-
Cuando creas un nombre nuevo sin precedente ni path canónico:
|
|
94
|
-
|
|
95
|
-
- Prefiere **español de México** (consistente con
|
|
96
|
-
`~/.claude/rules/brevedad-output.md § Idioma obligatorio`): `diseno/`,
|
|
97
|
-
`investigacion/`, `auditoria/` antes que `design/`, `research/`, `audit/`.
|
|
98
|
-
- **PERO**: si el proyecto ya tiene una convención de idioma dominante para
|
|
99
|
-
sus directorios (ej: swl-ses usa mayormente inglés: `audit/`, `knowledge/`,
|
|
100
|
-
`sessions/`, `research/`), respeta ESA convención sobre la preferencia
|
|
101
|
-
general — la coherencia intra-proyecto manda.
|
|
102
|
-
- Identificadores técnicos (nombres que un comando/script consume como string)
|
|
103
|
-
siguen la convención del consumidor, no la preferencia de idioma.
|
|
104
|
-
|
|
105
|
-
---
|
|
106
|
-
|
|
107
|
-
## La tensión es/en — cómo resolverla (no es "español siempre")
|
|
108
|
-
|
|
109
|
-
"Preferir español" es un **desempate**, no un mandato absoluto. La jerarquía
|
|
110
|
-
de decisión, de mayor a menor prioridad:
|
|
111
|
-
|
|
112
|
-
1. **Path canónico fijado por la herramienta** (gana siempre, aunque sea inglés).
|
|
113
|
-
2. **Directorio existente para el dominio** (reusar, aunque el idioma "no cuadre").
|
|
114
|
-
3. **Convención de idioma dominante del proyecto** (si el proyecto es es → es;
|
|
115
|
-
si es en → en).
|
|
116
|
-
4. **Preferencia general español de México** (solo cuando 1-3 no aplican).
|
|
117
|
-
|
|
118
|
-
Renombrar un path canónico inglés establecido a español **viola** esta regla:
|
|
119
|
-
reintroduce divergencia en vez de eliminarla. El objetivo es UNA convención por
|
|
120
|
-
proyecto, no "todo en español".
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
---
|
|
124
|
-
|
|
125
|
-
## Eje técnico-runtime vs vocabulario-de-dominio (refina la jerarquía)
|
|
126
|
-
|
|
127
|
-
La jerarquía de arriba decide entre español e inglés *cuando todo el árbol usa
|
|
128
|
-
un solo idioma*. Pero muchos proyectos adoptan una convención **mixta por
|
|
129
|
-
categoría**: "identificadores técnicos en inglés, vocabulario de cara al usuario
|
|
130
|
-
en el idioma del proyecto" (caso swl-ses). Ahí, **clasifica el directorio ANTES**
|
|
131
|
-
de aplicar la jerarquía:
|
|
132
|
-
|
|
133
|
-
- **Path runtime/técnico → inglés.** Telemetría, estado interno, caches, logs
|
|
134
|
-
archivados, outputs de tooling, índices. No los lee el usuario final; los
|
|
135
|
-
consume el código como string. Ej. en swl-ses: `.planning/evolution/`,
|
|
136
|
-
`.planning/auto-evolution/`, `.planning/user-profile/`, `.planning/archive/`,
|
|
137
|
-
`.planning/traces/`, `.planning/sessions/`, `.planning/audit/`.
|
|
138
|
-
- **Vocabulario de dominio de cara al usuario → idioma del proyecto.** Artefactos
|
|
139
|
-
acoplados a comandos/UX cuyo nombre el usuario lee y escribe. Ej. en swl-ses:
|
|
140
|
-
`.planning/fases/` permanece **español** porque su comando es `/swl:planear-fase`
|
|
141
|
-
(español, intocable). Cambiar el dir sin cambiar el comando crea una
|
|
142
|
-
inconsistencia comando↔directorio *peor* que la divergencia que se quería evitar.
|
|
143
|
-
|
|
144
|
-
**Regla de coherencia comando↔directorio:** el nombre del data dir debe espejar
|
|
145
|
-
el idioma del comando que escribe en él. NUNCA partir un par comando↔directorio
|
|
146
|
-
en dos idiomas.
|
|
147
|
-
|
|
148
|
-
**Consolidar islas runtime SÍ es válido (no viola "no renombrar paths
|
|
149
|
-
establecidos"):** si un proyecto con convención técnico-inglés tiene islas
|
|
150
|
-
runtime en español (`evolucion/`, `archivo/`), alinearlas a inglés *reduce*
|
|
151
|
-
divergencia — es lo opuesto a "renombrar `audit/` a español". La prohibición de
|
|
152
|
-
renombrar aplica a mover *desde* la convención establecida, no *hacia* ella. Las
|
|
153
|
-
islas runtime alineadas requieren shim de migración (renombrar el dir físico en
|
|
154
|
-
proyectos que ya tienen datos) — ver `scripts/instalador.js § 6c-bis` en swl-ses.
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
---
|
|
158
|
-
|
|
159
|
-
## Anti-patrones explícitos
|
|
160
|
-
|
|
161
|
-
- **Crear `ux/` cuando ya existe `diseno-visual/`** (o viceversa) sin haber
|
|
162
|
-
hecho `ls .planning/` primero. Caso real: SIGM acumuló ambos por sesiones
|
|
163
|
-
distintas que no verificaron el precedente.
|
|
164
|
-
- **Crear `auditoria/` (es) cuando la herramienta pinea `audit/` (en)** como
|
|
165
|
-
path canónico. Caso real: `/swl:verificar` y el consolidado de `/swl:nemesis`
|
|
166
|
-
escribieron en `auditoria/` mientras los reportes por-router iban a
|
|
167
|
-
`audit/findings/` — misma corrida, dos directorios.
|
|
168
|
-
- **Renombrar `audit/`, `knowledge/`, `sessions/` a español** "porque la
|
|
169
|
-
preferencia es español". Eso rompe paths canónicos y reintroduce divergencia.
|
|
170
|
-
- **Escribir un reporte en un directorio top-level nuevo** sin revisar los
|
|
171
|
-
directorios hermanos existentes.
|
|
172
|
-
- **Asumir que no hay precedente sin buscar variantes es/en** del nombre del
|
|
173
|
-
dominio.
|
|
174
|
-
|
|
175
|
-
---
|
|
176
|
-
|
|
177
|
-
## Excepciones legítimas
|
|
11
|
+
> primero la estructura existente** (`ls`/`Glob`) para descubrir la convención
|
|
12
|
+
> que el proyecto YA usa para ese dominio, y **reúsala**. NUNCA crees un
|
|
13
|
+
> directorio paralelo para un dominio que ya tiene uno. El `ls` cuesta 1
|
|
14
|
+
> segundo; el paralelo cuesta referencias colgadas y memoria partida.
|
|
178
15
|
|
|
179
|
-
|
|
16
|
+
## Protocolo de 4 pasos
|
|
180
17
|
|
|
181
|
-
1.
|
|
182
|
-
2.
|
|
183
|
-
3.
|
|
184
|
-
4.
|
|
185
|
-
todavía) — ahí creas la convención; hazlo deliberadamente y en español si
|
|
186
|
-
no hay restricción técnica.
|
|
18
|
+
1. **Listar** la estructura existente: `ls .planning/`, `ls docs/`, o Glob `**/{audit,auditoria,diseno*,ux,design,research,specs}/`.
|
|
19
|
+
2. **Buscar** si el dominio ya tiene directorio en variantes es/en y sinónimos (audit/auditoria/findings, diseno/ux/design, research/investigacion/knowledge, adrs/decisiones, sessions/sesiones, deuda/debt).
|
|
20
|
+
3. **Decidir**: directorio existente para el dominio → escribir ahí (aunque el idioma "no cuadre"); path canónico de la herramienta → usarlo tal cual, no duplicarlo en español; sin precedente → crear siguiendo la convención dominante del proyecto (mirar los directorios hermanos).
|
|
21
|
+
4. **Desempate del nombre** (solo directorios genuinamente nuevos): español de México, salvo convención de idioma dominante del proyecto (la coherencia intra-proyecto manda) o identificador técnico cuya convención fija el consumidor.
|
|
187
22
|
|
|
188
|
-
|
|
23
|
+
## Jerarquía de desempate es/en (mayor a menor prioridad)
|
|
189
24
|
|
|
190
|
-
|
|
25
|
+
1. **Path canónico fijado por la herramienta** — gana siempre, aunque sea inglés.
|
|
26
|
+
2. **Directorio existente para el dominio** — reusar, aunque el idioma "no cuadre".
|
|
27
|
+
3. **Convención de idioma dominante del proyecto** (es → es; en → en).
|
|
28
|
+
4. **Español de México** — solo cuando 1-3 no aplican. Renombrar un path canónico establecido a español VIOLA esta regla: el objetivo es UNA convención por proyecto, no "todo en español".
|
|
191
29
|
|
|
192
|
-
|
|
193
|
-
- [ ] Busqué variantes es/en del nombre del dominio (audit/auditoria,
|
|
194
|
-
diseno/ux/design, research/investigacion).
|
|
195
|
-
- [ ] Si existe directorio para el dominio → escribo ahí (no creo paralelo).
|
|
196
|
-
- [ ] Si la herramienta pinea path canónico → uso ese (aunque sea inglés).
|
|
197
|
-
- [ ] Si creo uno nuevo → sigue la convención de idioma dominante del proyecto;
|
|
198
|
-
español como desempate solo sin precedente ni path canónico.
|
|
199
|
-
- [ ] No reintroduje divergencia renombrando un path canónico establecido.
|
|
30
|
+
## Eje técnico-runtime vs vocabulario-de-dominio
|
|
200
31
|
|
|
201
|
-
|
|
32
|
+
- Clasificar ANTES de aplicar la jerarquía: paths runtime/técnicos (telemetría, caches, logs, outputs de tooling, índices) → inglés; vocabulario de cara al usuario (artefactos acoplados a comandos/UX) → idioma del proyecto.
|
|
33
|
+
- NUNCA partir un par comando↔directorio en dos idiomas — el data dir espeja el idioma del comando que escribe en él. Consolidar islas runtime *hacia* la convención establecida SÍ es válido (con shim de migración si ya hay datos).
|
|
202
34
|
|
|
203
|
-
##
|
|
35
|
+
## Cuándo aplica y excepciones
|
|
204
36
|
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
37
|
+
- Aplica antes de: reportes de auditoría/verificación/nemesis, docs de diseño/UX, ADRs, planes, specs, runbooks, cualquier `.md`/`.json` que sea memoria del proyecto (no código).
|
|
38
|
+
- NO aplica: el comando/herramienta pinea el path canónico (úsalo sin cuestionar), el usuario dictó la ruta exacta, o es scratch efímero del mismo turno.
|
|
39
|
+
- Primer documento del proyecto (sin estructura previa): ahí creas la convención — deliberadamente, en español si no hay restricción técnica.
|
|
208
40
|
|
|
209
|
-
|
|
210
|
-
ad-hoc). La misma corrida de `/swl:nemesis` quedó partida entre ambos; 8
|
|
211
|
-
documentos con referencias colgadas tras la consolidación.
|
|
212
|
-
- `.planning/ux/` (en, 2026-05-30) vs `.planning/diseno-visual/` (es,
|
|
213
|
-
2026-05-11). La sesión 05-30 creó `ux/` sin verificar que `diseno-visual/`
|
|
214
|
-
ya existía.
|
|
41
|
+
## Anti-patrones
|
|
215
42
|
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
`DT-PLANNING-OUTPUT-PATHS` en swl-ses). Esta regla ataca el lado conductual y
|
|
220
|
-
aplica a todo proyecto del usuario, use o no swl-ses.
|
|
43
|
+
- Crear `ux/` cuando ya existe `diseno-visual/` (o viceversa) sin `ls .planning/` previo.
|
|
44
|
+
- Renombrar un path canónico establecido (`audit/`, `knowledge/`, `sessions/`) a español "porque la preferencia es español".
|
|
45
|
+
- Asumir que no hay precedente sin buscar variantes es/en del nombre del dominio.
|
|
221
46
|
|
|
222
|
-
|
|
223
|
-
- `~/.claude/rules/brevedad-output.md § Idioma obligatorio` — la preferencia
|
|
224
|
-
español que esta regla usa como desempate.
|
|
225
|
-
- `~/.claude/rules/memoria-consolidada.md § no-duplicación` — un dato vive en
|
|
226
|
-
un solo canal; esta regla extiende el principio a directorios.
|
|
227
|
-
- `~/.claude/rules/sin-duplicacion-reglas-globales.md` — analogía: no duplicar
|
|
228
|
-
contenido que ya vive en su lugar canónico.
|
|
47
|
+
Detalle extendido (tabla completa de variantes por dominio, jerarquía desarrollada, eje técnico-runtime con ejemplos swl-ses, casos reales SIGM, checklist y origen): `Skill("meta-reglas-extendido")` → `recursos/analizar-directorios-antes-de-escribir.md`.
|