Guía de incorporación · Dani
CreaRack Pro · Entorno de desarrollo Windows Última actualización: 03-08-2026 (des-ranciado pre-vuelta: qué cambió jun-ago, plugins con namespace, gate Regla 0 opt-in, merge manual, servidor OPS, SSH solo NetBird, safe_push/estibador, Agente 2.18). Anterior: 24-05-2026 (s82 · onboarding rehecho: PS7 primero, prereqs, descarga autenticada, tokens reales, shortcut automático, “Apaga”, harness completo)
Para instalar tu entorno desde cero (PowerShell 7, herramientas, repos, tokens, primera sesión): sigue la guía única [[workspace—onboarding—setup-equipo-nuevo]]. Esta ficha solo cubre lo específico de tu rol.
Qué cambió mientras estabas fuera (jun–ago 2026)
Lo primero que debes leer a tu vuelta en septiembre. Resumen de alto impacto; el detalle vive en CreaRack-Pro/CLAUDE.md y las wikis enlazadas.
- Skills y agents del método viven en PLUGINS con namespace (s186): se invocan
/method:roast,/crearack:secre, etc. Los plugins se leen en vivo del repoclaude-method— el pull de cada arranque los mantiene al día. Los pluginsmethod-designymethod-marketingson OPCIONALES y van apagados por defecto (dieta 28-07): en tu primer arranque tu listado no tendrá las skillsdesign-*; si las necesitas,/plugin→ habilitarmethod-design(una vez, persistente). - Gate Regla 0: desde el 03-08-2026 vive en el plugin
methody es opt-in por marcador.claude/bib-gate.json(los repos CreaRack lo llevan). Tu primer arranque converge solo; los tombstones de memorias compartidas derogadas se aplican en tu 2º arranque (el sync procesa memorias antes del pull). - Tu primer push correrá mypy en frío en el gate pre-push (~4 min) — no es un cuelgue, es la caché fría.
- Skills nuevas:
/method:plan-review(revisión fría de planes técnicos) y/method:iniciar-proyecto(arrancar un proyecto nuevo con Biblioteca propia). roast/storm/divergir/os-audit ya existían de jun-jul — ahora con prefijo/method:. - “La antesala” + apuestas: ante una decisión de nivel, primero se elige la herramienta de deliberación (
/divergir·/grill·/roast·/storm) y las decisiones gordas se cierran con apuesta pre-registrada enCreaRackSL-workspace/public/supercontext/WAGERS.md. Regla completa:CreaRack-Pro/.claude/rules/antesala.md. - Ciclo push→CI→merge: push blindado vía
scripts/ci/safe_push.sh <rama>y agentecrearack:estibador(despacha rama→PR→CI→merge en background). El merge es squash MANUAL al verde (gh pr merge <N> --squash;--autofalla) — el auto-merge de s56 se retiró. ⚠ Merge amain= deploy DIRECTO a PROD. - Servidor OPS (
crearack-ops): nuevo server con los runners CI self-hosted y TODOS los crons del ecosistema. STAGE queda en DR + Dokploy + staging. SSH a PROD SOLO por NetBird (el acceso por IP pública se cerró). - Local Agent: instalador Inno Setup desde 2.17.0 (compilarlo exige Inno Setup 6 —
winget install JRSoftware.InnoSetup), auto-update, y salud en el heartbeat desde 2.18.0; el Fleet Manager muestra el footprint de cada agente. Pipeline: wiki [[crearack-tech—guides—agent-distribution]]. - Deploys de Pro parten de imagen base privada GHCR (
crearack-base): un deploy pasó de >15 min a ~1 min. - Producto EN canónico (i18n en marcha): la UI del producto se escribe en inglés; el español llega por traducción.
- Tu entorno a la vuelta: está decidido que trabajarás desde una VM Windows del Proxmox de Esferic (tu PC personal queda con un Claude “limpio”, sin harness). La migración se hará al llegar — hasta entonces, lo que esta ficha describe como “tu PC” sigue siendo tu máquina actual.
Antes de empezar
Tras la migración GitHub User → Organization (s74, 19-05-2026), el acceso a los repos se gestiona a nivel Org CreaRackSL, no como collaborator por repo.
Edu te enviará invitación al Org con role Owner (igualdad de accesos del staff, Regla 24). Acéptala desde el email o desde https://github.com/orgs/CreaRackSL/invitation logueada con tu cuenta dfuentes-esfericlabs. Una vez aceptada, tendrás acceso admin a los 3 repos:
CreaRackSL/CreaRack-Pro→ adminCreaRackSL/CreaRackSL-workspace→ adminCreaRackSL/claude-method→ admin
Reglas del proyecto post-Supercontexto
Desde el cierre del roadmap Supercontexto (22-04-2026) hay un bloque de reglas operacionales que aplican a toda sesión Claude Code en los repos del equipo. Claude las sigue automáticamente; este resumen es tu referencia.
| Regla | Qué | Por qué |
|---|---|---|
| 0 · Biblioteca primero | Consultar bib_ask/bib_search_semantic/read_guide ANTES de cualquier tarea no trivial | La Biblioteca es la memoria del proyecto; ignorarla es incumplir la forma de trabajar |
| 3 · Docs incrementales | Actualizar CLAUDE.md/README.md/CHANGELOG.md/RELEASE_NOTES.md en cada commit relevante (TASK.md jubilado — el estado vivo va en Supercontexto + Gestor) | Evita acumular deuda de documentación |
| 14 · Verify CI tras push | Comprobar TODOS los workflows del commit (gh run list --json conclusion,name — NO --limit 1) tras cada git push con código. Lo suele hacer el agente crearack:vigia en background; tras sus ráfagas, verifica tú el efecto (git status + HEAD vs origin) | Dokploy deploya aunque CI falle — errores invisibles días |
| 15 · HTTP 200 ≠ éxito | Scripts que hablan con APIs deben parsear body.errors y devolver exit≠0 cuando falle semánticamente | El MCP handler devolvía 200 con errors:[...] y scripts lo tomaban como OK |
| 17 · Infra no en PC personal | Crons/webhooks/servicios críticos viven en infraestructura compartida (servidor OPS, CF, GitHub Actions) | SPOFs en máquinas de humanos se caen sin avisar |
| 18 · Pre-commit = CI · pre-push = tests del área | Cada check rápido de CI (ruff, biome, typecheck) tiene gemelo en el pre-commit. El pre-push es un gate rápido (scripts/ci/pre_push_tests.sh, ~1-2 min): tests del área tocada, gemelo del CI (settings test + BD directa + mypy idéntico). La suite entera la corre SIEMPRE el CI | Errores solo visibles tras push = ruido y frustración; el gate corto no penaliza el flujo |
16 · Nunca [skip ci] | Push siempre dispara CI, sea código o docs-only. Reformulada 30-04-2026 con upgrade a GitHub Pro | Política previa de [skip ci] saltaba CF Pages Deploy y Bibliotecario-Ingest — los cambios de docs no llegaban a producción ni al grafo |
| 19 · Supercontexto | Si tocas public/supercontext/ o sistema Supercontexto: leer STATE.md + NEXT.md al arrancar, actualizar al cerrar | Proyecto multi-sesión autónomo con continuidad |
| 20 · Push vs PR + merge MANUAL | PR obligatorio si: >5 archivos · toca migrations/compose/Dockerfile/settings/workflows · commit feat:/refactor:. Push directo solo docs-only en la práctica (main protegida con checks rechaza el push directo de código, GH006). Merge al verde, MANUAL: gh pr merge <N> --squash (--auto falla; al verde mergea quien conduce la sesión, sin pedir OK a otro). ⚠ Merge a main = deploy DIRECTO a PROD (Dokploy auto-deploya y auto-migra, sin gate STAGE intermedio). Para si el diff muestra secrets | El auto-merge de s56 se retiró: con deploy directo a PROD, el merge es un acto consciente de quien conduce |
| 21 · Tamaño de commit | Bug fix ≤80 LOC, 1 fix = 1 commit · Feature ≤400 LOC. Excepciones documentadas: cierres de iniciativa multi-sesión (supercontext(iN):), refactors mecánicos masivos, backfills programáticos con script idempotente | Inspirado en harness de Reddit. Evita normalizar commits gigantes que rompen revisión granular |
| 22 · Definitivo > rápido | Ante 2 caminos (definitivo vs rápido/temporal), ir con el definitivo si el criterio mínimo está cumplido. No fragmentar acciones reversibles “por prudencia”. Acciones irreversibles (force push, drop schemas, deploy infra) sí justifican cautela | Aprendido sesión 32 (27-04-2026). Ahorra ciclos de “esperar N días más antes de aplicar” cuando el cambio es reversible y los datos ya respaldan la decisión |
| 23 · No dejar deudas — terminar bien | Cada tarea termina con sus deudas asociadas resueltas en el mismo commit o documentadas con plan/dueño/fecha en STATE.md / issue. Prohibido “lo apunto y ya veremos”. La deuda legítima existe (waiting upstream, ventana de mantenimiento) pero con plan visible | Verbalizada sesión 42a (30-04-2026). Antes de cerrar sesión: para cada deuda detectada — ¿cerrada o documentada con plan? Si ninguna, no terminar |
Detalle completo en
CreaRack-Pro/CLAUDE.md§ 1 (tabla resumen) +CreaRack-Pro/context/RULES_DETAIL.md(ampliaciones, historial “aprendido el día X” y matices operativos por regla). Nuevas desde tu marcha: “la antesala” (elegir la herramienta de deliberación antes de una decisión de nivel) + apuestas en WAGERS.md — ver la sección “Qué cambió” arriba. El equivalente de la Regla 20 en workspace es la Regla 14 (ambos repos aplican el mismo criterio con distinta numeración histórica).
Hook automático WORKLOG (sesión 27)
Tu Claude Code tiene un Stop hook configurado por bootstrap-profile.ps1 / setup-claude-code.ps1 que dispara un reminder en stderr cuando detecta ≥3 commits combinados en los repos del proyecto (CreaRack-Pro + workspace) en las últimas 4h. Cumple Regla 12 sin disciplina manual. Solo se dispara 1 vez al día (marker idempotente en ~/.claude/projects/<key>/last-worklog-stamp.txt). Si quieres desactivarlo temporalmente, abre /hooks en Claude Code o borra la sección hooks.Stop de ~/.claude/settings.json.
Fin de sesión · protocolo «Apaga»
Palabra clave de cierre del equipo: escribe «Apaga» (o «Apaga y vamonos») y Claude ejecuta el ritual completo sin pedir confirmación. Qué hace (lo que aplique según lo que tocaste):
- Supercontexto (si lo tocaste): actualiza
public/supercontext/STATE.md(snapshot) +LOG.md(entrada).NEXT.mdsolo si cambió el backlog. - WORKLOG.md del workspace: bloque del día (resumen coloquial + detalle técnico, formato híbrido s64). Siempre.
- Tag opcional
supercontext/sesion-N-donesi fue significativa. - Pre-push Sync Cascade: si tocaste
src/content/wiki/*.mdconmirrors:, actualiza los espejos en el mismo commit; tras push + CI verde, revisa/procesa PR draftssync-cascade-proposalcon criterio. - Commits + push:
git pull --rebase origin mainantes (Regla 4), nunca[skip ci](Regla 16), particionar por repo. - Verificar CI (Regla 14): TODOS los workflows del commit por repo (
gh run list --json conclusion,name, no--limit 1); no cerrar si rojo. - Memorias: actualizar
feedback_*/footguns_*/project_*+ MEMORY.md si hubo aprendizajes. - Backup memoria (dual):
claude-method/harness/claude-backup.ps1 -PushGit—.zipa OneDrive + memoria al repoCreaRackSL/claude-backups. Recuperar:claude-backup.ps1 -Restore -FromGit -Name dani.
Variantes: «Apaga», «Apaga y vamonos», «apaga». Está propagado vía la memoria compartida feedback_apaga_cierre_sesion — tu Claude ya lo conoce.
Hook automático claude-method auto-sync (s60, evolucionado)
Tu SessionStart (consolidado en session-start.ps1, s99) ejecuta claude-method-sync.ps1 en cada arranque, envuelto en try/catch + exit 0 (silent failure si estás offline: la sesión arranca igual). Hoy el sync hace:
git pull --rebasedel repoC:\dev\claude-method.- Convergencia POR HASH de reglas (
~/.claude/rules/), memorias compartidas (con filtro por rol, índice auto-generado y tombstones: una memoria derogada listada enshared-memory/_retired.txtse archiva sola de tu perfil, sin re-onboarding) y settings del equipo. - Instaladores idempotentes: plugins del método, session-hooks, coralline, git-config del equipo, git-hooks.
Las skills y agents ya NO se copian a tu perfil: viven en los plugins del repo (plugins/method/, plugins/crearack/…) y Claude Code los lee en vivo — el pull basta para tenerlos al día. Cierra el Gap 1 del propagador: si Edu añade una skill o regla al método central, tú la recibes automáticamente la siguiente sesión sin ejecutar nada a mano.
Promover local → central · claude-method-promote.ps1 (s60, ahora hacia plugins)
Si creas un agente o una skill en tu Claude Code y quieres compartirlo con Edu/Txell, no tienes que copiar archivos a mano al repo claude-method. El script C:\dev\claude-method\harness\claude-method-promote.ps1 lo hace por ti:
pwsh -NoProfile -File C:/dev/claude-method/harness/claude-method-promote.ps1 `
-Type agent -Name <name> -Plugin <method|crearack>
# o:
pwsh ... -Type skill -Name <name> -Plugin <method|crearack>
El script:
- Lee el agente/skill de tu
~/.claude/{agents,skills}/. - Detecta CREATE (no existe en central) / UPDATE (diverge, requiere
-Force) / IDENTICAL (ya promovido y al día). - Valida que el frontmatter tenga
name:+description:(sin description Claude no lo invoca nunca). - Copia a
claude-method/plugins/<plugin>/{agents,skills}/, commit con mensaje generado, push directo a main.
Modos: -DryRun (simula sin tocar), -NoCommit (copia y para), -NoPush (commit local pendiente), -Force (sobrescritura intencional en UPDATE).
Convención humana — pregúntate antes de invocar: “¿esto es transversal — útil para los 3 — o solo del proyecto X?”. Si es del proyecto, vive en <repo>/.claude/skills/ (ya trackeado en git), NO uses promote. El central es para tooling cross-project.
Tras el push, Edu/Txell lo reciben automáticamente la siguiente sesión vía el git pull del SessionStart (los plugins se leen en vivo del repo). Cierra el Gap 2 del propagador (cerrado en la misma sesión s60 tras el Gap 1).
Harness Engineering — dos checks en cada commit
El setup del bootstrap (ver [[workspace—onboarding—setup-equipo-nuevo]]) ya instaló el hook. Cada vez que hagas git commit, se disparan dos validaciones:
6.1 Check arquitectural (pre_commit_check.py)
Valida sobre los archivos staged:
- Archivos Python no excedan 500 LOC
- No haya SQL interpolado con f-strings en MAYÚSCULAS (previene inyección SQL)
- No se use
|safeen templates (previene XSS) CONN_MAX_AGEsea 0 (requerido por Daphne ASGI)
6.2 Check de Biblioteca (bib_report_check.py) — nuevo desde Abril 2026
Si has modificado archivos de código, exige que antes del commit hayas llamado a bib_report_change para cada uno, para que el grafo de conocimiento no se desincronice.
Flujo correcto:
- Editas
core/models.py(por ejemplo). git add core/models.py.- En Claude Code:
bib_report_change(file_path="core/models.py", change_type="modified"). git commit. Ambos checks pasan.
Si te olvidas del paso 3, verás un mensaje así:
[X] BIBLIOTECA REPORT MISSING (commit blocked):
core/models.py
Ejecuta en el MCP workspace, por cada archivo listado:
bib_report_change(file_path='<ruta>', change_type='modified|created|deleted')
Bypass puntual (solo en casos justificados, documéntalo en el mensaje):
$env:BIB_SKIP=1; git commit -m "..."
Cada bypass queda registrado en https://workspace.crearack.com/biblioteca/pulse (tarjeta “Bypasses BIB_SKIP · 7d”).
Checks completos del pre-commit (sincronizado con CI — Regla 18)
| Check | Qué valida |
|---|---|
pre_commit_check.py · LOC | Archivos Python <500 LOC |
pre_commit_check.py · SQL | No hay SQL interpolado con f-strings MAYÚSCULAS |
pre_commit_check.py · safe | No se usa |safe en templates |
pre_commit_check.py · CONN_MAX_AGE | CONN_MAX_AGE = 0 (Daphne ASGI) |
pre_commit_check.py · ruff format | Python formateado con ruff format (gemelo CI) |
bib_report_check.py | Cada archivo código MODIFIED tiene bib_report_change reciente |
wiki_front_matter_check.py | Páginas Supercontexto tienen front-matter válido |
check_astro_schemas.py | Si cambia content.config.ts o src/content/, correr pnpm astro sync |
Además del pre-commit, el pre-push corre el gate rápido de tests del área (Regla 18, scripts/ci/pre_push_tests.sh). Y para pushear en Pro se usa el push blindado scripts/ci/safe_push.sh <rama> (pre-check de zombis + push con gate + verificación del SHA remoto por API); el ciclo completo push→CI→merge es delegable al agente crearack:estibador en background.
Si necesitas reinstalar los hooks
cd C:\dev\CreaRack-Pro
bash C:/dev/claude-method/harness/install_hooks.sh
Mantener claude-method al día
El SessionStart ya lo hace solo en cada arranque (auto-sync, ver arriba). Para forzarlo a mano:
powershell -ExecutionPolicy Bypass -File C:/dev/claude-method/harness/claude-method-sync.ps1
Backup de memorias (dual: OneDrive + GitHub)
Tu carpeta ~/.claude/projects/<key>/memory/ NO está en git. Al cierre de sesiones significativas (ritual “Apaga”, paso 8) Claude ejecuta:
powershell -ExecutionPolicy Bypass -File C:/dev/claude-method/harness/claude-backup.ps1 -PushGit
Dos copias durables:
- OneDrive →
.zipcon fecha (memoria +settings.json) en tu%CLAUDE_BACKUP_ROOT%\<key>\(retención 10). Sin OneDrive cae en%USERPROFILE%\claude-backups\. - GitHub → memoria en texto versionada en
CreaRackSL/claude-backups, carpetadani/.
Recuperar (PC nuevo o memoria perdida):
git -C C:\dev\claude-backups pull
powershell -ExecutionPolicy Bypass -File C:/dev/claude-method/harness/claude-backup.ps1 -Restore -FromGit -Name dani
Reinicia Claude Code después. (Las env vars CLAUDE_BACKUP_* las setea el setup del onboarding.)
Fitness tests (tests de arquitectura)
docker compose exec web python -m pytest tests/test_architecture_fitness.py -v
Documentación completa: Wiki → IA Tech → Harness Engineering.
Guía maestra del esquema Claude del equipo: claude-method/guides/CREARACKSL_HARNESS_GUIDE.md (creada sesión 32, 27-04-2026). Lectura recomendada — describe las 8 capas del Harness (Reglas, Memorias, Hooks, MCP, Skills, Subagents, Bibliotecario, Routines) en parte coloquial + parte técnica.
Routines (agentes programados en la nube)
Desde sesión 32 (Abril 2026) el ecosistema tiene agentes Claude programados que corren en la infraestructura de Anthropic, no en tu PC. Consumen API (no Plan Max). Coste total ecosistema: <$10/mes.
| Routine | Frecuencia | Estado | Acción |
|---|---|---|---|
| CreaRackSL · Mantenimiento Semanal | Lunes 10:00 Madrid | 🔴 auto-disabled desde 18-05-2026 (auto_disabled_repo_access, verificado 04-08-2026) — decisión de Edu pendiente | Triage releases upstream, CVEs, items waiting state, issues > 7d. Envío Resend directo a logcrearack@esfericlabs.com (grupo Zoho s69 · lo lee Edu) vía tool MCP send_maintenance_email + commit reporte en workspace/public/supercontext/reports/maintenance--YYYY-MM-DD.md. |
| bib-reindex watchdog daily (s50) | Diario 09:00 Madrid | 🔴 auto-disabled desde 28-05-2026 — bib-reindex Pro sin vigilancia; decisión pendiente | Vigila el cron Linux de bib-reindex (los crons viven hoy en el servidor OPS). Si lleva >30 min sin ejecutar → abre GitHub issue con diagnóstico (3 hipótesis típicas + comandos SSH). |
| STAGE crons validation (one-shot) | one-shot 14-05-2026 | ⚪ caducada (run_once_fired 14-05-2026) | Verificación puntual de los crons — caduca tras ejecutarse. |
Watcher Cluster C: routine ELIMINADA del panel (verificado por API 04-08-2026). Su cometido (fix
d2653a1deasyncssh) está en producción hace tiempo. Cerrado.
El informe semanal está PARADO desde el 18-05-2026 (routine auto-disabled; decisión de Edu pendiente). Cuando estaba activa, cada lunes llegaba el informe ejecutivo vía Resend directo. Si quieres ver el reporte técnico extendido sin esperar al reenvío, está commited en CreaRackSL-workspace/public/supercontext/reports/.
Patrón “watchdog cloud para cron server” (s50)
Nacido tras incidente s50: el cron de bib-reindex en STAGE estuvo parado 10 días silenciosamente por permission denied. Patrón general reusable para otros crons críticos:
[cron 10 min en server] ──► log archivo
↑
│
[routine diaria en cloud] ─── lee MCP/HTTP del workspace
│
├── si reciente → silencio
└── si viejo → gh issue create con diagnóstico
Reproducir el patrón si otro cron se queda silencioso (DR backup, gh-actions-watchdog, stale-check). Mínimo 1 hora de frecuencia por límite de Anthropic.
Gestionar routines: skill /schedule desde Claude Code, o panel https://claude.ai/code/routines.
Design Toolkit (s50 · plugin opcional desde s186)
El staff comparte un toolkit de diseño: agente design-collaborator (model: opus) + 15 skills design-* (production, system, review). Desde s186 vive en el plugin OPCIONAL method-design del repo claude-method (leído en vivo, nada que copiar) y va apagado por defecto desde la dieta del 28-07-2026 (ahorra ~1.7k tokens de listado por sesión). Si no ves las skills design-* en tu listado: /plugin → habilitar method-design (una vez, persistente).
Cuando necesites tocar UI (Rack Editor, Map Editor, signage, dashboard, workspace), Claude lo invocará automáticamente (con el plugin activo) o puedes forzarlo con /method-design:design-<nombre>.
Cuándo se dispara
- Skills: se auto-disparan cuando lo que pides matchea su descripción (“dame 3 variantes del hero” →
design-generate-variations) - Agente: lo decide spawneear el Claude principal cuando la tarea es grande (rediseño, audit del frontend entero) —
Agent(subagent_type="method-design:design-collaborator") - Manual:
/method-design:design-polish-pass,/method-design:design-discovery-questions, etc.
Catálogo rápido
| Categoría | Skills |
|---|---|
| Producción | design-discovery-questions · design-frontend-aesthetic-direction · design-taste-frontend · design-wireframe · design-make-a-deck · design-make-a-prototype · design-make-tweakable · design-generate-variations |
| Sistema | design-system-extract (tokens) · design-component-extract (atoms/molecules/organisms) |
| Revisión | design-accessibility-audit (WCAG) · design-ai-slop-check (anti-template) · design-hierarchy-rhythm-review · design-interaction-states-pass · design-polish-pass (umbrella · final gate) |
Filosofía
Rechaza explícitamente las defaults genéricas que delatan “AI-template”: gradientes agresivos, emoji decorativo, cards border-radius: 12px; border-left: 4px solid por defecto, Inter/Roboto silentes, #FFF sobre #000 puro. Obliga a comprometerse con paleta + tipografía + densidad + motion.
Origen
Reverse engineering de Claude Design (Anthropic) por Trystan-SA, MIT. Repo upstream: https://github.com/Trystan-SA/claude-design-system-prompt.
Documentación completa
- Wiki: [[crearack-tech—method—design-toolkit]]
- Guía técnica:
claude-method/guides/DESIGN_TOOLKIT.md
Curator + Lint del Bibliotecario en apply=true
Desde sesión 32 (27-04-2026), los crons diarios del Bibliotecario Curator (05:00 UTC) y Lint (04:30 UTC) corren en modo apply=true por defecto (antes solo reportaban). Esto significa que:
- Curator decide automáticamente si las páginas wiki en status
draftse promueven aactiveo se borran (basado en criterio Haiku tras 2+ días). - Lint marca como
stalepáginas conlast_verified > 60 díasy persiste contradicciones detectadas.
Acciones reversibles vía git history. Si algún draft se borra y debías conservarlo, está en el .md del repo (status volvió a archived pero el contenido sigue allí). Para forzar dry-run en una invocación manual: gh workflow run "Bibliotecario-Curator" -f apply=false.
Skills bibliotecario (disponibles en workspace y CreaRack-Pro)
Desde 2026-04-23, las 5 skills CLI del bibliotecario funcionan desde sesiones Claude Code en ambos repos:
| Skill | Uso |
|---|---|
/bib-archive-last-answer | Override manual: archivar la última respuesta de bib_ask como concept_page draft |
/wiki-review-drafts | Curator interactivo: revisar drafts ≥N días y decidir promote/delete/keep |
/wiki-promote <slug> | Promover una draft a active |
/wiki-delete <slug> | Archivar una página (fallback a wiki_archive_page) |
/wiki-lint-review | Reporte de salud de la wiki + contradicciones abiertas |
Invocas diciendo el nombre de la skill en la sesión (Claude reconoce el / y la ejecuta).
Flujo de trabajo diario
Antes de empezar a trabajar
cd C:\dev\CreaRack-Pro
docker compose up -d
claude
El hook SessionStart hace automáticamente cuatro cosas: (1) git pull --rebase origin main, (2) refresca el project_hot_cache.md — Claude entra “caliente” a cada sesión sabiendo commits de los últimos 7 días, actividad 24h, alertas activas, salud del grafo y bypasses recientes, (3) inyecta la hora local + zona horaria al contexto ([Local time] yyyy-MM-dd HH:mm:ss +02:00 (Europe/Madrid)) para que Claude no se desvíe del reloj real cuando hablamos de horas o deadlines (Regla 25, s50), y (4) sincroniza el método (claude-method-sync.ps1: pull + convergencia por hash — ver sección Harness).
Panel en vivo del proyecto
Abre cada mañana https://workspace.crearack.com/biblioteca/pulse — muestra el estado actual del proyecto refrescando cada 60 segundos.
context7 MCP (docs externas frescas)
Desde sesión 28 (Abril 2026) setup-claude-code.ps1 registra automáticamente el MCP context7 (HTTP público, sin token). Da acceso a documentación actualizada de librerías externas — Django, Astro, HTMX, Tailwind, Cloudflare Workers, etc. Útil cuando tu Claude no recuerda una API o cuando hay cambios entre versiones.
| Cuándo usar | Cuándo NO |
|---|---|
| API/CLI/syntax/config de una lib externa | Refactors o lógica de negocio interna |
| Migración entre versiones (Astro 4→5, Django 5→6) | Debugging de nuestro propio código |
| Setup de una lib que no recuerdas | Conceptos generales de programación |
Verificar registro: claude mcp list (debe mostrar context7: ... ✓ Connected). Tools: mcp__context7__resolve-library-id y mcp__context7__query-docs — Claude las invoca solo cuando aporten algo.
Durante el trabajo
Claude Code gestiona los commits. Antes de cada commit con cambios de código, Claude ejecuta bib_report_change por cada archivo tocado (si se olvida, el hook de la sección Harness Engineering bloquea con instrucciones).
Si cambias templates, JS o CSS
docker compose restart web
Ver logs en tiempo real
docker compose logs -f web
Ejecutar tests
docker compose exec web python -m pytest tests/api/ -v
Coordinación con Edu y Txell
Trabajáis en áreas habituales distintas para minimizar conflictos, pero por Regla 24 (igualdad de accesos del staff) todos podéis tocar cualquier área en cualquier momento si hace falta.
| Dani (foco) | Edu (foco) | Txell (foco) |
|---|---|---|
core/ (auth, usuarios) | blueprints/ (mapas) | BIZ (legal, marketing, admin) |
config/ (settings, BD) | racks/ (editor) | Workspace docs |
| Migraciones | monitoring/ (observatory) | Soporte cliente |
| Seguridad | signage/ (CMS) | Reports / FinOps |
terminal/ (SSH) |
Regla básica: antes de tocar un archivo que no es de tu área habitual, avisa por WhatsApp/Slack — pero puedes hacerlo. La división es coordinación, no permisos.
Siempre hacer git pull --rebase origin main antes de empezar a trabajar.
Acceso a Hetzner
Por Regla 24 (igualdad de accesos del staff) los 3 miembros tienen el mismo nivel de acceso. Si alguien está fuera, cualquier otro puede sustituirle en operaciones de infraestructura.
Regla 26 · Agentes y MCP especializados antes que general-purpose (s51, 06-05-2026)
Cuando una tarea tiene herramienta canónica del método, hay que usarla antes de lanzar un subagente genérico. La tabla mínima:
| Tarea | Herramienta canónica | NO usar |
|---|---|---|
| Diseño UI / redesign / mockup | Agent(subagent_type="method-design:design-collaborator", model="opus") + skills design-* (plugin opcional method-design; si no está activo, /plugin) | general-purpose |
| Crear página wiki Supercontexto | wiki_create_page (MCP workspace) | escribir .md directos en src/content/wiki/ |
| Modificar wiki existente (replace body) | wiki_update_content / wiki_update_page (MCP workspace) | editar el fichero local a mano |
| Edit puntual en wiki existente | Edit + bib_report_change | — |
| Promover / archivar drafts | skills wiki-promote, wiki-review-drafts, wiki-delete | hacerlo a mano |
| Consultar grafo | bib_ask, bib_search_semantic, bib_context_query, read_guide (ya en Regla 0) | adivinar |
| Reportar cambio antes de commit | bib_report_change | saltarse el hook |
| Ciclo push→CI→merge en background | agentes crearack:vigia (vigilar) / crearack:estibador (despachar) | subagente general |
Verbalizada s51 (06-05-2026) tras dos casos donde el agente lanzó general-purpose en vez del especializado: (1) rediseño Holo, (2) creación de 8 páginas wiki que se escribieron como .md directos en vez de usar wiki_create_page. El método empaqueta agentes y MCP especializados; ignorarlos pierde la calibración del agente o pasa por filtros 3-tier de Bibliotecario-Ingest innecesariamente.
Acceso vía NetBird
Todo el acceso operativo a infra pasa por NetBird (NetBird Cloud; sustituyó a Tailscale en s85, 2026-05-25). Cuando recibas tu laptop nuevo del proyecto:
- Pide a Edu que te invite en NetBird (dashboard → Team → Users → Invite, con tu email)
- Si tuvieras Tailscale instalado, desinstálalo antes (comparte el rango
100.64y entra en conflicto) - Instala el cliente NetBird: netbird.io/download (Windows:
winget install netbird) - Abre NetBird → Connect → login SSO con la cuenta de tu email invitado
- Test desde PowerShell:
ssh root@crearack-prod.netbird.cloud(o por IP si el DNS por nombre aún no resuelve)
Tu laptop entra en el grupo
All/users— no enservers(ese es solo para máquinas servidor).
Detalle completo del setup + troubleshooting + DNS: guía claude-method/guides/NETBIRD_SETUP.md.
Servidores productivos
SSH SOLO por NetBird (invariante desde la auditoría de superficie externa: :80/:443 solo-CF + firewalls solo-NetBird — el SSH por IP pública se cerró).
| Mote | Acceso | Rol |
|---|---|---|
PROD (crearack-prod) | ssh root@crearack-prod (NetBird; si el DNS no resuelve, IP NetBird 100.96.156.31) | App CreaRack en Dokploy |
STAGE (crearack-staging) | ssh root@crearack-staging (NetBird) | DR backups + panel Dokploy + staging |
OPS (crearack-ops) | ssh root@crearack-ops (NetBird, IP 100.96.245.233) | Runners CI self-hosted + TODOS los crons del ecosistema |
# PROD — operación habitual
ssh root@crearack-prod
ssh root@crearack-prod "docker ps"
ssh root@crearack-prod "docker logs crearack-pro-zcmvsl-web-1 --tail 50"
ssh root@crearack-prod "docker restart crearack-pro-zcmvsl-web-1"
# STAGE — DR + staging
ssh root@crearack-staging "docker ps"
# Servicios internos accesibles directo desde tu laptop NetBird (sin docker exec ni SSH tunneling):
curl http://crearack-prod:8428/api/v1/query?query=up # VictoriaMetrics
psql postgres://USER:PASS@crearack-prod:5432/DBNAME # PostgreSQL directo (DBeaver/pgAdmin)
# Browser: http://crearack-prod:3000 (Dokploy panel)
Contenedores PROD (crearack-pro-zcmvsl-*):
| Contenedor | Servicio |
|---|---|
crearack-pro-zcmvsl-web-1 | Django (Daphne ASGI) |
crearack-pro-zcmvsl-worker-1 | Huey task worker |
crearack-pro-zcmvsl-cache-1 | Valkey |
crearack-pro-zcmvsl-db-1 | PostgreSQL |
crearack-pro-zcmvsl-pgbouncer-1 | pgbouncer — contenedor presente pero NO usado por la app (la web conecta directa a db; ver decision--20260315--postgres-18-pgbouncer) |
crearack-pro-zcmvsl-victoriametrics-1 | VictoriaMetrics |
Server EPYC self-host LLM dado de baja en s53: tras migrar Help a AI Studio paid, el
pve-epyc-02quedó sin uso y fue cancelado en Hetzner Robot tras wipe NIST SP 800-88. Toda la inferencia LLM (Auto-Plan, Help, CNS/ITSM) corre ahora en Google AI Studio Paid Tier.
Arquitectura y herramientas nuevas
SaaS Roadmap
La documentacion del roadmap SaaS esta en:
Documentation/architecture/task.md— tareas activas y backlogDocumentation/architecture/SAAS_METRICS_ARCHITECTURE.md— metricas VictoriaMetrics + Valkeydocs/technical/SAAS_ROADMAP.md(workspace) — vision de producto y fases
Middleware nuevo (multi-tenancy)
El stack incluye middleware especializado para SaaS:
| Middleware | Archivo | Proposito |
|---|---|---|
| Rate Limit per Tenant | core/middleware/rate_limit.py | Limita requests por organizacion (evita abuso de un tenant) |
| Tenant Metrics | core/middleware/tenant_metrics.py | Registra metricas de uso por tenant (requests, latencia) |
| Payload Budget | core/middleware/payload_budget.py | Limita tamano de request/response body por plan |
Domain Events
Sistema de eventos de dominio en core/events.py — permite desacoplar acciones entre modulos:
- Publicar eventos (
event_bus.publish("device.created", payload)) - Suscribir handlers (
@event_bus.subscribe("device.created")) - Usado internamente por monitoring, CNS e ITSM
Management commands del workspace
| Comando | Proposito |
|---|---|
python manage.py perf_review | Genera informe de rendimiento con datos reales del sistema |
python manage.py finops_report | Genera informe de costes mensuales (Hetzner, APIs, etc.) |
Los informes se visualizan en workspace.crearack.com/reports con toggle de tono Coloquial/Tecnico.
Cuándo usar claude.ai web (solo paneles propios)
https://claude.ai web NO es flujo del equipo para programar ni consultar el proyecto — todo eso pasa por Claude Code (CLI). La única razón para abrir claude.ai web es gestionar paneles propios de tu cuenta Anthropic:
claude.ai/code/routines→ routines scheduled (p.ej. Mantenimiento Semanal).claude.ai/settings/connectors→ NO añadir el connector del workspace aquí. El bootstrap (ver [[workspace—onboarding—setup-equipo-nuevo]]) ya registró el MCP via.mcp.jsonlocal con los 3 headers correctos (Bearer + CF-Access-Client-Id + CF-Access-Client-Secret). El connector web usa OAuth y no soporta headers custom — rompería el MCP.claude.ai/settings→ ajustes de cuenta personal (perfil, billing).
Para el trabajo del día a día (código, wiki, consultas al grafo, etc.) siempre Claude Code CLI.
Mantener el workspace local actualizado:
cd C:\dev\CreaRackSL-workspace
git pull --rebase origin main
Referencia rápida
| Comando | Propósito |
|---|---|
docker compose up -d | Arrancar servicios |
docker compose down | Parar servicios |
docker compose restart web | Reiniciar tras cambios |
docker compose logs -f web | Ver logs |
docker compose exec web python manage.py shell | Shell Django |
docker compose exec web python manage.py makemigrations | Crear migraciones |
docker compose exec web python manage.py migrate | Aplicar migraciones |
docker compose exec web python -m pytest tests/api/ -v | Tests |
git pull --rebase origin main | Actualizar código |
claude | Iniciar Claude Code CLI |
| URL | Propósito |
|---|---|
| http://localhost:8000 | App principal |
| http://localhost:8000/admin | Admin Django |
| http://localhost:8000/api/docs | Documentación API |
| http://localhost:8000/health | Health check |
| http://localhost:8000/metrics | Métricas Prometheus |
Problemas frecuentes
Los problemas de instalación (Docker no arranca, WSL2, puerto 8000 ocupado, etc.) están en la guía única [[workspace—onboarding—setup-equipo-nuevo]] § Problemas frecuentes.
git push pide contraseña cada vez
→ Configurar credenciales: git config --global credential.helper manager
Claude Code no encuentra el proyecto
→ Verificar que estás en C:\dev\CreaRack-Pro antes de ejecutar claude
Cualquier duda, pregunta a Edu directamente o abre una sesión de Claude con el perfil DEV.
Cambios recientes (mayo 2026 · sesiones 67-82)
Resumen ejecutivo de las novedades que afectan al flujo diario. (Lo posterior a mayo está en “Qué cambió mientras estabas fuera”, arriba.)
Razón social: Esferic Labs SL (s64, 14-05-2026)
CreaRack pasa a ser marca comercial. La razón social legal es Esferic Labs SL (mismo CIF, sin disolución). Implicaciones:
- Legal/facturación/contratos/banca → “Esferic Labs SL”.
- Interno técnico (GitHub, servers, paths
C:\dev\CreaRack-Pro, env vars, wikis, dominios) sigue con “CreaRack”/“CreaRackSL”. NO hacer sweeps masivos — el rename solo afecta a la capa legal/comercial.
Integración Zoho ↔ Workspace (s67-s68, 16-17 mayo)
El workspace integra Zoho Calendar + Mail per-user:
- Tasks D1 sigue siendo Single Source of Truth — KanbanMini intacto.
- Zoho = canales de acción explícita desde TaskModal:
+ Crear evento Calendar·+ Vincular email existente·+ Nuevo email. - Auto-eventos de ciclo de vida: crear/cerrar/reabrir/borrar tarea sincroniza eventos all-day en cada calendar implicado.
- Per-user OAuth: cuando entres en
/settings/integrations/zohote tocará autorizar tu propia cuenta Zoho personal deesfericlabs.com.
Runbook operativo: [[runbook—zoho-integration-end-to-end]]. ADR vigente: [[decision—20260517—integracion-zoho-calendar-mail-pivot]].
8 grupos de email Zoho (s69, 18-05-2026)
Emails granulares por función + acción. Routing de notificaciones externas (GitHub, CF, Hetzner, Anthropic, Resend…):
| Grupo | Función | Acceso |
|---|---|---|
infra@esfericlabs.com | Alertas servers/CF/Hetzner | Edu + tú (Dani) |
dev-platform@esfericlabs.com | GitHub/CF Pages | Edu + tú |
security@esfericlabs.com | Auditorías + CVEs | Edu + tú |
dev-billing@esfericlabs.com | Costes infra (Hetzner, Anthropic, Google AI) | Edu + tú |
factu@esfericlabs.com | Facturación a clientes | Solo Txell |
legal@esfericlabs.com | Contratos, RGPD | Solo Txell |
logworkspace@esfericlabs.com | Logs operativos del workspace | Edu |
logcrearack@esfericlabs.com | Logs operativos de CreaRack-Pro | Edu |
Tú recibes notificaciones de los 4 primeros — son los que te tocan como dev. Detalle coloquial: [[workspace—guias—emails-equipo]]. Arquitectura técnica de routing: [[crearack-tech—admin—email-routing-architecture]].
Oráculo de EL (s72-s73, 19 mayo)
Asistente conversacional integrado en la caja de búsqueda del header de workspace.crearack.com. Detección automática:
- Queries cortas → Fuse fuzzy local (búsqueda en menús/páginas).
- Preguntas naturales (“¿cómo está organizado el Bibliotecario?”, “¿qué hace el cron drift-check?”) → chat con Gemma 4 sobre el grafo Bibliotecario (corpus: 6 wikis + 49 docs
claude-method+ código TypeScript del workspace + código Python de CreaRack-Pro).
Chat multi-turno efímero (sin persistencia, cap 12 turnos servidor). Threshold relevance < 0.4 corta antes de llamar al modelo (responde “no tengo info suficiente”). Sources clicables — wikis abren internamente, claude-method va a GitHub web. Detalle: [[feature—workspace—oraculo-de-el]].
Migración GitHub User → Organization (s74, 19-20 mayo)
Los 3 repos ahora viven en la Organization CreaRackSL (antes en el User personal CreaRackSL).
Para ti (dfuentes-esfericlabs):
- Recibirás email “Invitation to join CreaRackSL” en
dfuentes@esfericlabs.com. - Acepta desde https://github.com/orgs/CreaRackSL/invitation (logueada con tu cuenta
dfuentes-esfericlabs). - Una vez aceptada, eres Owner del Org → mismo nivel de acceso que Edu y Txell. Igualdad de accesos del staff (Regla 24/15).
- Evita el selector multi-cuenta de GCM en tu primer push: fija tu usuario por defecto para github.com con
Así Git Credential Manager no te pregunta qué cuenta usar en cada push/pull.git config --global credential.https://github.com.username dfuentes-esfericlabs
URLs de los repos sin cambios (GitHub mantiene redirects desde el username antiguo). Branch protections en main activas: force-push y deletions blocked. CreaRack-Pro además exige status checks (Backend · Frontend · Docker · Security) antes de merge PR. Tú como Owner puedes saltarte push directo a main en emergencias (enforce_admins: false), pero el patrón normal es rama + PR + merge squash manual al verde (Regla 20).
Véase también
- [[workspace—onboarding—setup-equipo-nuevo]] — guía única de instalación desde cero
- [[workspace—onboarding—onboarding-edu]] — onboarding Edu
- [[workspace—onboarding—onboarding-txell]] — onboarding Txell
- [[workspace—perfiles—profile-dev]] — perfil dev
- [[workspace—guias—team-processes]] — procesos de equipo
- [[workspace—guias—workspace-user-guide]] — guía de usuario
- [[workspace-tech—tecnico—ai-workflow]] — AI workflow
- [[runbook—zoho-integration-end-to-end]] — runbook Zoho operativo
- [[workspace—guias—emails-equipo]] — guía emails coloquial
- [[feature—workspace—oraculo-de-el]] — Oráculo de EL
Referenciado desde
- AI Workflow — Infraestructura de Trabajo con Claude
- Arquitectura del Perfil Claude del Staff CreaRackSL
- Biblioteca Supercontexto · guía para todo el staff
- Design Toolkit · agente + 14 skills design-*
- Esquema Claude de CreaRackSL · Guía Maestra
- Onboarding Edu
- Onboarding Txell
- Perfil de sesión · Dani / Edu · DEV
- Procesos y Sistemas Automáticos — CreaRack Pro
- Setup de equipo nuevo desde cero
- Tailnet · setup y uso del staff (ARCHIVADO — Tailscale retirado)