{"id":49200931,"url":"https://github.com/tunsuy/claude-code-go","last_synced_at":"2026-04-23T14:02:20.785Z","repository":{"id":348699288,"uuid":"1199216350","full_name":"tunsuy/claude-code-go","owner":"tunsuy","description":"A Go implementation of Claude Code — This project was built entirely by a team of Claude AI agents working in parallel ","archived":false,"fork":false,"pushed_at":"2026-04-21T03:48:12.000Z","size":3734,"stargazers_count":10,"open_issues_count":1,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-21T04:41:27.552Z","etag":null,"topics":["ai","anthropic","chatgpt","claude","cli","coding-assistant","go","golang","llm","mcp","terminal","tui"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tunsuy.png","metadata":{"files":{"readme":"README.es.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-04-02T06:29:08.000Z","updated_at":"2026-04-21T03:10:50.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/tunsuy/claude-code-go","commit_stats":null,"previous_names":["tunsuy/claude-code-go"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/tunsuy/claude-code-go","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tunsuy%2Fclaude-code-go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tunsuy%2Fclaude-code-go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tunsuy%2Fclaude-code-go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tunsuy%2Fclaude-code-go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tunsuy","download_url":"https://codeload.github.com/tunsuy/claude-code-go/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tunsuy%2Fclaude-code-go/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32183351,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-23T11:42:27.955Z","status":"ssl_error","status_checked_at":"2026-04-23T11:42:18.877Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","anthropic","chatgpt","claude","cli","coding-assistant","go","golang","llm","mcp","terminal","tui"],"created_at":"2026-04-23T14:02:18.079Z","updated_at":"2026-04-23T14:02:20.774Z","avatar_url":"https://github.com/tunsuy.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/logo.png\" alt=\"Claude Code Go Logo\" width=\"200\"\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eClaude Code Go\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003e🤖 Reimplementación en Go de Claude Code — Asistente de programación con IA en tu terminal\u003c/strong\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://golang.org/dl/\"\u003e\u003cimg src=\"https://img.shields.io/badge/go-1.21+-00ADD8?style=flat-square\u0026logo=go\u0026logoColor=white\" alt=\"Versión de Go\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://goreportcard.com/report/github.com/tunsuy/claude-code-go\"\u003e\u003cimg src=\"https://goreportcard.com/badge/github.com/tunsuy/claude-code-go?style=flat-square\" alt=\"Go Report Card\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://codecov.io/gh/tunsuy/claude-code-go\"\u003e\u003cimg src=\"https://codecov.io/gh/tunsuy/claude-code-go/branch/main/graph/badge.svg?style=flat-square\" alt=\"Cobertura\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://pkg.go.dev/github.com/tunsuy/claude-code-go\"\u003e\u003cimg src=\"https://pkg.go.dev/badge/github.com/tunsuy/claude-code-go.svg\" alt=\"Go Reference\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/tunsuy/claude-code-go/actions/workflows/ci.yml\"\u003e\u003cimg src=\"https://img.shields.io/github/actions/workflow/status/tunsuy/claude-code-go/ci.yml?branch=main\u0026style=flat-square\u0026logo=github\u0026label=CI\" alt=\"CI\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/tunsuy/claude-code-go/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/tunsuy/claude-code-go?style=flat-square\u0026logo=github\" alt=\"Release\"\u003e\u003c/a\u003e\n  \u003ca href=\"LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/license-MIT-green?style=flat-square\" alt=\"Licencia\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/tunsuy/claude-code-go/pulls\"\u003e\u003cimg src=\"https://img.shields.io/badge/PRs-welcome-brightgreen?style=flat-square\" alt=\"PRs Welcome\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"README.md\"\u003eEnglish\u003c/a\u003e •\n  \u003ca href=\"README.zh-CN.md\"\u003e简体中文\u003c/a\u003e •\n  \u003ca href=\"README.ja.md\"\u003e日本語\u003c/a\u003e •\n  \u003ca href=\"README.ko.md\"\u003e한국어\u003c/a\u003e •\n  \u003ca href=\"README.es.md\"\u003eEspañol\u003c/a\u003e •\n  \u003ca href=\"README.fr.md\"\u003eFrançais\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/image.png\" alt=\"Claude Code Go - Sesión Interactiva\" width=\"800\"\u003e\n  \u003cbr\u003e\n  \u003cem\u003eTUI interactiva con lectura de archivos y visualización de pensamiento en tiempo real\u003c/em\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/image1.png\" alt=\"Claude Code Go - Análisis de Proyecto\" width=\"800\"\u003e\n  \u003cbr\u003e\n  \u003cem\u003eAnálisis completo del proyecto con desglose de arquitectura\u003c/em\u003e\n\u003c/p\u003e\n\n---\n\n## ¿Qué es esto?\n\nEste proyecto es una **reimplementación completa en Go de [Claude Code](https://claude.ai/code)** — el CLI oficial de TypeScript de Anthropic — reescrito módulo por módulo en Go, cubriendo todas las características principales: TUI, uso de herramientas, sistema de permisos, coordinación multi-agente, protocolo MCP, gestión de sesiones y más.\n\n### Construido completamente por agentes de IA — cero código escrito por humanos\n\n\u003e **Ningún humano escribió una sola línea de código de producción en este repositorio.**\n\nTodo el proyecto — diseño de arquitectura, documentos de diseño detallados, implementación paralela, revisión de código, QA y pruebas de integración — fue producido por **9 agentes de IA Claude** colaborando en un flujo de trabajo multi-agente estructurado:\n\n```\nAgente PM          →  plan del proyecto, hitos, programación de tareas\nAgente Tech Lead   →  diseño de arquitectura, revisión de documentos de diseño, revisión de código\nAgent-Infra        →  capa de infraestructura (tipos, configuración, estado, sesión)\nAgent-Services     →  capa de servicios (cliente API, OAuth, MCP, compactación)\nAgent-Core         →  motor central (bucle LLM, despacho de herramientas, coordinador)\nAgent-Tools        →  capa de herramientas (archivo, shell, búsqueda, web — 18 herramientas)\nAgent-TUI          →  capa de UI (Bubble Tea MVU, temas, modo Vim)\nAgent-CLI          →  capa de entrada (Cobra CLI, DI, fases de bootstrap)\nAgente QA          →  estrategia de pruebas, aceptación por capa, pruebas de integración\n```\n\nResultado: ~**7,000 líneas de código de producción + suite de pruebas completa**, con `go test -race ./...` pasando.\n\n---\n\n## Características\n\n- **TUI interactiva** — Interfaz de terminal completa construida con [Bubble Tea](https://github.com/charmbracelet/bubbletea), con temas oscuro/claro\n- **Uso de herramientas agénticas** — Lectura/escritura de archivos, ejecución de shell, búsqueda y más, todo mediado a través de una capa de permisos\n- **Coordinación multi-agente** — Genera sub-agentes en segundo plano para tareas paralelas\n- **Soporte MCP** — Conecta herramientas externas a través del [Model Context Protocol](https://modelcontextprotocol.io)\n- **Memoria CLAUDE.md** — Carga automáticamente el contexto del proyecto desde archivos `CLAUDE.md` en el árbol de directorios\n- **Gestión de sesiones** — Reanuda conversaciones anteriores; compacta automáticamente historiales largos\n- **Modo Vim** — Atajos de teclado Vim opcionales en el área de entrada\n- **Autenticación OAuth + clave API** — Inicia sesión con OAuth de Anthropic o proporciona una `ANTHROPIC_API_KEY`\n- **18 comandos slash integrados** — `/help`, `/clear`, `/compact`, `/commit`, `/diff`, `/review`, `/mcp` y más\n- **Respuestas en streaming** — Streaming de tokens en tiempo real con visualización de bloques de pensamiento\n\n## Arquitectura\n\nClaude Code Go está organizado en seis capas:\n\n```\n┌─────────────────────────────────────┐\n│  CLI (cmd/claude)                   │  punto de entrada Cobra\n├─────────────────────────────────────┤\n│  TUI (internal/tui)                 │  interfaz Bubble Tea MVU\n├─────────────────────────────────────┤\n│  Tools (internal/tools)             │  herramientas de archivo, shell, búsqueda, MCP\n├─────────────────────────────────────┤\n│  Core Engine (internal/engine)      │  streaming, despacho de herramientas, coordinador\n├─────────────────────────────────────┤\n│  Services (internal/api, oauth,     │  API de Anthropic, OAuth, cliente MCP\n│            mcp, compact)            │\n├─────────────────────────────────────┤\n│  Infra (pkg/types, internal/config, │  tipos, configuración, estado, hooks, plugins\n│         state, session, hooks)      │\n└─────────────────────────────────────┘\n```\n\nConsulta [`docs/project/architecture.md`](docs/project/architecture.md) para un desglose detallado.\n\n## Requisitos\n\n- Go 1.21 o posterior\n- Una [clave API de Anthropic](https://console.anthropic.com/) **o** cuenta Claude.ai (OAuth)\n\n## Instalación\n\n### Desde el código fuente\n\n```bash\ngit clone https://github.com/tunsuy/claude-code-go.git\ncd claude-code-go\nmake build\n# El binario se coloca en ./bin/claude\n```\n\nAñadir a tu `PATH`:\n\n```bash\nexport PATH=\"$PATH:$(pwd)/bin\"\n```\n\n### Usando `go install`\n\n```bash\ngo install github.com/tunsuy/claude-code-go/cmd/claude@latest\n```\n\n## Inicio rápido\n\n```bash\n# Configura tu clave API (o usa OAuth — ver Autenticación abajo)\nexport ANTHROPIC_API_KEY=sk-ant-...\n\n# Inicia una sesión interactiva en el directorio actual\nclaude\n\n# Haz una pregunta única y sal\nclaude -p \"Explica el punto de entrada principal de este proyecto\"\n\n# Reanuda la sesión más reciente\nclaude --resume\n```\n\n## Autenticación\n\n**Clave API (recomendado para CI/scripts):**\n\n```bash\nexport ANTHROPIC_API_KEY=sk-ant-...\n```\n\n**OAuth (recomendado para uso interactivo):**\n\n```bash\nclaude /config    # abre el flujo OAuth en tu navegador\n```\n\n## Proveedores de API\n\nClaude Code Go soporta múltiples proveedores de API, permitiéndote usar no solo la API de Anthropic, sino también APIs compatibles con OpenAI.\n\n### Proveedores soportados\n\n| Proveedor | Descripción | Variables de entorno |\n|-----------|-------------|---------------------|\n| `direct` (predeterminado) | API directa de Anthropic | `ANTHROPIC_API_KEY`, `ANTHROPIC_BASE_URL` |\n| `openai` | OpenAI y APIs compatibles | `OPENAI_API_KEY`, `OPENAI_BASE_URL` |\n| `bedrock` | AWS Bedrock | Credenciales AWS vía entorno |\n| `vertex` | Google Cloud Vertex AI | Credenciales GCP vía entorno |\n\n### Usando APIs compatibles con OpenAI\n\nPara usar OpenAI, DeepSeek, Qwen, Moonshot o cualquier API compatible con OpenAI:\n\n**Método 1: Variables de entorno**\n\n```bash\n# Establecer proveedor a openai\nexport CLAUDE_PROVIDER=openai\n\n# Establecer tu clave API\nexport OPENAI_API_KEY=sk-xxx\n\n# Opcionalmente establecer una URL base personalizada (para servicios compatibles con OpenAI)\nexport OPENAI_BASE_URL=https://api.deepseek.com  # DeepSeek\n# export OPENAI_BASE_URL=https://api.moonshot.cn/v1  # Moonshot\n# export OPENAI_BASE_URL=http://localhost:11434/v1  # Ollama\n\n# Establecer el modelo\nexport OPENAI_MODEL=deepseek-chat\n\n# Ejecutar Claude Code\nclaude\n```\n\n**Método 2: Archivo de configuración**\n\nCrea o edita `~/.config/claude-code/settings.json`:\n\n```json\n{\n  \"provider\": \"openai\",\n  \"apiKey\": \"sk-xxx\",\n  \"baseUrl\": \"https://api.openai.com\",\n  \"model\": \"gpt-4-turbo\",\n  \"openaiOrganization\": \"org-xxx\",\n  \"openaiProject\": \"proj-xxx\"\n}\n```\n\n### Notas específicas por proveedor\n\n**OpenAI:**\n- Soporta todos los modelos GPT-4 y GPT-3.5\n- Soporte completo de herramientas/llamadas a funciones\n- Respuestas en streaming\n\n**DeepSeek:**\n```bash\nexport CLAUDE_PROVIDER=openai\nexport OPENAI_API_KEY=sk-xxx\nexport OPENAI_BASE_URL=https://api.deepseek.com\nexport OPENAI_MODEL=deepseek-chat\n```\n\n**Ollama (local):**\n```bash\nexport CLAUDE_PROVIDER=openai\nexport OPENAI_BASE_URL=http://localhost:11434/v1\nexport OPENAI_MODEL=llama3\n```\n\n**Azure OpenAI:**\n```bash\nexport CLAUDE_PROVIDER=openai\nexport OPENAI_API_KEY=your-azure-key\nexport OPENAI_BASE_URL=https://your-resource.openai.azure.com\nexport OPENAI_MODEL=your-deployment-name\n```\n\n## Uso\n\n### Modo interactivo\n\n```\nclaude [flags]\n```\n\n| Flag | Descripción |\n|------|-------------|\n| `--resume` | Reanuda la sesión más reciente |\n| `--session \u003cid\u003e` | Reanuda una sesión específica por ID |\n| `--model \u003cname\u003e` | Sobrescribe el modelo Claude predeterminado |\n| `--dark` / `--light` | Fuerza tema oscuro o claro |\n| `--vim` | Habilita atajos de teclado Vim |\n| `-p, --print \u003cprompt\u003e` | No interactivo: ejecuta un solo prompt y sale |\n\n### Comandos slash\n\nEscribe `/` en la entrada para ver todos los comandos disponibles:\n\n| Comando | Descripción |\n|---------|-------------|\n| `/help` | Muestra todos los comandos |\n| `/clear` | Limpia el historial de conversación |\n| `/compact` | Resume el historial para reducir uso de contexto |\n| `/exit` | Sale de Claude Code |\n| `/model` | Cambia el modelo Claude |\n| `/theme` | Alterna tema oscuro/claro |\n| `/vim` | Alterna modo Vim |\n| `/commit` | Genera un mensaje de commit git |\n| `/review` | Revisa cambios recientes |\n| `/diff` | Muestra el diff actual |\n| `/mcp` | Gestiona servidores MCP |\n| `/memory` | Muestra archivos CLAUDE.md cargados |\n| `/session` | Muestra información de sesión |\n| `/status` | Muestra estado de API/conexión |\n| `/cost` | Muestra uso de tokens y costo estimado |\n\n## Desarrollo\n\n### Prerrequisitos\n\n- Go 1.21+\n- `golangci-lint` (opcional, para linting)\n\n### Compilar y probar\n\n```bash\n# Compilar\nmake build\n\n# Ejecutar todas las pruebas\nmake test\n\n# Ejecutar pruebas con informe de cobertura\nmake test-cover\n\n# Vet\nmake vet\n\n# Lint (requiere golangci-lint)\nmake lint\n\n# Compilar + probar + vet\nmake all\n```\n\n## Hoja de ruta\n\nClaude Code Go actualmente tiene una paridad de funciones de aproximadamente **65%** con la versión original en TypeScript. Aquí está nuestro plan por fases para llegar a v1.0:\n\n| Fase | Versión | Objetivos clave | Plazo |\n|------|---------|-----------------|-------|\n| **Phase 1** | v0.2.0 | 🔒 Integración del sistema de permisos, conexión del sistema Hook, base de cobertura de pruebas, refuerzo de CI | +3 semanas |\n| **Phase 2** | v0.3.0 | 🔧 Completar las 22 herramientas (actualmente 11), subcomandos CLI, mejoras de comandos slash, herramienta Agent | +3 semanas |\n| **Phase 3** | v0.4.0 | 🌐 Proveedores AWS Bedrock y GCP Vertex, transporte MCP WebSocket, sistema de plugins, Feature Flags | +4 semanas |\n| **Phase 4** | v0.5.0 | 🚀 Integración LSP, modo Remote/Server, entrada de voz, modo Vim, Extended Thinking, rastreador de costos | +4 semanas |\n| **Phase 5** | v1.0.0 | 🎯 Optimización de rendimiento, auditoría de seguridad, documentación completa, lanzamiento multiplataforma | +2 semanas |\n\n### Estado actual\n\n```\nCompletado: ████████████░░░░░░░░ 65%\n\n✅ Hecho: Motor central, TUI, cliente API (Direct + OpenAI), compactación de contexto,\n          OAuth, persistencia de sesiones, 11 herramientas, 14 comandos slash\n⚠️  En progreso: Proveedores Bedrock/Vertex, MCP WebSocket, herramientas y comandos restantes\n❌ Pendiente: Conexión de permisos, conexión de Hooks, LSP, sistema de plugins, modo Remote\n```\n\n📋 Consulta la **[hoja de ruta completa](docs/ROADMAP.md)** para desgloses detallados de tareas, diagramas de arquitectura y criterios de finalización.\n\n## Contribuir\n\n¡Las contribuciones son bienvenidas! Por favor lee [CONTRIBUTING.md](CONTRIBUTING.md) antes de enviar un pull request.\n\nLista de verificación rápida:\n- Haz fork del repo y crea una rama de características\n- Asegúrate de que `make test` y `make vet` pasen\n- Escribe pruebas para la nueva funcionalidad\n- Sigue el estilo de código existente (ejecuta `gofmt ./...`)\n- Abre un pull request usando la plantilla proporcionada\n\n## Seguridad\n\nPara reportar una vulnerabilidad de seguridad, consulta [SECURITY.md](SECURITY.md). **No** abras un issue público de GitHub para errores de seguridad.\n\n## Licencia\n\nEste proyecto está licenciado bajo la Licencia MIT — consulta [LICENSE](LICENSE) para más detalles.\n\n## Proyectos relacionados\n\n- [claude-code](https://github.com/anthropics/claude-code) — el CLI original en TypeScript\n- [anthropic-sdk-go](https://github.com/anthropics/anthropic-sdk-go) — SDK oficial de Go para la API de Anthropic\n- [Model Context Protocol](https://modelcontextprotocol.io) — estándar abierto para conectar IA a herramientas\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftunsuy%2Fclaude-code-go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftunsuy%2Fclaude-code-go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftunsuy%2Fclaude-code-go/lists"}