Skip to content

Agentic coding framework, including skills, workflow and more

License

Notifications You must be signed in to change notification settings

B4san/AC-framework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

12 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

AC-Framework πŸš€

πŸ€– Agentic Coding Framework
Framework basado en OpenSpec con sistema de Skills mejorado y Skill Routing inteligente para IA


πŸ“– ΒΏQuΓ© es AC-Framework?

AC-Framework (Agentic Coding Framework) es un framework de desarrollo avanzado basado en OpenSpec que implementa la metodologΓ­a Spec-Driven Development con mejoras significativas para el contexto y enrutamiento de IA.

🎯 Filosofía OpenSpec

AC-Framework adopta y potencia los principios fundamentales de OpenSpec:

  • πŸ“‹ Todo cambio es un artefacto - Cada modificaciΓ³n se documenta antes de implementarse
  • πŸ”„ Desarrollo basado en especificaciones - El "quΓ©" (specs), "cΓ³mo" (design) y "por quΓ©" (proposal) estΓ‘n separados
  • βœ… Trazabilidad total - Historial completo de decisiones y cambios
  • 🎯 Contexto preservado - La IA siempre tiene el contexto correcto para cada tarea

πŸš€ CaracterΓ­sticas Principales

🎭 10 Skills Especializadas

Cada skill estΓ‘ diseΓ±ada para un propΓ³sito especΓ­fico del ciclo de desarrollo:

Comando Skill DescripciΓ³n
/opsx:onboard Onboarding Tutorial guiado para nuevos usuarios
/opsx:new New Change Crear cambio completo con proposal, specs, design y tasks
/opsx:continue Continue Change Retomar un cambio existente
/opsx:ff Fast Forward Crear todos los artefactos rΓ‘pidamente
/opsx:apply Apply Change Implementar tareas del cambio actual
/opsx:verify Verify Change Verificar completitud y calidad
/opsx:archive Archive Change Archivar cambio completado
/opsx:bulk-archive Bulk Archive Archivar mΓΊltiples cambios
/opsx:sync Sync Specs Sincronizar specs delta a principales
/opsx:explore Explore Modo exploraciΓ³n (pensar antes de actuar)

🧠 Sistema de Skill Routing

El Skill Routing es una innovaciΓ³n clave de AC-Framework que proporciona:

  • 🎯 Contexto Contextualizado: Cada skill recibe solo el contexto relevante para su funciΓ³n
  • πŸ”„ Enrutamiento AutomΓ‘tico: La IA sabe quΓ© skill usar segΓΊn el estado del proyecto
  • πŸ“Š PreservaciΓ³n de Estado: El contexto se mantiene coherente entre skills
  • ⚑ OptimizaciΓ³n: Menor consumo de tokens al enviar solo contexto necesario

🌐 Multi-Asistente Sincronizado

23+ Asistentes de IA soportados con el mismo conjunto de skills:

IDEs y Editores

  • πŸ“ Cursor - IDE con IA integrada
  • 🌊 Windsurf - Editor AI-first
  • 🎯 Trae - IDE con asistente IA
  • πŸ’Ž Gemini - Google AI Studio

Herramientas CLI

  • 🎩 Claude Code - CLI de Anthropic
  • πŸ€– Codex - OpenAI Codex CLI
  • πŸ‘€ CodeBuddy - Asistente CLI

Extensiones VS Code

  • πŸ”Œ Continue.dev - ExtensiΓ³n de cΓ³digo abierto
  • πŸ¦… Cline - Asistente de codificaciΓ³n
  • 🦘 Roo Code - Fork de Cline
  • πŸ™ GitHub Copilot - Asistente de GitHub

Cloud y Otros

  • ☁️ Amazon Q - AWS AI Assistant
  • πŸ‰ Qwen - Alibaba Cloud
  • ⚑ Augment - Augment Code
  • πŸ”§ OpenCode - Framework de cΓ³digo abierto
  • Y 13 asistentes mΓ‘s...

πŸ“¦ InstalaciΓ³n

InstalaciΓ³n Global

# Instalar el CLI de AC-Framework
npm install -g ac-framework

# Inicializar en tu proyecto
acfm init

InstalaciΓ³n Local

# Instalar como dependencia de desarrollo
npm install --save-dev ac-framework

# Ejecutar el inicializador
npx acfm init

Uso del CLI

acfm [opciones] [comando]

Comandos:
  init [options]  Inicializar AC-Framework en el proyecto
  help [command]  Mostrar ayuda de un comando

