Package Exports
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@estevamsl/corecode) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Agente de IA multi-modelo para o seu terminal — qualquer modelo, toda ferramenta, zero limites.
O que é o CoreCode?
CoreCode é um agente de IA open-source que roda inteiramente no seu terminal. Alterne entre Groq (grátis), OpenRouter (200+ modelos), OpenAI, Anthropic, Gemini, DeepSeek, Mistral, Ollama e qualquer API compatível com OpenAI — tudo com comandos como /model e /provider, sem GUI, sem Electron, sem lock-in.
Criado por Estevam Souza como uma alternativa rápida, extensível e totalmente aberta às ferramentas de IA que prendem o usuário em um único provedor.
✨ Novidades na v0.2.0
- Onboarding interativo — tela de boas-vindas com seleção de tema (↑↓ arrow keys) + seletor de provedor com hints ao lado de cada opção
- OpenRouter — acesso a 200+ modelos (GPT-4o, Claude, DeepSeek, Gemini, Grok, Mistral, Qwen, Llama...) com uma única chave
- DeepSeek nativo — deepseek-chat, deepseek-reasoner, deepseek-coder com endpoint direto
- Mistral nativo — mistral-large, codestral, mistral-small com endpoint direto
- Seleção de modelo no setup — após escolher o provedor, a CLI mostra um menu de modelos disponíveis
- 10+ provedores — Groq, OpenRouter, OpenAI, Anthropic, Gemini, DeepSeek, Mistral, Ollama, OpenAI-Compatible, Mock
Funcionalidades
| Funcionalidade | Descrição |
|---|---|
| 10+ provedores | Groq, OpenRouter, OpenAI, Gemini, Anthropic, DeepSeek, Mistral, Ollama, OpenAI-compat, Mock |
| 200+ modelos via OpenRouter | GPT-4o, Claude, Gemini, DeepSeek-R1, Grok, Qwen, Llama, Mistral, Phi e muito mais |
| Troca ao vivo | /provider groq → /model llama-3.3-70b sem reiniciar |
| Onboarding interativo | Setup guiado com arrow keys na primeira execução |
| Agente de arquivos | @src/**/*.ts lê e injeta arquivos no contexto automaticamente |
| Ferramenta Bash | !npm test executa e injeta saída no contexto da IA |
| Busca na web | /search <query> via DuckDuckGo, sem chave de API |
| Diff & Aplicar | Patches gerados pela IA aplicados via marcadores // FILE: |
| Syntax highlighting | Paleta VS Code Dark+ para 10+ linguagens |
| Gestão de sessão | /save, /export, /compact, /retry, /copy |
| Chaves em runtime | /key groq sk-... sem editar .env |
| System prompt | /system <prompt> customizável por sessão |
| Histórico comprimível | /compact resume 40+ msgs em um único contexto |
| 20+ slash commands | Referência completa abaixo |
| Zero telemetria | Sem tracking, sem analytics, sem coleta de dados |
Instalação
Via npm (recomendado)
npm install -g @estevamsl/corecodeVia curl
curl -fsSL https://raw.githubusercontent.com/estevam5s/CoreCode/main/install.sh | shcorecodeRequer Node.js ≥ 20. Funciona em macOS, Linux e WSL.
Primeiro uso — Onboarding interativo
Na primeira vez que você executa corecode sem nenhuma chave de API configurada, o assistente de configuração é iniciado automaticamente:
Tela 1 — Seleção de tema
* *
* ┌─────┐
│ ◉ ◉ │ *
* │ ▽ │
└──┬──┘ *
* ┌──┴──┐
│ │
└─┘ └─┘ *
Let's get started.
Choose the text style that looks best with your terminal
To change this later, run /theme
────────────────────────────────────────────────────────
> 1. Dark mode · ✓ recommended
2. Light mode
3. Dark mode (colorblind-friendly)
4. Light mode (colorblind-friendly)
5. Dark mode (ANSI colors only)
6. Light mode (ANSI colors only)Tela 2 — Seleção de provedor
CoreCode works with any AI provider using your own API keys.
Select provider:
Use ↑↓ arrows or type a number, then Enter
────────────────────────────────────────────────────────────────────────
> 1. Groq · Free · llama-3.3-70b, mixtral, gemma2
2. OpenRouter · 200+ models · GPT-4o, Claude, DeepSeek, Gemini, Grok...
3. OpenAI · GPT-4o, o3-mini, gpt-4-turbo
4. Anthropic · Claude Sonnet, Opus, Haiku
5. Google Gemini · Gemini 2.0 Flash, 1.5 Pro
6. DeepSeek · deepseek-chat, deepseek-r1, deepseek-coder
7. Mistral · mistral-large, codestral, mistral-small
8. Ollama (local) · 100% offline · No API key needed
9. OpenAI-Compatible · vLLM, LM Studio, any custom endpointTela 3 — Seleção de modelo (ex: OpenRouter)
Select model from OpenRouter:
200+ models available · showing popular options
────────────────────────────────────────────────────────────────────
> 1. openai/gpt-4o · OpenAI · Best quality
2. openai/gpt-4o-mini · OpenAI · Fast & affordable
3. openai/o3-mini · OpenAI · Reasoning model
4. anthropic/claude-sonnet-4-5 · Anthropic · Top coding model
5. anthropic/claude-opus-4 · Anthropic · Most capable
6. google/gemini-2.0-flash-exp · Google · Fast & free tier
7. meta-llama/llama-3.3-70b-instruct · Meta · Best open LLM
8. deepseek/deepseek-chat · DeepSeek · General purpose
9. deepseek/deepseek-r1 · DeepSeek · Reasoning
...38 modelos disponíveisA configuração é salva automaticamente em .env.
Início rápido
Groq — grátis, sem cartão
export GROQ_API_KEY=gsk_sua_chave
corecodeObtenha sua chave gratuita em console.groq.com — nenhum cartão necessário.
OpenRouter — 200+ modelos com uma chave
export OPENROUTER_API_KEY=sk-or-v1-...
corecode
# Selecione "OpenRouter" no setup → escolha o modeloChave em openrouter.ai/keys. Créditos gratuitos para novos usuários.
Arquivo .env (recomendado para projetos)
# .env no diretório de trabalho
GROQ_API_KEY=gsk_...
OPENAI_API_KEY=sk-proj-...
ANTHROPIC_API_KEY=sk-ant-...
GEMINI_API_KEY=AIza...
OPENROUTER_API_KEY=sk-or-v1-...
DEEPSEEK_API_KEY=sk-...
MISTRAL_API_KEY=...
CORECODE_DEFAULT_PROVIDER=groq
CORECODE_DEFAULT_MODEL=llama-3.3-70b-versatileProvedores
Groq — ultra-rápido e gratuito
| Modelo | Tokens/s | Contexto | Uso |
|---|---|---|---|
llama-3.3-70b-versatile |
~800 | 128k | Uso geral — recomendado |
llama-3.1-8b-instant |
~1200 | 128k | Tarefas rápidas |
mixtral-8x7b-32768 |
~600 | 32k | Contexto longo |
gemma2-9b-it |
~900 | 8k | Alternativa leve |
deepseek-r1-distill-llama-70b |
~400 | 128k | Raciocínio |
/provider groq
/model llama-3.3-70b-versatileOpenRouter — 200+ modelos
Acesse OpenAI, Anthropic, Google, Meta, DeepSeek, Mistral, Qwen, xAI e muitos mais com uma única chave de API.
| Categoria | Modelos |
|---|---|
| OpenAI | gpt-4o, gpt-4o-mini, o3-mini, o1, gpt-4-turbo |
| Anthropic | claude-sonnet-4-5, claude-opus-4, claude-haiku-3-5 |
| gemini-2.0-flash-exp, gemini-1.5-pro, gemini-1.5-flash | |
| Meta / Llama | llama-3.3-70b-instruct, llama-3.1-405b-instruct, llama-3.2-3b |
| DeepSeek | deepseek-chat, deepseek-r1, deepseek-r1-distill-llama-70b, deepseek-coder-v2 |
| Mistral | mistral-large-2411, codestral-2501, mistral-medium, mistral-7b |
| Qwen (Alibaba) | qwen-2.5-72b-instruct, qwen-2.5-coder-32b, qwq-32b-preview |
| xAI | grok-2-1212, grok-beta |
| Cohere | command-r-plus, command-r |
| Perplexity | sonar-pro, sonar |
| MiniMax | minimax-01 (1M context) |
| Microsoft | phi-4, phi-3.5-mini-128k-instruct |
| Amazon | nova-pro-v1 |
| NousResearch | hermes-3-llama-3.1-405b |
/provider openai-compatible # OpenRouter usa endpoint OpenAI-compat
/model openai/gpt-4o
/model deepseek/deepseek-r1
/model meta-llama/llama-3.3-70b-instructDeepSeek — raciocínio avançado
export DEEPSEEK_API_KEY=sk-...
/provider openai-compatible
/model deepseek-chat # uso geral
/model deepseek-reasoner # cadeia de pensamento (CoT)
/model deepseek-coder # especialista em códigoChave em platform.deepseek.com
Mistral — velocidade e qualidade
export MISTRAL_API_KEY=...
/provider openai-compatible
/model mistral-large-latest # flagship
/model codestral-latest # especialista em código
/model mistral-small-latest # rápido e econômicoChave em console.mistral.ai
Ollama — 100% local, offline
# 1. Instale: https://ollama.ai
ollama pull qwen2.5-coder:7b # melhor modelo local para código
ollama pull llama3.2 # uso geral
ollama pull phi4 # Microsoft, compacto mas poderoso
# 2. Inicie
/provider ollama
/model qwen2.5-coder:7bOpenAI / Anthropic / Gemini
# OpenAI
export OPENAI_API_KEY=sk-proj-...
/provider openai
/model gpt-4o
# Anthropic
export ANTHROPIC_API_KEY=sk-ant-...
/provider anthropic
/model claude-sonnet-4-6
# Google Gemini
export GEMINI_API_KEY=AIza...
/provider gemini
/model gemini-2.0-flashOpenAI-Compatible (vLLM, LM Studio, Jan, LocalAI)
export OPENAI_BASE_URL=http://localhost:1234/v1
export OPENAI_API_KEY=qualquer-coisa # pode ser vazio
/provider openai-compatible
/model seu-modelo-aquiReferência de comandos
Sessão
| Comando | Descrição |
|---|---|
/help |
Mostra todos os comandos disponíveis |
/status |
Provedor, modelo, histórico, system prompt |
/version |
Versão instalada do CoreCode |
/env |
Status das chaves de API por provedor |
/exit / /quit |
Sai do CoreCode |
Modelo & Provedor
| Comando | Descrição |
|---|---|
/model |
Mostra o modelo ativo |
/model <nome> |
Troca de modelo |
/model list |
Lista modelos builtin do provedor atual |
/model list --all |
Busca todos os modelos via API |
/provider |
Mostra o provedor ativo |
/provider <nome> |
Troca de provedor (groq, openai, anthropic...) |
/provider list |
Lista todos os provedores com tags FREE / LOCAL / PAID |
/add <provedor> <modelo> |
Registra modelo customizado (fine-tuned, etc.) |
/key <provedor> <api-key> |
Define chave de API em runtime sem editar .env |
Conversa
| Comando | Descrição |
|---|---|
/history |
Mostra histórico resumido (últimas 40 mensagens) |
/history full |
Mostra histórico completo sem truncamento |
/clear |
Limpa o histórico — IA começa do zero |
/reset |
Limpa histórico + restaura system prompt padrão |
/compact |
Comprime o histórico em um único resumo |
/retry |
Reenvia a última mensagem (remove o par anterior) |
/copy |
Copia a última resposta da IA para o clipboard |
System Prompt
| Comando | Descrição |
|---|---|
/system <prompt> |
Define system prompt customizado para a sessão |
/system show |
Mostra o system prompt atual |
/system reset |
Restaura o system prompt padrão |
Ferramentas
| Comando | Descrição |
|---|---|
/search <query> |
Busca na web via DuckDuckGo, injeta resultados |
/tools |
Lista ferramentas disponíveis e status |
!<comando> |
Executa comando shell, injeta saída no contexto |
@<arquivo> |
Lê arquivo no contexto da conversa |
@<glob> |
Lê múltiplos arquivos (ex: @src/**/*.ts) |
Exportar / Salvar
| Comando | Descrição |
|---|---|
/save [arquivo] |
Salva conversa atual como Markdown |
/export [arquivo] |
Alias para /save |
Variáveis de ambiente
| Variável | Provedor | Descrição |
|---|---|---|
GROQ_API_KEY |
Groq | Chave em console.groq.com |
OPENAI_API_KEY |
OpenAI / compat | Chave em platform.openai.com |
ANTHROPIC_API_KEY |
Anthropic | Chave em console.anthropic.com |
GEMINI_API_KEY |
Gemini | Chave em aistudio.google.com |
OPENROUTER_API_KEY |
OpenRouter | Chave em openrouter.ai/keys |
DEEPSEEK_API_KEY |
DeepSeek | Chave em platform.deepseek.com |
MISTRAL_API_KEY |
Mistral | Chave em console.mistral.ai |
OPENAI_BASE_URL |
OpenAI-compat | URL base customizada (padrão: https://api.openai.com/v1) |
OLLAMA_BASE_URL |
Ollama | URL local (padrão: http://localhost:11434) |
CORECODE_DEFAULT_PROVIDER |
— | Provedor padrão na inicialização |
CORECODE_DEFAULT_MODEL |
— | Modelo padrão na inicialização |
CORECODE_SYSTEM |
— | System prompt padrão (opcional) |
CORECODE_THEME |
— | Tema da interface (dark, light, dark-cb...) |
Uso avançado
Trocar de provedor no meio da conversa
O histórico é preservado ao trocar de provedor.
> /provider anthropic
● anthropic · claude-sonnet-4-6
> explique async/await em profundidade
● …
> /provider groq
● groq · llama-3.3-70b-versatile
> /model deepseek-r1-distill-llama-70b
● deepseek-r1-distill-llama-70bAnalisar um projeto inteiro com glob
> @src/**/*.ts revise o fluxo de autenticação e encontre possíveis vulnerabilidades
● Lendo 12 arquivos TypeScript...
● Encontrei possíveis problemas em auth/middleware.ts...Executar testes e discutir falhas
> !npm test -- --coverage
● Execute: npm test -- --coverage ? [y/N] y
● Running...
FAIL src/auth.test.ts
✕ should reject invalid token
> por que o teste falhou? como corrigir?
● Analisando o output do Jest...Buscar na web e usar como contexto
> /search melhores práticas React Server Components 2025
● Pesquisando via DuckDuckGo...
> com base nesses resultados, refatore meu componente @src/app/page.tsxAgente de código — diff & apply
> refatore a função de autenticação em @src/auth.ts para usar async/await
● Here's the refactored version:
// FILE: src/auth.ts
- async function login(user, pass) {
- return new Promise((resolve) => { ... });
- }
+ async function login(user: string, pass: string): Promise<User> {
+ const result = await authService.verify(user, pass);
+ return result;
+ }
Apply this diff? [y/N] y
● Written: src/auth.tsCompactar histórico longo
> /compact
● 38 mensagens compactadas em resumo de contextoRegistrar modelo fine-tuned
> /add openai ft:gpt-4o-2024-08-06:minha-org:meu-modelo:abc123
● Modelo registrado
> /model ft:gpt-4o-2024-08-06:minha-org:meu-modelo:abc123Definir chave em runtime (sem .env)
> /key anthropic sk-ant-api03-...
● ANTHROPIC_API_KEY definida para esta sessão
> /provider anthropic
● anthropic · claude-sonnet-4-6Usar DeepSeek-R1 para raciocínio complexo
> /key deepseek sk-...
> /provider openai-compatible
> /model deepseek-reasoner
> implemente um algoritmo de ordenação topológica com detecção de ciclos
● <think>
Vou analisar o problema passo a passo...
</think>
Aqui está a implementação com detecção de ciclos via DFS...Usar Ollama offline
# Instale e baixe modelos sem internet depois
ollama pull qwen2.5-coder:7b
ollama pull llama3.2
# No CoreCode
> /provider ollama
> /model qwen2.5-coder:7b
> @src/components/Button.tsx adicione testes unitários para este componenteEstrutura do projeto
CoreCode/
├── src/corecode/
│ ├── main.ts # entrypoint — carrega .env e inicia REPL
│ ├── repl.ts # loop REPL + orquestração de ferramentas
│ ├── commands.ts # 20+ slash commands (/model, /provider, /save...)
│ ├── router.ts # roteamento de provedores de IA
│ ├── state.ts # estado da sessão (provider, model, history)
│ ├── banner.ts # logo ASCII em gradiente laranja
│ ├── welcome.ts # caixa de informações na inicialização
│ ├── highlighter.ts # syntax highlighting (10+ linguagens)
│ ├── spinner.ts # indicador de carregamento animado
│ ├── setup-wizard.ts # onboarding interativo com arrow keys
│ └── providers/
│ ├── openai.ts # OpenAI + OpenAI-compatible (streaming SSE)
│ ├── groq.ts # Groq (compatível com OpenAI)
│ ├── gemini.ts # Google Gemini (API nativa)
│ ├── anthropic.ts # Anthropic Claude (API nativa)
│ ├── ollama.ts # Ollama local
│ └── mock.ts # modo demo sem chave de API
│ └── tools/
│ ├── fileTool.ts # agente de leitura de arquivos + glob
│ ├── bashTool.ts # executor de comandos shell com confirmação
│ ├── webSearch.ts # busca DuckDuckGo
│ └── diffTool.ts # aplicador de patches de código
├── scripts/
│ └── build-corecode.ts # script de build dedicado (Bun bundler)
├── dist/
│ └── cli.mjs # binário compilado self-contained
├── bin/
│ └── corecode.js # wrapper npm bin (shebang node)
├── public/
│ ├── docs-banner.svg # banner da documentação
│ └── icon.svg # ícone do site
├── .env.example # template de variáveis de ambiente
└── package.json # @estevamsl/corecodeArquitetura
stdin → readline REPL → detectFileReferences() → readFiles()
→ detectBashCommand() → runBashTool()
→ detectSlashCommand() → handleCommand()
→ sendToAI(provider) → streamResponse()
├── Groq SSE
├── OpenAI SSE
├── OpenRouter SSE
├── DeepSeek SSE
├── Mistral SSE
├── Gemini stream
├── Anthropic stream
└── Ollama stream
← bufferResponse()
← renderResponse() ← highlighter (syntax)
← processDiffs() ← diffTool (patch apply)Build a partir do código-fonte
# Clone
git clone https://github.com/estevam5s/CoreCode.git
cd CoreCode
# Dependências (requer Bun ≥ 1.3)
npm install
# Build (src/corecode/main.ts → dist/cli.mjs)
bun run build
# Link global para desenvolvimento
npm link
# Execute
corecodeComparação
| Ferramenta | Provedores | Open Source | Preço | Terminal |
|---|---|---|---|---|
| CoreCode | 10+ (200+ via OpenRouter) | ✅ MIT | Grátis | ✅ nativo |
| Claude Code | Anthropic | ❌ | Pago | ✅ |
| GitHub Copilot CLI | OpenAI | ❌ | Pago | ✅ |
| Aider | OpenAI, Anthropic | ✅ | Grátis | ✅ |
| Continue.dev | Vários | ✅ | Grátis | ❌ (IDE) |
Contribuindo
Pull requests são bem-vindos!
# Fork → clone → branch
git checkout -b feature/minha-funcionalidade
# Desenvolva e teste
bun run build
corecode
# Abra um PR no GitHubIssues, sugestões e relatórios de bugs: github.com/estevam5s/CoreCode/issues
Autor
Criado por Estevam Souza
- GitHub: @estevam5s
- Site: core-code-landing.vercel.app
- npm: @estevamsl/corecode
- Projeto: github.com/estevam5s/CoreCode
Licença
MIT © Estevam Souza
Made with ❤️ by Estevam Souza