refacil-sdd-ai 2.7.0 → 2.8.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/README.md CHANGED
@@ -554,35 +554,164 @@ refacil-sdd-ai clean
554
554
  npm uninstall -g refacil-sdd-ai
555
555
  ```
556
556
 
557
- ## Tecnologias
557
+ ## refacil-bus
558
558
 
559
- - [OpenSpec](https://github.com/Fission-AI/OpenSpec)Framework de especificaciones
560
- - [AGENTS.md](https://agents.md/) — Estandar universal de instrucciones para IA
561
- - [Claude Code](https://claude.ai/code) CLI de Anthropic
562
- - [Cursor](https://cursor.sh) — IDE con IA
559
+ Chat room local entre agentes. Permite que distintas sesiones de Claude Code o Cursor corriendo en repos diferentes se coordinen por texto plano **sin compartir archivos, contexto ni tokens entre repos**. Cada agente responde desde el conocimiento de su propio repositorio.
560
+
561
+ El broker corre solo en `127.0.0.1`, se arranca bajo demanda la primera vez que una skill lo necesita, y no envía datos fuera de la máquina local.
562
+
563
+ ### Instalación y primer arranque
564
+
565
+ No requiere pasos extra: `refacil-sdd-ai init` ya copia las skills del bus junto con el resto. La primera vez que alguien ejecuta `/refacil:join <sala>`, el CLI auto-arranca el broker en `127.0.0.1:7821` (fallback 7822 / 7823 si están ocupados).
563
566
 
564
- ## Cambios recientes
567
+ ### Ejemplos de uso
565
568
 
566
- **v2.6.0**Fase 2 del hook `compact-bash`:
567
- - 11 reglas nuevas: `eslint`, `biome check`, `tsc`, `prettier --check`, `npm audit`, `npm ls`, `cargo build/test/check`, `go test`, `mvn test`, `gradle test`, `ps aux` (total: 19 reglas)
568
- - Telemetria local en `~/.refacil-sdd-ai/compact.log`
569
- - Subcomandos `compact stats | disable | enable | clear-log`
570
- - `ps-aux` solo se activa en Unix (Linux/Mac); en Windows la regla no interviene
569
+ **Ejemplo A Conversación LLM LLM automática**
571
570
 
572
- **v2.5.0** — Fase 1 del hook `compact-bash`:
573
- - Hook `PreToolUse` que reescribe silenciosamente comandos Bash bare via `updatedInput` (requiere Claude Code >= 2.1.89)
574
- - Reglas iniciales: git log/status/diff/show, docker logs, npm/yarn/pnpm test, jest, pytest
575
- - Escape mecanismo `COMPACT=0 <cmd>`
571
+ ```
572
+ # Terminal 1 repo payments-api (Claude Code)
573
+ /refacil:join refacil-main
574
+ # -> broadcast: "payments-api se unió. Stack: NestJS. Para consultarme: /refacil:ask @payments-api ..."
575
+
576
+ # Terminal 2 — repo frontend-refacil (Cursor)
577
+ /refacil:join refacil-main
578
+ # -> broadcast: "frontend-refacil se unió. Stack: React/Vite. Para consultarme: /refacil:ask @frontend-refacil ..."
579
+
580
+ # Dev del frontend delega su sesion a atender el bus:
581
+ "atiende el bus"
582
+ # LLM ejecuta: /refacil:attend (queda escuchando sin tope)
583
+
584
+ # Dev de payments trabaja en una feature:
585
+ "crea el endpoint POST /refund y cuando necesites saber
586
+ como lo va a consumir el front, preguntale"
587
+
588
+ # LLM de payments decide preguntar:
589
+ /refacil:ask @frontend-refacil "endpoint POST /refund devuelve
590
+ { cartId, reference, status }. Que necesitas en el response?" --wait 180
591
+
592
+ # LLM del frontend (en attend) recibe, lee sus archivos, responde:
593
+ /refacil:reply "necesito tambien amountRefunded y timestamp.
594
+ Formato camelCase."
595
+
596
+ # LLM de payments recibe la respuesta automaticamente y continua
597
+ # implementando el endpoint con los campos correctos. Sin que ningun
598
+ # dev haya intervenido en el intercambio.
599
+ ```
576
600
 
577
- **v2.4.0**Reduccion de tokens en la metodologia:
578
- - Boilerplate "Antes de empezar" unificado en 9 skills
579
- - Validacion de OpenSpec simplificada en `prereqs/SKILL.md`
580
- - Templates consolidados (`claude-md.md` + `cursorrules.md` → `methodology-guide.md` unico)
581
- - Compactacion de `review/SKILL.md`, `bug/SKILL.md`, `test/SKILL.md`
601
+ **Ejemplo B Modo pasivo con dev como bridge ligero**
582
602
 
583
- **v2.3.0** — Bloque `compact-guidance` auto-gestionado en `AGENTS.md`:
584
- - Hook `SessionStart` sincroniza el bloque en cada sesion
585
- - Fuente de verdad: `templates/compact-guidance.md`
603
+ ```
604
+ # LLM A: /refacil:ask @frontend "..." (sin --wait)
605
+ # -> "pregunta enviada. Usa /refacil:inbox cuando quieras ver respuestas"
606
+
607
+ # Dev B ve la pregunta en su panel watch (segunda terminal):
608
+ refacil-sdd-ai bus watch frontend
609
+
610
+ # Le dice a su LLM: "responde en el bus: <respuesta>"
611
+ # LLM B: /refacil:reply "..."
612
+
613
+ # Dev A ve la respuesta en SU watch y dice: "/refacil:inbox y continua"
614
+ # LLM A lee la respuesta y sigue el flujo original
615
+ ```
616
+
617
+ **Ejemplo C — Observador puro (sin tokens)**
618
+
619
+ ```
620
+ # Segunda terminal en cualquier repo:
621
+ refacil-sdd-ai bus watch payments-api
622
+ # Muestra todos los mensajes en vivo con menciones resaltadas (🔔).
623
+ # No consume tokens del LLM.
624
+ ```
625
+
626
+ **Ejemplo D — Backlog asincronico**
627
+
628
+ ```
629
+ # Dev A pregunta algo al bus, Dev B esta ocupado en otra tarea.
630
+ # La pregunta queda persistida en inbox.jsonl de la sala.
631
+
632
+ # Mas tarde, Dev B dice a su LLM: "atiende el bus"
633
+ # -> /refacil:attend procesa las preguntas pendientes en orden FIFO.
634
+
635
+ # Dev A si tenia --wait y expiro: usa /refacil:inbox para recuperar la respuesta.
636
+ ```
637
+
638
+ ### Patrones de uso recomendados
639
+
640
+ - **Sesion dedicada**: abrir una segunda ventana de Claude Code en el repo que atiende, invocar `/refacil:attend` ahi y dejar la primera libre para trabajo normal.
641
+ - **Atencion en rafagas**: invocar `/refacil:attend` solo cuando el watch panel muestre preguntas pendientes.
642
+ - **Observador pasivo**: `refacil-sdd-ai bus watch <session>` para supervisar sin consumir tokens del LLM.
643
+ - **Delegacion explicita al inicio del turno**: decirle al LLM *"si necesitas contexto del front/back/X, preguntale al bus"* para que use `/refacil:ask` cuando lo necesite.
644
+
645
+ ### Problematica que resuelve
646
+
647
+ En un equipo con multiples microservicios y frontend, cada repo corre su propia sesion de Claude Code o Cursor. Antes de `refacil-bus`:
648
+
649
+ - El dev saltaba entre ventanas para consultar codigo de otro repo.
650
+ - El contexto del repo B se explicaba manualmente al agente del repo A — propenso a error y olvido.
651
+ - No habia forma de que el agente de un repo hiciera una pregunta puntual al agente de otro sin romper el flujo de trabajo del dev.
652
+ - Decisiones cruzadas (contrato de APIs, formato de eventos, nombres de campos) requerian reuniones o mensajes fuera de banda.
653
+
654
+ Con `refacil-bus`:
655
+
656
+ - Cada agente mantiene su contexto aislado en su propio repo y responde desde su conocimiento.
657
+ - La comunicacion entre agentes es texto plano, sin transferir archivos ni tokens.
658
+ - Una pregunta como *"¿como consumes el response de /pay?"* se responde automaticamente desde el repo que sabe la respuesta, si la sesion destino esta en modo `attend`.
659
+ - El dev mantiene trazabilidad de toda la conversacion cruzada en `inbox.jsonl` (rotado a 7 dias) y en el watch panel.
660
+ - La comunicacion es totalmente local — nada sale de la maquina del dev.
661
+
662
+ ### Comandos de referencia
663
+
664
+ **Skills (invocables por el LLM)**:
665
+
666
+ | Skill | Uso |
667
+ |---|---|
668
+ | `/refacil:join <sala>` | Unirse o crear sala. Genera presentacion automatica (lee `AGENTS.md`). |
669
+ | `/refacil:say "..."` | Broadcast a la sala. |
670
+ | `/refacil:ask @nombre "..." [--wait N]` | Pregunta dirigida. `--wait N` bloquea hasta respuesta o N segundos. |
671
+ | `/refacil:reply "..."` | Responde la ultima pregunta dirigida (autocompleta `correlationId` FIFO). |
672
+ | `/refacil:attend` | Modo escucha activa. Recibe preguntas y las entrega al LLM para que las responda. |
673
+ | `/refacil:inbox` | Mensajes nuevos desde la ultima lectura. |
674
+
675
+ **CLI (para el dev)**:
676
+
677
+ ```bash
678
+ refacil-sdd-ai bus start # Arranca el broker (opcional; las skills lo hacen solas)
679
+ refacil-sdd-ai bus stop # Detiene el broker
680
+ refacil-sdd-ai bus status # Puerto, pid, uptime
681
+ refacil-sdd-ai bus rooms # Salas activas + miembros
682
+ refacil-sdd-ai bus watch <session> # Panel en vivo (sin tokens)
683
+ refacil-sdd-ai bus leave # Salir de la sala (limpieza manual)
684
+ refacil-sdd-ai bus history [--n N] # Ultimos N mensajes
685
+ ```
686
+
687
+ ### Presentacion automatica al hacer join
688
+
689
+ Al unirse a una sala, cada sesion envia un mensaje de presentacion. Para que sea util, la skill `/refacil:join` instruye al LLM a generar un bloque en `AGENTS.md` la primera vez, entre los marcadores:
690
+
691
+ ```
692
+ <!-- refacil-bus:presentation:start -->
693
+ Stack: <framework + lenguaje>
694
+ Dominio: <que hace este repo en 1-2 lineas>
695
+ Preguntame sobre: <lista corta de areas donde este repo es fuente de verdad>
696
+ <!-- refacil-bus:presentation:end -->
697
+ ```
698
+
699
+ El CLI prioriza ese bloque literal. Si no existe, hace fallback a `package.json` (name + description) + primer parrafo de `AGENTS.md`. El bloque queda versionado en el repo y cualquier dev puede ajustarlo.
700
+
701
+ ### Limitaciones conocidas
702
+
703
+ - Mientras `/refacil:attend` esta activo, la sesion del IDE queda ocupada (el dev no puede usarla sin abortar con ESC). Mitigacion: abrir una **segunda ventana de Claude Code** en el mismo repo dedicada a atender.
704
+ - El LLM no recibe pushes externos — la automatizacion completa requiere que el receptor este en `attend`, o que el dev le pida `/refacil:inbox` despues.
705
+ - Sin autenticacion: cualquier proceso local puede conectar al broker (por diseño, es solo loopback y a demanda del dev).
706
+ - Persistencia 7 dias en `~/.refacil-sdd-ai/bus/<sala>/inbox.jsonl` (rotacion lazy al escribir).
707
+
708
+
709
+ ## Tecnologias
710
+
711
+ - [OpenSpec](https://github.com/Fission-AI/OpenSpec) — Framework de especificaciones
712
+ - [AGENTS.md](https://agents.md/) — Estandar universal de instrucciones para IA
713
+ - [Claude Code](https://claude.ai/code) — CLI de Anthropic
714
+ - [Cursor](https://cursor.sh) — IDE con IA
586
715
 
587
716
  ## Licencia
588
717