@dami_deleon/rikudo 2.0.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +45 -72
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,115 +1,113 @@
|
|
|
1
1
|
# 🌀 Rikudo: El Sabio de los Commits
|
|
2
2
|
|
|
3
|
-
**Rikudo** es una herramienta
|
|
3
|
+
**Rikudo** es una herramienta CLI potenciada por Inteligencia Artificial, agnóstica del proveedor de IA, diseñada para automatizar y estandarizar el flujo de trabajo de Git y la gestión de tareas en Redmine.
|
|
4
4
|
|
|
5
|
-
Inspirado en el Sabio de los Seis Caminos, Rikudo utiliza
|
|
5
|
+
Inspirado en el Sabio de los Seis Caminos, Rikudo utiliza módulos especializados para observar tu código, entender el contexto de tus tareas y mantener la armonía en el repositorio siguiendo las convenciones del equipo.
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
## 🚀 Los 6 Caminos de Rikudo
|
|
10
10
|
|
|
11
11
|
1. **Camino Deva (Git):** Control total sobre el stage y los commits.
|
|
12
|
-
2. **Camino Humano (
|
|
12
|
+
2. **Camino Humano (AI):** Inteligencia profunda para redactar mensajes técnicos precisos.
|
|
13
13
|
3. **Camino Animal (Redmine):** Invocación y sincronización con el Project Manager.
|
|
14
14
|
4. **Camino Preta (Summarizer):** Absorción y síntesis de archivos de gran tamaño.
|
|
15
15
|
5. **Camino Naraka (Cache):** Memoria persistente basada en hashes de Git para optimizar tokens.
|
|
16
16
|
6. **Camino Asura (Rate Limiter):** Gestión de poder para respetar los límites de las APIs.
|
|
17
|
-
7. **Camino MCP (Model Context Protocol):** Servidor MCP para integrar Rikudo con agentes de IA externos.
|
|
18
17
|
|
|
18
|
+
---
|
|
19
19
|
|
|
20
|
-
## ✨
|
|
20
|
+
## ✨ Dos Modos de Uso
|
|
21
|
+
|
|
22
|
+
Rikudo puede usarse de dos maneras:
|
|
21
23
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
* **OpenAI GPT-4o / GPT-3.5** (El estándar)
|
|
25
|
-
* **Anthropic Claude** (Gran capacidad de contexto)
|
|
26
|
-
* **Ollama** (Privacidad total con modelos locales como Llama 3)
|
|
24
|
+
### Modo CLI
|
|
25
|
+
Interactúa directamente desde la terminal con un menú interactivo o comandos directos.
|
|
27
26
|
|
|
27
|
+
### Modo MCP (Model Context Protocol)
|
|
28
|
+
Actúa como servidor MCP, exponiendo herramientas y prompts para que agentes de IA externos (Claude Code, Gemini CLI, Cursor, etc.) puedan invocar sus funcionalidades.
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## ✨ Características Principales
|
|
33
|
+
|
|
34
|
+
* **🧠 Agnóstico de IA:** Tú eliges el cerebro. Soporte nativo para:
|
|
35
|
+
* **Google Gemini** (Rápido y eficiente)
|
|
36
|
+
* **OpenAI GPT-4o / GPT-3.5** (El estándar)
|
|
37
|
+
* **Anthropic Claude** (Gran capacidad de contexto)
|
|
38
|
+
* **Ollama** (Privacidad total con modelos locales como Llama 3)
|
|
28
39
|
|
|
29
40
|
* **📝 Smart Commits:** Analiza tus `staged files` y genera mensajes siguiendo **Conventional Commits** basados en tus propias reglas.
|
|
30
41
|
* **🚀 PR Generator:** Selecciona múltiples commits y genera una descripción de Pull Request completa siguiendo tu plantilla.
|
|
31
42
|
* **⚙️ Configuración Flexible:** Define tus preferencias globales o por proyecto.
|
|
32
|
-
* **🔍 Diagnóstico Integrado:** Herramienta `test` para verificar tus API Keys y conexión con servicios externos
|
|
33
|
-
* **🔌 Servidor MCP:** Actúa como skill library para agentes de IA externos mediante el protocolo MCP
|
|
43
|
+
* **🔍 Diagnóstico Integrado:** Herramienta `test` para verificar tus API Keys y conexión con servicios externos.
|
|
44
|
+
* **🔌 Servidor MCP:** Actúa como skill library para agentes de IA externos mediante el protocolo MCP.
|
|
34
45
|
|
|
35
46
|
## 📦 Instalación
|
|
36
47
|
|
|
37
|
-
Rikudo está disponible en npm (actualmente en Alpha).
|
|
38
|
-
|
|
39
|
-
### Uso global (Recomendado)
|
|
40
|
-
|
|
41
48
|
```bash
|
|
42
|
-
npm install -g @dami_deleon/rikudo
|
|
43
|
-
|
|
49
|
+
npm install -g @dami_deleon/rikudo
|
|
44
50
|
```
|
|
45
51
|
|
|
46
52
|
### Ejecución única (sin instalar)
|
|
47
53
|
|
|
48
54
|
```bash
|
|
49
|
-
npx @dami_deleon/rikudo
|
|
50
|
-
|
|
55
|
+
npx @dami_deleon/rikudo
|
|
51
56
|
```
|
|
52
57
|
|
|
58
|
+
---
|
|
59
|
+
|
|
53
60
|
## 🚀 Uso Rápido
|
|
54
61
|
|
|
55
|
-
|
|
62
|
+
### Modo CLI
|
|
63
|
+
|
|
64
|
+
Ejecuta el comando en tu terminal dentro de cualquier repositorio git:
|
|
56
65
|
|
|
57
66
|
```bash
|
|
58
67
|
rikudo
|
|
59
|
-
|
|
60
68
|
```
|
|
61
69
|
|
|
62
70
|
Esto abrirá el **Menú Interactivo** donde podrás elegir entre crear commits, PRs o configurar la herramienta.
|
|
63
71
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
Si eres un power-user, puedes usar atajos:
|
|
72
|
+
#### Comandos Directos
|
|
67
73
|
|
|
68
74
|
* **Crear Commit:**
|
|
69
75
|
```bash
|
|
70
76
|
rikudo commit
|
|
71
77
|
# O con ticket asociado:
|
|
72
78
|
rikudo commit -t 1234
|
|
73
|
-
|
|
74
79
|
```
|
|
75
80
|
|
|
76
|
-
|
|
77
81
|
* **Crear Pull Request:**
|
|
78
82
|
```bash
|
|
79
83
|
rikudo pr
|
|
80
84
|
# O con ticket asociado:
|
|
81
85
|
rikudo pr -t 1234
|
|
82
|
-
|
|
83
86
|
```
|
|
84
87
|
|
|
85
|
-
|
|
86
88
|
* **Diagnóstico de Conexión:**
|
|
87
89
|
```bash
|
|
88
90
|
rikudo test
|
|
89
|
-
|
|
90
91
|
```
|
|
91
92
|
|
|
92
|
-
|
|
93
93
|
* **Configuración:**
|
|
94
94
|
```bash
|
|
95
95
|
rikudo config
|
|
96
|
-
|
|
97
96
|
```
|
|
98
97
|
|
|
98
|
+
---
|
|
99
99
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
Rikudo funciona como un servidor MCP, exponiendo herramientas y prompts para que cualquier agente de IA externo compatible con MCP pueda interactuar con tu flujo de trabajo de desarrollo.
|
|
100
|
+
### Modo MCP
|
|
103
101
|
|
|
104
|
-
|
|
102
|
+
Para usar Rikudo como servidor MCP con cualquier agente de IA compatible:
|
|
105
103
|
|
|
106
104
|
```bash
|
|
107
105
|
rikudo mcp
|
|
108
106
|
```
|
|
109
107
|
|
|
110
|
-
El servidor se comunica mediante **stdio
|
|
108
|
+
El servidor se comunica mediante **stdio**, permitiendo integrarse con cualquier cliente MCP.
|
|
111
109
|
|
|
112
|
-
|
|
110
|
+
#### Herramientas Disponibles
|
|
113
111
|
|
|
114
112
|
| Herramienta | Descripción |
|
|
115
113
|
|------------|-------------|
|
|
@@ -119,14 +117,14 @@ El servidor se comunica mediante **stdio** (entrada/salida estándar), lo que pe
|
|
|
119
117
|
| `shift_left_start` | Flujo shift-left completo: checkout a rama objetivo, crea nueva rama, commit vacío y abre Draft PR en Gitea. Soporta parámetro `isWip` para usar prefijo "WIP:" en el título. |
|
|
120
118
|
| `update_pm_redmine` | Agrega un comentario a un ticket de Redmine para notificar al Project Manager. |
|
|
121
119
|
|
|
122
|
-
|
|
120
|
+
#### Prompts Disponibles
|
|
123
121
|
|
|
124
122
|
| Prompt | Descripción |
|
|
125
123
|
|--------|-------------|
|
|
126
124
|
| `start_feature` | Inicia el flujo de trabajo para una nueva feature. Obtiene contexto del ticket, genera nombre de rama y prepara el entorno en Gitea con PR en modo WIP. |
|
|
127
125
|
| `review_and_comment` | Analiza los cambios staged, genera un comentario técnico y lo publica en Redmine. |
|
|
128
126
|
|
|
129
|
-
|
|
127
|
+
#### Integración con Agentes IA
|
|
130
128
|
|
|
131
129
|
Rikudo es compatible con cualquier herramienta de IA que soporte el protocolo MCP, como:
|
|
132
130
|
- **Claude Code / Claude Desktop**
|
|
@@ -136,8 +134,6 @@ Rikudo es compatible con cualquier herramienta de IA que soporte el protocolo MC
|
|
|
136
134
|
- **Continue**
|
|
137
135
|
- Y cualquier otro cliente MCP
|
|
138
136
|
|
|
139
|
-
#### Configuración Genérica
|
|
140
|
-
|
|
141
137
|
Agrega esto en la configuración de tu cliente MCP:
|
|
142
138
|
|
|
143
139
|
```json
|
|
@@ -151,9 +147,7 @@ Agrega esto en la configuración de tu cliente MCP:
|
|
|
151
147
|
}
|
|
152
148
|
```
|
|
153
149
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
El servidor MCP requiere las siguientes variables de entorno:
|
|
150
|
+
#### Variables de Entorno para MCP
|
|
157
151
|
|
|
158
152
|
```env
|
|
159
153
|
# Redmine
|
|
@@ -167,7 +161,7 @@ RIKUDO_GITEA_OWNER=tu_usuario_o_organizacion
|
|
|
167
161
|
RIKUDO_GITEA_REPO=nombre_del_repositorio
|
|
168
162
|
```
|
|
169
163
|
|
|
170
|
-
|
|
164
|
+
#### Formato de Ramas
|
|
171
165
|
|
|
172
166
|
Al usar `start_feature` o `shift_left_start`, el nombre de rama sigue el formato:
|
|
173
167
|
|
|
@@ -177,14 +171,12 @@ Al usar `start_feature` o `shift_left_start`, el nombre de rama sigue el formato
|
|
|
177
171
|
|
|
178
172
|
Ejemplo: `1234-add-user-authentication`
|
|
179
173
|
|
|
180
|
-
|
|
174
|
+
---
|
|
181
175
|
|
|
182
176
|
## ⚙️ Configuración
|
|
183
177
|
|
|
184
178
|
Rikudo busca un archivo `.env` en la raíz de tu proyecto para las credenciales sensibles.
|
|
185
179
|
|
|
186
|
-
Crea un archivo `.env` y añade las variables según el proveedor que quieras usar:
|
|
187
|
-
|
|
188
180
|
```env
|
|
189
181
|
# --- Configuración General ---
|
|
190
182
|
RIKUDO_AI_PROVIDER=gemini # Opciones: gemini, openai, claude, ollama
|
|
@@ -198,7 +190,7 @@ RIKUDO_CLAUDE_API_KEY=tu_api_key_aqui
|
|
|
198
190
|
RIKUDO_OLLAMA_URL=http://localhost:11434/api/generate
|
|
199
191
|
RIKUDO_OLLAMA_MODEL=llama3
|
|
200
192
|
|
|
201
|
-
# --- Integraciones
|
|
193
|
+
# --- Integraciones ---
|
|
202
194
|
RIKUDO_REDMINE_URL=https://redmine.tuempresa.com
|
|
203
195
|
RIKUDO_REDMINE_API_KEY=tu_redmine_key
|
|
204
196
|
|
|
@@ -207,38 +199,19 @@ RIKUDO_GITEA_URL=https://gitea.tuempresa.com
|
|
|
207
199
|
RIKUDO_GITEA_TOKEN=tu_gitea_token
|
|
208
200
|
RIKUDO_GITEA_OWNER=tu_usuario_o_organizacion
|
|
209
201
|
RIKUDO_GITEA_REPO=nombre_del_repositorio
|
|
210
|
-
|
|
211
202
|
```
|
|
212
203
|
|
|
213
|
-
### Plantillas Personalizadas
|
|
214
|
-
|
|
215
|
-
Puedes personalizar cómo Rikudo escribe. Coloca estos archivos en la raíz de tu proyecto:
|
|
204
|
+
### Plantillas Personalizadas
|
|
216
205
|
|
|
217
206
|
1. **`conventions.txt`**: Reglas para tus commits.
|
|
218
|
-
* *Ejemplo:* "Usa emojis al inicio. Formato: <emoji> <tipo>: <mensaje>."
|
|
219
|
-
|
|
220
|
-
|
|
221
207
|
2. **`pull-request-template.txt`**: Estructura para tus PRs.
|
|
222
|
-
* *Ejemplo:*
|
|
223
|
-
```markdown
|
|
224
|
-
# Cambios
|
|
225
|
-
- ...
|
|
226
|
-
# Tickets Relacionados
|
|
227
|
-
- ...
|
|
228
|
-
|
|
229
|
-
```
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
208
|
|
|
209
|
+
---
|
|
234
210
|
|
|
235
211
|
## 🛠️ Solución de Problemas
|
|
236
212
|
|
|
237
|
-
Si tienes problemas de conexión o configuración, ejecuta el diagnóstico:
|
|
238
|
-
|
|
239
213
|
```bash
|
|
240
214
|
rikudo test
|
|
241
|
-
|
|
242
215
|
```
|
|
243
216
|
|
|
244
217
|
Esto validará:
|
|
@@ -249,4 +222,4 @@ Esto validará:
|
|
|
249
222
|
|
|
250
223
|
---
|
|
251
224
|
|
|
252
|
-
Hecho con ❤️ y TypeScript.
|
|
225
|
+
Hecho con ❤️ y TypeScript.
|