Circino Status - Visualiza y gestiona issues de GitHub desde VS Code
Visualiza y gestiona issues de cualquier repositorio GitHub directamente desde el sidebar de VS Code. Tree View jerarquico con agrupacion por estado (abiertos/cerrados) y acciones rapidas sin salir del editor.
Por defecto apunta a MajinTechnologies/MajinCircino, pero podes configurar cualquier owner/repo en los ajustes.
Caracteristicas
- Tree View en el sidebar - los issues se muestran jerarquicamente: repositorio > grupo (Open / Closed) > cada issue con titulo, numero, labels y asignado.
- Abrir issue en el navegador - clic derecho sobre un issue > "Open Issue in Browser".
- Cerrar issue - cierra un issue directamente desde VS Code, con confirmacion visual.
- Asignarse un issue - auto-asigna el issue al usuario autenticado con un solo clic.
- Refresh manual - boton de recarga en la cabecera del Tree View.
- Activity Feed en el sidebar - una vista separada que muestra el log cronologico de acciones realizadas por los agentes de IA sobre los issues.
- MCP Server - un servidor standalone que expone tools de gestion de issues via el Model Context Protocol para que Kairo lo consuma.
- Iconos por estado - los issues abiertos y cerrados se distinguen visualmente con iconos nativos de VS Code (issue-opened / issue-closed).
Captura de pantalla

