Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 42 additions & 0 deletions .claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
{
"name": "sp-devsteps",
"version": "1.0.0",
"description": "Orquesta proyectos con devSteps mediante CLI, skills de Claude Code y el MCP local de DevControl.",
"author": {
"name": "SolucionesPro"
},
"license": "MIT",
"keywords": [
"devsteps",
"lifecycle",
"pipeline",
"scaffolding",
"mcp",
"devcontrol"
],
"skills": "./.claude/skills",
"mcpServers": {
"devcontrol": {
"type": "sse",
"url": "http://localhost:7893/mcp"
}
},
"interface": {
"displayName": "SP-devSteps",
"shortDescription": "Pipeline, scaffolding y validacion DS-v1 para proyectos asistidos por agentes.",
"longDescription": "Guia el ciclo de vida de un proyecto con devSteps, genera contexto para agentes y usa DevControl como MCP de gobernanza cuando esta disponible.",
"developerName": "SolucionesPro",
"category": "Productivity",
"capabilities": [
"Read",
"Analysis",
"Project Management"
],
"defaultPrompt": [
"Revisa el estado del pipeline devSteps.",
"Guia el siguiente paso del proyecto.",
"Valida el proyecto con DS-v1."
],
"brandColor": "#2563EB"
}
}
73 changes: 73 additions & 0 deletions .claude/skills/orchestrate-lifecycle/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
---
name: orchestrate-lifecycle
description: Guiar proyectos con devSteps usando el CLI, el pipeline, scaffolding, validaciones DS-v1 y el MCP de DevControl cuando este disponible.
---

# Orquestar ciclo de vida con devSteps

Usar esta skill cuando el usuario pida iniciar, guiar, validar, revisar o avanzar un proyecto con devSteps.

devSteps es el orquestador del pipeline. DevControl es la capa MCP de gobernanza declarada en `.mcp.json` como servidor `devcontrol`.

## Flujo base

1. Leer `devsteps.yaml`, `AGENTS.md` o `CLAUDE.md` si existen.
2. Ejecutar `devsteps status` para ubicar el paso actual antes de modificar archivos.
3. Si el proyecto no tiene `devsteps.yaml`, proponer o ejecutar scaffolding con `devsteps scaffold`.
4. Antes de implementar, identificar el paso del pipeline, criterios de entrada, criterios de salida y artefactos esperados.
5. Usar el CLI para operaciones de ciclo de vida:
- `devsteps guide` para guiar al usuario paso a paso.
- `devsteps run` para ejecutar el pipeline.
- `devsteps validate` para validar DS-v1.
- `devsteps step:complete <id>` para marcar pasos terminados cuando el usuario apruebe.
- `devsteps inject` para regenerar instrucciones de agentes cuando cambie el pipeline.
6. Usar el MCP `devcontrol` si esta conectado para gobierno, politicas, sesiones, aprobaciones o chequeos complementarios.
7. Si el MCP no esta disponible, continuar con el CLI de devSteps y documentar la limitacion.
8. No saltar aprobaciones humanas declaradas en el pipeline.
9. No fabricar artefactos de salida: crear solo los archivos exigidos por el paso activo o por la solicitud explicita.
10. Cerrar el trabajo con `devsteps validate` cuando el cambio toque documentacion, configuracion, fuente o tests.

## Scaffolding

Para crear una base nueva:

```bash
devsteps scaffold --name "Mi Proyecto" --type web-app --stack typescript,node --force
devsteps inject
devsteps validate
```

Despues de scaffolding, revisar los archivos generados antes de modificar el codigo:

- `devsteps.yaml`
- `README.md`
- `docs/requirements.md`
- `docs/architecture.md`
- `AGENTS.md`
- `CLAUDE.md`

## MCP

El MCP declarado por devSteps es:

```json
{
"mcpServers": {
"devcontrol": {
"type": "sse",
"url": "http://localhost:7893/mcp"
}
}
}
```

Antes de depender de herramientas MCP, verificar que el servidor local de DevControl este iniciado y accesible. Si no lo esta, pedir al usuario que lo inicie o trabajar solo con el CLI.

## Cierre esperado

Al finalizar una tarea:

1. Resumir el paso de pipeline trabajado.
2. Listar archivos modificados.
3. Reportar validaciones ejecutadas.
4. Indicar si queda pendiente aprobacion humana del pipeline.
8 changes: 8 additions & 0 deletions .codex/config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# devSteps orquesta el ciclo de vida del proyecto; la gobernanza (gates/aprobaciones)
# la aplica DevControl vía su MCP. El CLI de devSteps (sp-devsteps) se usa directamente.
[mcp_servers.devcontrol]
command = "sp-devcontrol"
args = ["mcp"]

[mcp_servers.devcontrol.env]
DEVCONTROL_PROJECT_ROOT = "${CLAUDE_PROJECT_DIR:-.}"
147 changes: 147 additions & 0 deletions INSTALL_DEVSTEPS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
# Instalacion multi-editor de devSteps

