Skip to content

Releases: dforce2055/dai

v0.5.0 — dai archive (gate de aprobación)

Choose a tag to compare

@dforce2055 dforce2055 released this 10 Jul 18:07
153a687

archive en el flujo (ADR-0011): cerrar el CÓMO del lado de las specs canónicas, atado a la aprobación de la PR.

Agregado

  • dai archive [<change>]: funde los delta specs del change en las specs canónicas (openspec/specs/) y lo archiva. Lo corre el aprobador de la PR, en la branch, al aprobar → el fold viaja en la PR (elude la base protegida). Detecta el change activo por su implements.yaml o le pasás el nombre; envuelve openspec archive --yes. Comando, no skill. Flag --skip-specs.

Cambiado

  • dai check y dai ls saltean openspec/changes/archive/: un change shippeado ya no genera ⚠️ de drift falso ni aparece en el listado.

Interno

  • 110 tests (+1).

Instalación: npm i -g @dforce2055/dai

What's Changed

Full Changelog: v0.4.0...v0.5.0

v0.4.0 — versionado y upgrade (dai sync + version-drift)

Choose a tag to compare

@dforce2055 dforce2055 released this 10 Jul 16:03
cf72349

Versionado y upgrade (ADR-0010): mantené tu repo al día con el CLI sin pisar nada. Las copias scaffoldeadas (skills, constitución, templates) son un caché derivable — ahora la máquina te avisa cuando quedaron atrás y las refresca sola.

Agregado

  • dai sync: refresca skills, constitución, templates y PR template a la versión del CLI — aditivo (conserva tu CLAUDE.md propio), sin tocar el .env ni OpenSpec. Detecta los asistentes del repo o acepta --for; --dry-run muestra qué cambiaría.
  • dai doctor · version-drift: avisa con color + ⬆️ cuando el scaffold del repo quedó atrás del CLI (minor → refresh opcional; major → migrar; repo más nuevo → actualizar el CLI).
  • dai version: chequeo liviano de versión + drift (dai --version fuera de un repo dai queda limpio).
  • lib/semver.mjs (cero dependencias).

Interno

  • Golden vectors de ac_hash: inmutables dentro de la línea major — blindan el contrato (ADR-0001).
  • 109 tests (+4 desde 0.3.1).

Diferido a un futuro major (ya diseñado): dai migrate + MIGRATION.md y estampar schema: en implements.yaml.

Instalación: npm i -g @dforce2055/dai

What's Changed

  • docs(onboarding): agregar enlaces para obtener token de Jira y ClickUp by @dforce2055 in #7
  • docs(onboarding): agregar enlaces para obtener token de Jira y ClickUp by @dforce2055 in #8
  • feat: versionado y upgrade — dai sync + doctor version-drift (ADR-0010) by @dforce2055 in #9
  • chore(release): v0.4.0 by @dforce2055 in #10

Full Changelog: v0.3.1...v0.4.0

v0.3.1 — UX de init/link-us + ejemplo de US

Choose a tag to compare

@dforce2055 dforce2055 released this 10 Jul 13:36
511e201

Pulido de la experiencia de dai init y dai link-us, y un ejemplo de US listo para probar.

Corregido

  • dai init · .env.example: refleja el --pm elegido — incluye el token del tracker, no el template genérico md.
  • dai init · --for con espacio: mensaje claro cuando --for claude, cursor hace que la shell parta la lista y cursor caiga como <repo>.
  • dai link-us · dai ac-hash: mensaje accionable cuando la US no tiene sección 'Criterios de aceptación'.

Agregado

  • templates/formato-us.md: ejemplo de US copy-paste para probar el flujo en 30s, con o sin tracker.

Instalación: npm i -g @dforce2055/dai

What's Changed

Full Changelog: v0.3.0...v0.3.1

v0.3.0 — init aditivo + onboarding

Choose a tag to compare

@dforce2055 dforce2055 released this 08 Jul 20:31
fb6fe01

dai init ahora es aditivo: no pisa la configuración de un repo funcional. Más robustez en el parser de .env y en doctor, y buenas prácticas agnósticas en la constitución.

Cambiado

  • dai init aditivo y no destructivo: .env/.env.example mergean solo las claves que faltan; CLAUDE.md/copilot-instructions.md reciben la constitución como bloque delimitado e idempotente (conserva la constitución previa del proyecto); el .gitignore se reconcilia (versiona .claude/skills/ y .claude/commands/, deja fuera solo settings.local.json).
  • Constitución: nuevas reglas agnósticas (verificar el comportamiento ≠ que compile, la IA confirma antes de construir, docs vivas) + sección "Buenas prácticas". Tono "tú" neutro.