Captura de pantalla pendiente de agregar.
Activity Feed
La vista Activity Feed (Circino Activity en el sidebar) muestra un historial cronologico de las acciones que los agentes de IA (Kairo, Tester, etc.) realizan sobre los issues del repositorio.
- Agrupacion por dia: Today, Yesterday, Older.
- Cada entrada muestra: icono segun la accion, timestamp, nombre del agente y descripcion.
- El view se actualiza con el boton de refresh o ejecutando el comando
circino.refreshActivity.
El Activity Feed lee los eventos desde un archivo JSON local (~/.circino/activity.json) que el MCP Server escribe en cada operacion.
MCP Server
El MCP Server es un proceso standalone (no requiere VS Code) que expone un conjunto de tools para gestionar issues de GitHub y Projects v2 a traves del Model Context Protocol. Su proposito es que Kairo (el agente de IA de Majin) pueda automatizar tareas de gestion de proyectos sin intervencion manual.
| Tool |
Descripcion |
list_issues |
Lista issues con filtro por estado |
create_issue |
Crea un nuevo issue |
get_issue |
Obtiene detalles de un issue |
update_issue |
Actualiza titulo y/o cuerpo |
close_issue |
Cierra un issue |
assign_issue |
Asigna un issue a un usuario |
comment_issue |
Agrega un comentario |
get_issue_comments |
Obtiene comentarios de un issue |
list_labels |
Lista todas las labels |
update_issue_labels |
Reemplaza labels de un issue |
| Tool |
Descripcion |
list_projects |
Lista projects de la organizacion |
get_project |
Obtiene detalle: fields, items, status |
create_project |
Crea un nuevo project |
delete_project |
Elimina un project |
add_issue_to_project |
Agrega un issue a un project |
remove_item_from_project |
Remueve un issue de un project |
update_issue_project_status |
Cambia el status de un item |
add_project_field |
Agrega un field custom (TEXT o SINGLE_SELECT) |
add_field_option |
Agrega opciones a un field single-select |
setup_project_board |
Crea board + field Subproyecto + opciones en un paso |
Como lo usa Kairo
Kairo declara el MCP Server en su archivo opencode.json como un servidor local. Al iniciar, Kairo lanza el proceso node ./out/mcp-server.js y se comunica con el via stdio usando el protocolo MCP. Esto le permite a Kairo automatizar tareas como:
- Crear issues de seguimiento para bugs o features.
- Cerrar issues automaticamente cuando se resuelven.
- Asignar issues a si mismo o a otros colaboradores.
- Comentar en issues con resultados de analisis o acciones tomadas.
Para instrucciones detalladas de configuracion, consulta docs/kairo-config.md.
Requisitos
- VS Code version 1.85.0 o superior.
- Node.js 18.x o superior.
- Token de GitHub (Personal Access Token) con permisos
repo para acceder al repositorio.
Instalacion
Clona el repositorio:
git clone https://github.com/MajinTechnologies/vscode-circino.git
cd vscode-circino
Instala las dependencias:
npm install
Compila el codigo TypeScript:
npm run compile
Abre el proyecto en VS Code y presiona F5 para iniciar una ventana de Extension Host con la extension cargada.
Configuracion
La extension necesita un token de GitHub para autenticarse contra la API. Por defecto apunta a MajinTechnologies/MajinCircino, pero podes configurar cualquier repositorio.
| Propiedad |
Default |
Descripcion |
circino.githubToken |
"" |
Personal Access Token de GitHub |
circino.owner |
"MajinTechnologies" |
Owner/organizacion del repositorio |
circino.repo |
"MajinCircino" |
Nombre del repositorio |
Opcion 1: Configuracion de VS Code
- Abre la paleta de comandos (
Ctrl+Shift+P) y ejecuta Preferences: Open Settings (UI).
- Busca
circino para ver todas las opciones disponibles.
- Completa al menos
circino.githubToken con tu token de GitHub.
Opcion 2: Variable de entorno
Define la variable GITHUB_TOKEN antes de iniciar VS Code:
# En Windows (PowerShell)
$env:GITHUB_TOKEN = "ghp_..."
code .
# En macOS / Linux
export GITHUB_TOKEN="ghp_..."
code .
Nota: La configuracion de VS Code tiene prioridad sobre la variable de entorno.
Comandos disponibles
| Comando |
Atajo por defecto |
Descripcion |
circino.refresh |
- |
Recarga la lista de issues desde GitHub |
circino.refreshActivity |
- |
Recarga el Activity Feed desde el archivo de log local |
circino.openIssue |
- |
Abre el issue seleccionado en el navegador |
circino.closeIssue |
- |
Cierra el issue seleccionado |
circino.assignToMe |
- |
Asigna el issue seleccionado al usuario actual |
Los comandos openIssue, closeIssue y assignToMe estan disponibles desde el menu contextual del Tree View (clic derecho sobre un issue).
Estructura del proyecto
vscode-circino/
src/
extension.ts # Punto de entrada: activacion, registro de comandos y configuracion del token
github.ts # Cliente Octokit: listIssues, closeIssue, assignIssue y obtencion del usuario autenticado
issueTreeProvider.ts # TreeDataProvider y TreeNode: construye el arbol repo > grupo > issue
activityLogger.ts # Logger de actividad: escribe y lee eventos desde ~/.circino/activity.json
activityFeedProvider.ts # TreeDataProvider para la vista Activity Feed (agrupacion por dia)
mcp-server.ts # Entry point del MCP Server standalone (protocolo MCP via stdio)
package.json # Manifiesto de la extension (comandos, vistas, configuraciones, dependencias)
tsconfig.json # Configuracion del compilador TypeScript
.vscodeignore # Archivos excluidos del empaquetado
Arbol de navegacion (Tree View)
MajinCircino (raiz)
Open Issues (grupo expandido)
Issue [#1](https://github.com/MajinTechnologies/vscode-circino/issues/1): titulo
Issue [#2](https://github.com/MajinTechnologies/vscode-circino/issues/2): titulo
...
Closed Issues (grupo colapsado)
Issue [#10](https://github.com/MajinTechnologies/vscode-circino/issues/10): titulo
...
Arbol de navegacion (Activity Feed)
Today
14:30:21 [create_issue] Kairo - Creacion del issue de seguimiento
14:28:10 [close_issue] Kairo - Cerrado automaticamente por PR mergeado
Yesterday
09:15:00 [assign_issue] Cristian - Asignado a Kairo
...
Older
...
Solucion de problemas
| Problema |
Causa probable |
Solucion |
| No se ven issues |
Token no configurado, invalido, o owner/repo incorrecto |
Configurar circino.githubToken, circino.owner y circino.repo |
| Error al cerrar/asignar |
Token sin permisos repo |
Generar un nuevo token con alcance repo |
| Tree View no aparece |
Extension no activada |
Abrir la vista "Circino" desde la barra de actividad |
| Activity Feed vacio |
No hay actividad registrada |
Ejecutar alguna accion desde el MCP Server o esperar a que Kairo actue |
Contribuir
Las contribuciones son bienvenidas. Revisa CONTRIBUTING.md para las guias de desarrollo y flujo de trabajo.
El repositorio de issues correspondiente es MajinTechnologies/MajinCircino.
Licencia
MIT