Opciones:
  -V, --version   Mostrar versiΓ³n
  -h, --help      Mostrar ayuda

πŸ—οΈ Estructura de Proyecto OpenSpec

Cuando inicializas AC-Framework, se crea la siguiente estructura:

openspec/
β”œβ”€β”€ config.yaml                    # ConfiguraciΓ³n global
β”œβ”€β”€ changes/                       # Cambios activos
β”‚   β”œβ”€β”€ {nombre-cambio}/
β”‚   β”‚   β”œβ”€β”€ proposal.md           # πŸ“ Por QUΓ‰ hacer el cambio
β”‚   β”‚   β”œβ”€β”€ design.md             # 🎨 CΓ“MO se implementarΓ‘
β”‚   β”‚   β”œβ”€β”€ tasks.md              # βœ… Lista de tareas
β”‚   β”‚   └── specs/
β”‚   β”‚       └── {capability}/
β”‚   β”‚           └── spec.md       # πŸ“‹ QUΓ‰ cambia
β”‚   └── archive/                   # πŸ“¦ Cambios completados
β”‚       └── YYYY-MM-DD-{nombre}/
└── specs/                         # Especificaciones principales
    └── {capability}/
        └── spec.md

Artefactos de un Cambio

Cada cambio OpenSpec incluye 4 artefactos fundamentales:

  1. πŸ“„ proposal.md - JustificaciΓ³n y contexto del cambio
  2. 🎨 design.md - Arquitectura y enfoque de implementación
  3. βœ… tasks.md - Checklist de tareas ejecutables
  4. πŸ“‹ specs/ - Especificaciones tΓ©cnicas detalladas

πŸ”„ Flujo de Trabajo

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    🧭 EXPLORAR (/opsx:explore)              β”‚
β”‚           Investigar, entender, planificar                  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                              β”‚
                              β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚              πŸ†• NUEVO (/opsx:new) o (/opsx:ff)              β”‚
β”‚  β€’ proposal.md    ← JustificaciΓ³n                          β”‚
β”‚  β€’ specs/         ← Requisitos                             β”‚
β”‚  β€’ design.md      ← Arquitectura                           β”‚
β”‚  β€’ tasks.md       ← Plan de trabajo                        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                              β”‚
                              β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                   πŸ”¨ APLICAR (/opsx:apply)                  β”‚
β”‚           Implementar y marcar tareas completadas           β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                              β”‚
                              β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                  βœ”οΈ VERIFICAR (/opsx:verify)                β”‚
β”‚          Revisar calidad y completitud                      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                              β”‚
                              β–Ό (opcional)
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                   πŸ”„ SINCRONIZAR (/opsx:sync)               β”‚
β”‚          Actualizar documentaciΓ³n principal                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                              β”‚
                              β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                  πŸ“¦ ARCHIVAR (/opsx:archive)                β”‚
β”‚         Mover a archivo con fecha                           β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ› οΈ Uso RΓ‘pido

1. Inicializar Proyecto

acfm init

Selecciona los asistentes que usarΓ‘s (puedes elegir mΓΊltiples):

? ΒΏQuΓ© mΓ³dulos deseas instalar? (Selecciona con espacio)
 ❯◉ Cursor IDE
  β—― Claude Code
  β—― Continue.dev
  β—‰ GitHub Copilot
  β—― ...

2. Crear un Cambio

/opsx:new feature-user-authentication

Esto crea:

  • openspec/changes/feature-user-authentication/proposal.md
  • openspec/changes/feature-user-authentication/design.md
  • openspec/changes/feature-user-authentication/tasks.md
  • openspec/changes/feature-user-authentication/specs/auth/spec.md

3. Implementar

/opsx:apply

La IA implementarΓ‘ las tareas del archivo tasks.md, marcΓ‘ndolas como completadas.

4. Verificar y Archivar

/opsx:verify
/opsx:archive

# Las skills estΓ‘n en:
framework/.{asistente}/skills/openspec-{nombre}/SKILL.md

# Ejemplo:
framework/.cursor/skills/openspec-new-change/SKILL.md
framework/.claude/skills/openspec-new-change/SKILL.md
framework/.opencode/skills/openspec-new-change/SKILL.md

πŸ“ Licencia

MIT Β© AC-Framework Team


πŸš€ Desarrollo asistido por IA, estandarizado y potenciado
Trabaja con cualquier asistente, mantΓ©n el mismo flujo de trabajo

About

Agentic coding framework, including skills, workflow and more

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published