44 lines
3.1 KiB
Markdown
44 lines
3.1 KiB
Markdown
<!-- BEGIN:nextjs-agent-rules -->
|
|
|
|
## This is NOT the Next.js you know
|
|
|
|
This version has breaking changes — APIs, conventions, and file structure may all differ from your training data. Read the relevant guide in `node_modules/next/dist/docs/` (resolved from this file's directory; in monorepos the `next` package may not be visible from the repo root) before writing any code. Heed deprecation notices.
|
|
|
|
This block is written and re-added by `next dev` — verify at `node_modules/next/dist/server/lib/generate-agent-files.js`. Removing it from a diff only re-creates the uncommitted change; committing it with your work keeps the tree clean.
|
|
|
|
<!-- END:nextjs-agent-rules -->
|
|
|
|
## MCPs
|
|
|
|
- Playwright Scheenshots y cualquier cosa relacionada a Playwright tiene que estar en la carpeta .playwright-mcp.
|
|
- Context7 Usaremos este MCP para traer la documentación actualizada del framework.
|
|
|
|
## Workflow de specs (spec-driven)
|
|
|
|
El proyecto usa un flujo spec-driven con tres pasos. Cada spec vive en `specs/NN-slug.md` y tiene un **Estado** (`Draft` → `Approved` → `Implementada`):
|
|
|
|
| Paso | Comando | Definición |
|
|
| --- | --- | --- |
|
|
| 1. Diseñar | `/spec <descripción>` | Skill en `.agents/skills/spec/` — redacta el spec en `specs/NN-slug.md` (estado `Draft`) |
|
|
| 2. Implementar | `/spec-impl <NN-slug>` | Skill en `.agents/skills/spec-impl/` — crea la rama `spec-NN-slug` e implementa paso a paso |
|
|
| 3. Verificar | `/spec-verify <NN-slug>` | Comando en `.opencode/commands/spec-verify.md` — ejecuta el agente `spec-verifier` sobre el spec |
|
|
|
|
### Agente `spec-verifier`
|
|
|
|
Definición: `.opencode/agents/spec-verifier.md` (a nivel de proyecto, no global).
|
|
|
|
- **Modelo:** `zai-coding-plan/glm-5.3-flash` (soporta visión, necesario para comparar screenshots). **Modo:** `all` (agente principal o subagente).
|
|
- **Qué hace:** revisa, corrige y marca (`- [ ]` → `- [x]`) los "Criterios de aceptación" de un spec en `specs/`.
|
|
- **Criterios de Next.js/código** → Context7 (docs actualizadas de Next.js) + guías locales en `node_modules/next/dist/docs/`.
|
|
- **Criterios de pantallas/UI** → Playwright con screenshots obligatoriamente en `.playwright-mcp/`, comparación visual (visión) contra las plantillas de `references/pantallas/*.html` a ancho ≥1280px.
|
|
- **Criterios de build/runtime** → `npm run dev` / `npm run build` con salida limpia.
|
|
- **Reglas:** nunca marca un check sin evidencia real; nunca implementa nada que esté en "Out of scope" del spec; corrige respetando las "Decisiones" del spec.
|
|
- **Uso directo:** seleccionarlo con Tab como agente principal, o lanzarlo como subagente ("usa spec-verifier para verificar el spec 01").
|
|
|
|
### Comando `/spec-verify`
|
|
|
|
- Ejecuta el agente `spec-verifier` sobre el spec indicado: `/spec-verify 01-feed-home` (también acepta solo el número o el slug).
|
|
- Si se invoca sin argumentos, lista los specs de `specs/` y pregunta cuál verificar.
|
|
- Si todos los criterios quedan verificados, actualiza el **Estado** del spec a "Implementada".
|
|
- Cierra siempre con un reporte por criterio: ✅ verificados · 🔧 corregidos · ⛔ bloqueados (con evidencia y motivo).
|