Corregido

  • Parser de .env: un token con comentario inline al lado ya no rompe el header Authorization (error de ByteString).
  • dai doctor: ya no lista .DS_Store como skill.

Interno

  • 104 tests (+11). El sitio sale del paquete npm; nueva página de onboarding del dev (onboarding.html) en GitHub Pages.

Instalación: npm i -g @dforce2055/dai

v0.2.0 — Cursor + --for combinable

Choose a tag to compare

@dforce2055 dforce2055 released this 08 Jul 12:45
8e92d3e

Soporte para Cursor como asistente y un --for combinable. Incluye la primera
contribución de la comunidad
🎉 (@sermati).

Agregado

  • Adaptador de Cursor (ADR-0009, aporte de la
    comunidad): dai init / install / doctor soportan Cursor — generan
    .cursor/skills/*/SKILL.md y .cursor/rules/dai-constitution.mdc (regla always-on) desde
    la misma fuente skills/*/SKILL.md.
  • --for combinable: acepta subconjuntos de asistentes (--for claude,cursor,
    --for copilot), además de both (Claude+Copilot) y all (los tres). Nuevo
    parseAssistants() en args.mjs.

Cambiado

  • Default de dai init = all (Claude + Copilot + Cursor) — deja el repo listo para
    cualquier asistente.
  • El mensaje de "próximos pasos" de dai init apunta a la URL online de la guía
    PROBAR.md (antes una ruta local que el usuario instalado no encontraba).

Interno

  • 93 tests (+6 desde 0.1.1: skillToCursor, constitutionCursorRule, parseAssistants).

v0.1.1 — dai

Choose a tag to compare

@dforce2055 dforce2055 released this 06 Jul 20:37

Solo documentación y metadata — el CLI no cambia (mismo ac_hash, mismo protocolo).

Cambiado

  • homepage del paquete → el sitio de GitHub Pages (dforce2055.github.io/dai).
  • Badge de npm activado en el README (tras el primer publish).
  • Conteo de tests corregido en RELEASING.md (48 → 87).

v0.1.0 — dai

Choose a tag to compare

@dforce2055 dforce2055 released this 06 Jul 20:12

Primera versión: metodología completa + CLI de trazabilidad, probado end-to-end contra
ClickUp y Jira Cloud.

Metodología

  • Manifiesto (constitución: 4 valores + 15 artículos), METODOLOGIA (protocolo invariante
    • dial de niveles N1/N2/N3), SCRUM-CON-IA (los 10 pasos, con detalle/), EJEMPLO
      end-to-end, glosario, guías por rol (PO/dev/lead), landing autocontenido (index.html).
  • 7 ADRs: ac_hash, agnóstico del asistente, detección/estampado como comandos,
    ubicación+schema del implements.yaml, superficie de comandos, distribución+licencia,
    modelo de autenticación.

Templates y governance

  • formato-us, epica, definition-of-ready, definition-of-done, adr,
    pull-request, hook commit-msg; branch-naming, ci-rules, commit-convention.

Skills (para Claude y Copilot, generadas por dai init)

  • El QUÉ: doc-to-backlog (un doc → backlog candidato), grill-intent (Gate 0),
    grill-epic (épicas), grill-user-story (la US — detecta el tracker del .env y publica).
  • El CÓMO: link-us, tdd, dai-review.

CLI (dai, Node, cero dependencias)

  • Definir el QUÉ: publish (crea la US en el tracker desde un .md).
  • Trazabilidad: link-us (+ --resync), check, stamp, ls, ac-hash.
  • PR y cierre: pr (crea la PR precargada), forge (comentar/leer PR en GitHub/GitLab),
    done (cierra la US: vuelve a la base, actualiza y borra la branch).
  • Setup: init (scaffolder interactivo: asistente + tracker + OpenSpec), install,
    docs, doctor.
  • Adaptador de tracker: md, jira (ADF, Jira Cloud), clickup. Auth por SSH (git) +
    token scopeado (forge/tracker), nunca contraseñas.
  • 87 tests (node --test), cero dependencias de runtime.

Distribución y comunidad

  • Licencia GPLv3. Publicable en npm (scopeado); install.sh como shim de git-clone.
  • SECURITY.md, CODE_OF_CONDUCT.md, CONTRIBUTING.md, .editorconfig, .nvmrc,
    .gitattributes, templates de PR/issue, CI de GitHub Actions (Node 18/20/22).
  • Tests de las rutas de red (jira/clickup/forge) con fetch mockeado. Sin links rotos;
    files de npm sin tests ni secretos.