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 OpenAI, Groq (grátis), Gemini, Anthropic, Ollama e qualquer API compatível com OpenAI — tudo com comandos simples como /model e /provider, sem GUI.
Criado por Estevam Souza como uma alternativa rápida, extensível e aberta às ferramentas de IA que prendem o usuário em um único provedor.
Funcionalidades principais
| Funcionalidade | Descrição |
|---|---|
| 7 provedores | Groq, OpenAI, Gemini, Anthropic, Ollama, OpenAI-compat, Mock |
| Troca ao vivo | /provider groq → /model llama-3.3-70b-versatile sem reiniciar |
| 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: |
| Highlighting | Paleta VS Code Dark+ para 8 linguagens |
| Spinner animado | "Wibbling… Wrangling… Thinking…" enquanto processa |
| Gestão de sessão | /save, /export, /compact, /retry, /copy |
| Chaves em runtime | /key groq sk-... sem editar .env |
Instalação
Via npm (recomendado)
npm install -g @estevamsl/corecodeVia curl
curl -fsSL https://raw.githubusercontent.com/estevam5s/CoreCode/main/install.sh | shDepois execute:
corecodeRequer Node.js ≥ 20. Sem outras dependências globais.
Início rápido
1. Obtenha uma chave de API gratuita (Groq — recomendado)
Groq é 100% gratuito, sem necessidade de cartão de crédito. Pegue sua chave em console.groq.com.
2. Configure sua chave
Opção A — variável de ambiente (recomendado)
export GROQ_API_KEY=gsk_sua_chave_aqui
corecodeOpção B — arquivo .env (crie no diretório de trabalho)
GROQ_API_KEY=gsk_sua_chave_aqui
CORECODE_DEFAULT_PROVIDER=groqOpção C — defina em runtime (sem arquivo)
corecode
> /key groq gsk_sua_chave_aqui
> /provider groq3. Comece a programar
$ corecode
██████╗ ██████╗ ██████╗ ███████╗
██╔════╝██╔═══██╗██╔══██╗██╔════╝
██║ ██║ ██║██████╔╝█████╗
██║ ██║ ██║██╔══██╗██╔══╝
╚██████╗╚██████╔╝██║ ██║███████╗
╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝
██████╗ ██████╗ ██████╗ ███████╗
██╔════╝██╔═══██╗██╔══██╗██╔════╝
██║ ██║ ██║██║ ██║██╔══╝
╚██████╗╚██████╔╝██████╔╝███████╗
╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝
+ Any model. Every tool. Zero limits. +
┌────────────────────────────────────────────────┐
│ Provider Groq │
│ Model llama-3.3-70b-versatile │
│ Endpoint https://api.groq.com/openai/v1 │
└────────────────────────────────────────────────┘
● cloud Ready — type /help to begin
corecode v0.1.8
● groq/llama-3.3-70b-versatile · tools: file bash search
> explique este arquivo @src/auth/middleware.ts
● Analisando src/auth/middleware.ts...Referência de comandos
Sessão
| Comando | Descrição |
|---|---|
/help |
Mostra todos os comandos |
/status |
Provedor, modelo, contagem de histórico, system prompt |
/version |
Mostra a versão 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 |
/provider list |
Lista todos com tags FREE / LOCAL / PAID |
/add <provedor> <modelo> |
Registra um modelo customizado |
/key <provedor> <api-key> |
Define chave de API em runtime |
Conversa
| Comando | Descrição |
|---|---|
/history |
Mostra histórico resumido |
/history full |
Mostra histórico completo |
/clear |
Limpa o histórico |
/reset |
Limpa histórico + restaura system prompt padrão |
/compact |
Comprime o histórico em um único resumo |
/retry |
Reenvia sua última mensagem |
/copy |
Copia a última resposta da IA para o clipboard |
System Prompt
| Comando | Descrição |
|---|---|
/system <prompt> |
Define system prompt customizado |
/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 |
/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
| Comando | Descrição |
|---|---|
/save [arquivo] |
Salva conversa como Markdown |
/export [arquivo] |
Alias para /save |
Provedores
| Provedor | Custo | Tipo | Modelos principais |
|---|---|---|---|
| Groq | ✅ Grátis | ☁️ Cloud | llama-3.3-70b, mixtral-8x7b, gemma2-9b, deepseek-r1 |
| Ollama | ✅ Grátis | 🏠 Local | qwen2.5-coder, llama3.2, mistral, deepseek-coder |
| Mock | ✅ Grátis | 🏠 Local | mock-demo (sem chave) |
| Gemini | Tier | ☁️ Cloud | gemini-2.0-flash, gemini-1.5-pro |
| OpenAI | 💳 Pago | ☁️ Cloud | gpt-4o, gpt-4o-mini, o3-mini |
| Anthropic | 💳 Pago | ☁️ Cloud | claude-sonnet-4-6, claude-opus-4-6 |
| OpenAI-compat | Varia | Ambos | LM Studio, vLLM, Jan, LocalAI... |
Groq — grátis, ultra-rápido
/provider groq
/model llama-3.3-70b-versatile # recomendado — melhor qualidade
/model llama-3.1-8b-instant # mais rápido
/model deepseek-r1-distill-llama-70b
/model gemma2-9b-it
/model mixtral-8x7b-32768Chave gratuita em console.groq.com — sem cartão de crédito.
Ollama — 100% local, offline
# Instale o Ollama primeiro: https://ollama.ai
ollama pull qwen2.5-coder:7b
ollama serve
/provider ollama
/model qwen2.5-coder:7bAnthropic Claude
export ANTHROPIC_API_KEY=sk-ant-...
/provider anthropic
/model claude-sonnet-4-6
/model claude-opus-4-6OpenAI-compatible (LM Studio, vLLM, Jan)
export OPENAI_BASE_URL=http://localhost:1234/v1
export CORECODE_DEFAULT_PROVIDER=openai-compatible
corecodeVariáveis de ambiente
| Variável | Descrição |
|---|---|
GROQ_API_KEY |
Chave de API do Groq |
OPENAI_API_KEY |
Chave de API da OpenAI |
GEMINI_API_KEY |
Chave de API do Google Gemini |
ANTHROPIC_API_KEY |
Chave de API da Anthropic |
CORECODE_DEFAULT_PROVIDER |
Provedor padrão na inicialização |
CORECODE_DEFAULT_MODEL |
Modelo padrão na inicialização |
OPENAI_BASE_URL |
URL base para API OpenAI-compatible |
OLLAMA_BASE_URL |
URL do Ollama (padrão: http://localhost:11434) |
Coloque estas variáveis em um arquivo .env no diretório de trabalho ou exporte no shell.
Uso avançado
Trocar de provedor no meio da conversa
> /provider anthropic
● anthropic · claude-sonnet-4-6
> explique async/await em profundidade
● …
> /provider groq
● groq · llama-3.3-70b-versatile
> /model gemma2-9b-it
● gemma2-9b-itCarregar todos os arquivos TypeScript de um projeto
> @src/**/*.ts revise o fluxo de autenticação
● Lendo 12 arquivos TypeScript...
● Encontrei possíveis problemas em auth/middleware.ts...Executar um comando shell e perguntar sobre a saída
> !git log --oneline -20
> o que mudou nos últimos 5 commits?
● Analisando o histórico do git...Buscar na web e usar como contexto
> /search melhores práticas React hooks 2025
● Pesquisando via DuckDuckGo...
> com base nisso, refatore meu hook @src/useAuth.tsSalvar conversa como Markdown
> /save sessao-2025-01-15.md
● saved → /Users/you/sessao-2025-01-15.mdCompactar um histórico longo
> /compact
● 38 mensagens compactadas em resumoDefinir chave de API em runtime (sem arquivo .env)
> /key anthropic sk-ant-api03-...
● ANTHROPIC_API_KEY definida para esta sessão
> /provider anthropic
● anthropic · claude-sonnet-4-6Estrutura do projeto
CoreCode/
├── src/corecode/
│ ├── main.ts # entrypoint — carrega .env e inicia REPL
│ ├── repl.ts # loop REPL + orquestração de ferramentas
│ ├── commands.ts # todos os slash commands (/model, /provider...)
│ ├── router.ts # roteamento de provedores
│ ├── 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 # renderizador de syntax highlighting
│ ├── spinner.ts # indicador de carregamento animado
│ ├── setup-wizard.ts # wizard de primeiro uso para chaves de API
│ └── 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)
├── dist/
│ └── cli.mjs # binário compilado self-contained
├── bin/
│ └── corecode.js # wrapper npm bin (shebang node)
├── public/
│ ├── corecode.png # logo original
│ ├── docs-banner.svg # banner da documentação
│ └── icon.svg # ícone do site
├── .env.example # template de variáveis de ambiente
└── package.json # @estevamsl/corecodeBuild a partir do código-fonte
# Clone o repositório
git clone https://github.com/estevam5s/CoreCode.git
cd CoreCode
# Instale as dependências (requer Bun ≥ 1.0)
npm install
# Build (compila src/corecode/main.ts → dist/cli.mjs)
bun run build
# Registre globalmente para desenvolvimento
npm link
# Execute
corecodeArquitetura
stdin → readline REPL → detectFileReferences() → readFiles()
→ detectBashCommand() → runBashTool()
→ detectSlashCommand() → handleCommand()
→ sendToAI(provider) → streamResponse()
├── Groq SSE
├── OpenAI SSE
├── Gemini stream
├── Anthropic stream
└── Ollama stream
← bufferResponse()
← renderResponse() ← highlighter
← processDiffs() ← diffToolContribuindo
Pull requests são bem-vindos. Veja CONTRIBUTING.md para diretrizes.
# Fork → clone → branch
git checkout -b feature/minha-funcionalidade
# Desenvolva e teste
bun run build
corecode
# Abra um PRAutor
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