gts-repo-guardian
# gts-repo-guardian 🛡️
> MCP (Model Context Protocol) para gestión y revisión automática de repositorios GitHub
[]()
[]()
---
## 📋 Descripción
**gts-repo-guardian** es un servidor MCP que automatiza la gestión de calidad de repositorios GitHub. Diseñado para mantener el estándar de documentación en los proyectos de @planetazuzu y GTS SOFTWARE.
## ⚡ Características
### Herramientas Disponibles
| Herramienta | Descripción |
|------------|-------------|
| `review_repository` | Analiza un repo y genera informe de calidad (0-100) |
| `generate_readme` | Genera README profesional automáticamente |
| `clean_repository` | Limpia y estructura el repositorio |
| `review_all_repositories` | Revisión masiva de todos los repos de un usuario |
| `apply_improvements` | Aplica mejoras automáticamente |
| `watch_repositories` | Monitoriza repos y alerta sobre problemas |
## 🚀 Instalación
```bash
git clone https://github.com/PlanetaZero/gts-repo-guardian.git
cd gts-repo-guardian
npm install
npm run build
```
## ⚙️ Configuración
1. Copia `.env.example` a `.env`:
```bash
cp .env.example .env
```
2. Genera un token de GitHub en:
https://github.com/settings/tokens
3. Asigna el token en `.env`:
```env
GITHUB_TOKEN=tu_token_aqui
```
## 🔧 Uso con OpenCode
Añade a tu configuración de OpenCode:
```json
{
"mcpServers": {
"gts-repo-guardian": {
"command": "node",
"args": ["/ruta/a/gts-repo-guardian/dist/index.js"],
"env": {
"GITHUB_TOKEN": "tu_token_aqui"
}
}
}
}
```
## 🔧 Uso con Claude Desktop
Añade a `~/Library/Application Support/Claude/claude_desktop_config.json`:
```json
{
"mcpServers": {
"gts-repo-guardian": {
"command": "node",
"args": ["/ruta/a/gts-repo-guardian/dist/index.js"],
"env": {
"GITHUB_TOKEN": "tu_token_aqui"
}
}
}
}
```
## 📊 Sistema de Puntuación
| Puntuación | Color | Significado |
|------------|-------|-------------|
| 80-100 | 🟢 Verde | Excelente |
| 50-79 | 🟡 Amarillo | Necesita mejoras |
| 0-49 | 🔴 Rojo | Necesita trabajo urgente |
### Reglas de Calidad
- README.md existe y tiene >200 palabras: 30 pts
- Repo tiene descripción en GitHub: 15 pts
- Repo tiene al menos 3 topics: 10 pts
- Licencia presente: 10 pts
- .gitignore apropiado al stack: 10 pts
- package.json con nombre y descripción: 10 pts
- Carpetas organizadas correctamente: 10 pts
- .env.example presente si hay variables: 5 pts
## 📁 Estructura del Proyecto
```
gts-repo-guardian/
├── src/
│ ├── index.ts # Servidor MCP principal
│ ├── tools/
│ │ ├── review.ts # Revisión de repos
│ │ ├── readme.ts # Generación de READMEs
│ │ ├── clean.ts # Limpieza y estructura
│ │ ├── batch.ts # Revisión masiva
│ │ ├── improve.ts # Aplicar mejoras
│ │ └── monitor.ts # Monitorización continua
│ ├── templates/
│ │ ├── readme-sanitario.md
│ │ ├── readme-tech.md
│ │ └── readme-lab.md
│ └── config/
│ ├── rules.ts # Reglas de calidad
│ └── profiles.ts # Configuración de perfiles
├── package.json
├── tsconfig.json
├── .env.example
└── README.md
```
## 👤 Autor
**Javier Fernández** · [@planet://github.com/azuzu](httpsplanetazuzu)
Técnico de Emergencias Sanitarias · +25 años · La Rioja, España
GTS SOFTWARE
[](https://www.linkedin.com/in/f-javier-fernandez-lopez)
[](https://github.com/planetazuzu)
---
## 📄 Licencia
MIT License - ver [LICENSE](LICENSE) para más detalles.
TDQS
Scored across 6 tools
Most tools are clearly distinct: review, generate README, clean, bulk review, apply improvements, and watch. The main overlap is between clean_repository and apply_improvements, both of which modify a repo, though their stated intents are different enough to be workable.
All tool names follow a consistent snake_case verb_noun pattern, such as review_repository, generate_readme, and watch_repositories. The naming is predictable and makes the action of each tool immediately clear.
Six tools is well within the ideal range for a focused repo management server. Each tool covers a distinct part of the repo guarding workflow without unnecessary bloat.
The surface covers core lifecycle needs: review, improve, clean, document, bulk review, and monitor repos. Missing pieces like rollback/revert or report retrieval are minor and can be worked around.