JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 16
  • Score
    100M100P100Q63355F
  • License MIT

CoreCode — Advanced multi-model AI coding agent CLI. Run OpenAI, Groq, Gemini, Anthropic, Ollama and any OpenAI-compatible API from your terminal.

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

    CoreCode

    npm version npm downloads Node License Providers Site

    Agente de IA multi-modelo para o seu terminal — qualquer modelo, toda ferramenta, zero limites.

    🌐 Site · 📦 npm · 📖 Docs · ⭐ GitHub


    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/corecode

    Via curl

    curl -fsSL https://raw.githubusercontent.com/estevam5s/CoreCode/main/install.sh | sh

    Depois execute:

    corecode

    Requer 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
    corecode

    Opção B — arquivo .env (crie no diretório de trabalho)

    GROQ_API_KEY=gsk_sua_chave_aqui
    CORECODE_DEFAULT_PROVIDER=groq

    Opção C — defina em runtime (sem arquivo)

    corecode
    > /key groq gsk_sua_chave_aqui
    > /provider groq

    3. 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-32768

    Chave 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:7b

    Anthropic Claude

    export ANTHROPIC_API_KEY=sk-ant-...
    /provider anthropic
    /model claude-sonnet-4-6
    /model claude-opus-4-6

    OpenAI-compatible (LM Studio, vLLM, Jan)

    export OPENAI_BASE_URL=http://localhost:1234/v1
    export CORECODE_DEFAULT_PROVIDER=openai-compatible
    corecode

    Variá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-it

    Carregar 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.ts

    Salvar conversa como Markdown

    > /save sessao-2025-01-15.md
    ● saved → /Users/you/sessao-2025-01-15.md

    Compactar um histórico longo

    > /compact
    ● 38 mensagens compactadas em resumo

    Definir 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-6

    Estrutura 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/corecode

    Build 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
    corecode

    Arquitetura

    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()         ← diffTool

    Contribuindo

    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 PR

    Autor

    Criado por Estevam Souza


    Licença

    MIT © Estevam Souza