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
12 changes: 12 additions & 0 deletions .claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"name": "sp-devcontrol",
"version": "2.1.0",
"description": "Gobernanza local para sesiones de código asistidas por IA: gates de autorización, aprobación de cambios, políticas de riesgo, compliance y rollback.",
"mcpServers": {
"devcontrol": {
"type": "sse",
"url": "http://localhost:7893/mcp"
}
},
"skills": "./.claude/skills"
}
35 changes: 35 additions & 0 deletions .claude/skills/govern-changes/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---
name: govern-changes
description: Gobernar cambios de código con DevControl: sesiones, aprobaciones, políticas de riesgo y compliance. Usar cuando el usuario pida revisar, aprobar o rechazar cambios, verificar políticas, o generar reportes de cumplimiento en un proyecto con DevControl inicializado.
---

# Gobernar cambios con DevControl

Usar las herramientas del MCP `devcontrol` para mantener un ciclo de desarrollo trazable y aprobado.

## Flujo estándar

1. Verificar el estado del proyecto con `devcontrol_status`.
2. Si no hay sesión activa, iniciar una con `devcontrol_session_start` indicando el objetivo.
3. Antes de cada cambio significativo, evaluar el riesgo con `devcontrol_policy_check` (path o command).
4. Registrar cada cambio pendiente en la sesión activa.
5. Aprobar o rechazar cambios con `devcontrol_approve_change` / `devcontrol_reject_change` según la revisión.
6. Generar reporte de cumplimiento con `devcontrol_compliance_report` al finalizar.

## Reglas

- Siempre pasar `projectRoot` explícitamente para evitar ambigüedad entre proyectos.
- Una sesión activa a la vez por proyecto.
- No aprobar cambios en paths protegidos sin justificación explícita.
- El reporte de compliance incluye sesiones, cambios, controles y riesgos acumulados.

## Referencia de herramientas MCP

| Tool | Descripción |
|------|-------------|
| `devcontrol_status` | Estado: preflight, sesión activa, cambios pendientes |
| `devcontrol_session_start` | Iniciar nueva sesión de gobernanza |
| `devcontrol_approve_change` | Aprobar un cambio pendiente por ID |
| `devcontrol_reject_change` | Rechazar un cambio pendiente por ID |
| `devcontrol_policy_check` | Evaluar riesgo de path o command contra políticas |
| `devcontrol_compliance_report` | Generar reporte completo de cumplimiento |
15 changes: 15 additions & 0 deletions .codex/AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Agentes Codex — DevControl

## Reglas de gobernanza

1. Antes de cualquier cambio de código, verificar el estado con `devcontrol_status`.
2. Evaluar el riesgo de cada operación con `devcontrol_policy_check` antes de ejecutarla.
3. Mantener una sesión de gobernanza activa durante todo el ciclo de trabajo.
4. Aprobar cambios solo después de revisión manual explícita.
5. No modificar paths protegidos sin aprobación previa.

## Flujo de trabajo

```
devcontrol_status → devcontrol_session_start → [trabajo] → devcontrol_policy_check → devcontrol_approve_change → devcontrol_compliance_report
```
6 changes: 6 additions & 0 deletions .codex/config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[mcp_servers.devcontrol]
command = "sp-devcontrol"
args = ["mcp"]

[mcp_servers.devcontrol.env]
DEVCONTROL_PROJECT_ROOT = "${CLAUDE_PROJECT_DIR:-.}"
149 changes: 149 additions & 0 deletions INSTALL_DEVCONTROL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
# Instalación de DevControl por editor

DevControl es una CLI con servidor MCP integrado. Las superficies de integración son: CLI, MCP server, plugin Claude, skill Codex, connector para ChatGPT Desktop y extensión VS Code-compatible para panel dentro del editor.

---

## 1. Claude Code (plugin)

```bash
# Opción A — desde el repositorio (desarrollo)
cp -r .claude-plugin ~/.claude/plugins/sp-devcontrol

# Opción B — instalar el MCP en .mcp.json (ya existe en el repo)
# El archivo .mcp.json configura el servidor MCP automáticamente.
```

El plugin registra el MCP server `devcontrol` y el skill `govern-changes` en `.claude/skills/govern-changes/SKILL.md`.

**Uso:** Dentro de Claude Code, el skill se carga automáticamente cuando el usuario pide tareas de gobernanza. Las herramientas MCP están disponibles sin configuración adicional.

---

## 2. Codex (OpenAI)

```bash
# Agregar el MCP server
codex mcp add devcontrol sp-devcontrol mcp

# O configurar manualmente en .codex/config.toml (ya incluido en el repo)
```

El archivo `.codex/config.toml` define el servidor MCP y `.codex/AGENTS.md` establece las reglas de gobernanza para agentes Codex.