`SP-devSteps` es un modulo CLI-first. La integracion universal se hace mediante el MCP local declarado en `.mcp.json`; no existe una API HTTP publica propia de devSteps ni un OpenAPI para ChatGPT web.

## Prerrequisitos

- Node.js 20 o superior.
- `sp-devsteps` instalado o este repositorio construido localmente.
- Para MCP: servidor local de DevControl disponible en `http://localhost:7893/mcp`.

Instalacion del CLI:

```bash
npm install -g sp-devsteps
devsteps --help
```

Uso desde este repositorio:

```bash
npm install
npm run build
npm link
devsteps --help
```

## Claude Code

Claude Code puede usar dos superficies:

- Skill: `.claude/skills/orchestrate-lifecycle/SKILL.md`.
- Plugin: `.claude-plugin/plugin.json`.

El plugin declara el MCP:

```json
{
"mcpServers": {
"devcontrol": {
"type": "sse",
"url": "http://localhost:7893/mcp"
}
}
}
```

Flujo recomendado dentro del proyecto:

```bash
devsteps inject
devsteps status
devsteps validate
```

Prompt inicial:

```text
Usa la skill orchestrate-lifecycle. Lee CLAUDE.md y devsteps.yaml, revisa el estado del pipeline y dime el siguiente paso antes de modificar archivos.
```

## Codex

Codex ya puede leer `AGENTS.md`. La configuracion esperada para `.codex/config.toml` es:

```toml
[mcp_servers.devcontrol]
url = "http://localhost:7893/mcp"
```

Alternativa manual equivalente:

```bash
codex mcp add devcontrol --url http://localhost:7893/mcp
```

Prompt inicial:

```text
Lee AGENTS.md y devsteps.yaml. Usa devSteps para guiar el pipeline, valida con devsteps validate y usa el MCP devcontrol si esta conectado.
```

## OpenCode

OpenCode usa `opencode.json`, ya incluido:

```json
{
"mcp": {
"devcontrol": {
"type": "remote",
"url": "http://localhost:7893/mcp",
"enabled": true
}
}
}
```

Uso recomendado:

```bash
opencode .
```

Prompt inicial:

```text
Lee AGENTS.md y devsteps.yaml. Revisa el estado del pipeline y recomienda el siguiente paso.
```

## ChatGPT

devSteps es CLI-only. Para ChatGPT, la via soportada es ChatGPT Desktop con connector MCP apuntando al servidor local:

- Nombre: `devcontrol`
- Tipo: SSE o remote MCP, segun el cliente
- URL: `http://localhost:7893/mcp`

ChatGPT web con GPT Actions no aplica para devSteps porque no hay API HTTP propia que describir. No se provee `chatgpt/openapi.yaml`.

## CLI directo

Comandos principales:

```bash
devsteps scaffold --name "Mi Proyecto" --type web-app --stack typescript,node --force
devsteps guide
devsteps run
devsteps status
devsteps validate
devsteps inject
devsteps step:complete <id>
```

## Verificacion

Antes de entregar cambios de integracion:

```bash
node -e "JSON.parse(require('fs').readFileSync('.mcp.json','utf8')); JSON.parse(require('fs').readFileSync('.claude-plugin/plugin.json','utf8')); console.log('json ok')"
python3 - <<'PY'
import tomllib
tomllib.loads('[mcp_servers.devcontrol]\nurl = "http://localhost:7893/mcp"\n')
print('toml ok')
PY
test -f .mcp.json
devsteps validate
```
4 changes: 4 additions & 0 deletions extension/.vscodeignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
node_modules/
*.vsix
npm-debug.log

38 changes: 38 additions & 0 deletions extension/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# SP-devSteps Editor Extension

Extensión VSIX para usar `devsteps` desde una pestaña dentro de VS Code, Cursor o Windsurf.

## Prerrequisitos

- Node.js 20 o superior.
- `devsteps` instalado globalmente, o este repositorio construido con `npm run build`.
- Para MCP, DevControl escuchando en `http://localhost:7893/mcp`.

## Empaquetar

```bash
cd extension
npm install
npx @vscode/vsce package
```

El comando genera un `.vsix` instalable con:

```bash
code --install-extension sp-devsteps-editor-1.0.0.vsix
```

Cursor y Windsurf aceptan el mismo paquete VSIX desde su instalador de extensiones compatible con VS Code.

## Panel

El contenedor `devSteps` aparece en la Activity Bar y expone comandos para:

- `devsteps status`
- `devsteps validate`
- `devsteps inject`
- `devsteps run`
- registrar `.mcp.json` con el MCP local de DevControl usado por devSteps.

La extensión no reimplementa la lógica del módulo; invoca el CLI y conserva MCP como integración universal.

Loading
Loading