**Uso:** Codex conecta automáticamente al MCP y expone las herramientas de gobernanza.

---

## 3. opencode

El archivo `opencode.json` en la raíz del proyecto configura DevControl como herramienta MCP. opencode lo detecta automáticamente al abrir el directorio del proyecto.

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

**Nota:** El MCP server debe estar ejecutándose. Iniciar con:
```bash
sp-devcontrol daemon
# o
sp-devcontrol mcp
```

---

## 4. ChatGPT Desktop (connector MCP)

ChatGPT Desktop soporta conectores MCP. Para usar DevControl:

1. Asegúrate de que el MCP server esté ejecutándose en `http://localhost:7893/mcp`.
2. En ChatGPT Desktop, ve a **Settings > Connectors**.
3. Agrega un conector personalizado con URL: `http://localhost:7893/mcp`.
4. Las herramientas de DevControl aparecerán disponibles en la conversación.

**Importante:** DevControl no tiene API HTTP propia. La única interfaz remota es el MCP. ChatGPT web (navegador) NO soporta conectores MCP; esta funcionalidad solo está disponible en ChatGPT Desktop.

---

## 5. Servidor MCP standalone

Si necesitas ejecutar el MCP server independientemente:

```bash
# Modo stdio (para integración con herramientas que lo gestionan)
sp-devcontrol mcp

# Modo daemon HTTP (puerto 7893)
sp-devcontrol daemon
```

El servidor expone estas herramientas:

| Tool | Descripción |
|------|-------------|
| `devcontrol_status` | Estado del proyecto, preflight, sesión activa |
| `devcontrol_session_start` | Iniciar sesión de gobernanza |
| `devcontrol_approve_change` | Aprobar cambio pendiente |
| `devcontrol_reject_change` | Rechazar cambio pendiente |
| `devcontrol_policy_check` | Evaluar riesgo de path/command |
| `devcontrol_compliance_report` | Reporte de cumplimiento completo |

---

## 6. VS Code / Cursor / Windsurf (extensión VSIX)

La carpeta `extension/` contiene una extensión compatible con VS Code y forks como Cursor y Windsurf. Añade una pestaña DevControl en la Activity Bar y ejecuta el CLI/MCP real del módulo desde el workspace abierto.

```bash
# 1. Instalar la CLI que invoca la extensión
npm install -g sp-devcontrol

# 2. Empaquetar la extensión
cd extension
npm run package

# 3. Instalar el VSIX generado
code --install-extension sp-devcontrol-editor-2.1.0.vsix
```

En Cursor/Windsurf usa el instalador de extensiones VSIX del editor o su comando equivalente. Desde la pestaña DevControl puedes ejecutar estado del proyecto, gates, preflight, reporte de compliance, `inject`, daemon y generación de config MCP local.

Para asistentes del editor que consumen MCP por stdio:

```json
{
"mcpServers": {
"devcontrol": {
"type": "stdio",
"command": "sp-devcontrol",
"args": ["mcp:stdio"]
}
}
}
```

---

## Requisitos previos

- Node.js >= 18
- DevControl inicializado en el proyecto: `sp-devcontrol init`
- Para HTTP: token de autenticación en `~/.devcontrol/api-token` (chmod 600)
- Para la extensión: CLI `sp-devcontrol` disponible en `PATH`

## Verificación

```bash
# Verificar que la CLI funciona
sp-devcontrol status

# Verificar que el MCP responde
curl -s http://localhost:7893/health
```
52 changes: 52 additions & 0 deletions extension/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# SP-DevControl editor extension

VS Code-compatible extension for SP-DevControl. It adds a DevControl tab in the Activity Bar with commands for project status, gates, preflight, compliance, editor config injection, daemon control and MCP setup.

The extension is a thin adapter over the CLI/MCP server. Install the CLI first:

```bash
npm install -g sp-devcontrol
```

## Package VSIX

```bash
cd extension
npm install
npm run validate
npm run package
```

The `npm run package` command uses `vsce package` through `@vscode/vsce` and generates `sp-devcontrol-editor-2.1.0.vsix`.

Install it in VS Code:

```bash
code --install-extension sp-devcontrol-editor-2.1.0.vsix
```

Cursor and Windsurf can install the same VSIX through their VS Code-compatible extension installer.

## MCP

Use the `DevControl: Write MCP Config` command from the command palette or the panel to write local MCP config files:

- `.mcp.json`
- `.cursor/mcp.json`
- `.windsurf/mcp.json`

The generated config uses the real stdio MCP server:

```json
{
"mcpServers": {
"devcontrol": {
"type": "stdio",
"command": "sp-devcontrol",
"args": ["mcp:stdio"]
}
}
}
```

For HTTP MCP, run `DevControl: Start MCP HTTP Server`; it opens an editor terminal with `sp-devcontrol mcp:serve --port 7893`.
Loading
Loading