Servidor Local, Privado e Otimizado para IA de Documentação de Código
RDContext é uma ferramenta local e focada em privacidade para construir contexto amigável à IA para qualquer biblioteca baseada em seus arquivos de documentação — incluindo repositórios privados. Extraia, indexe e sirva documentação para assistentes de IA, IDEs e fluxos de trabalho com LLM.
# Clone o repositório
git clone https://github.com/resultadosdigitais/rdcontext.git
cd rdcontext
# Dar permissão de execução ao script
chmod +x install-rdcontext-cursor.sh
# Execute o script de instalação
./install-rdcontext-cursor.shEste script irá:
- ✅ Verificar versão do Node.js (18.12+ obrigatório, 20+ LTS recomendado)
- ✅ Instalar rdcontext globalmente
- ✅ Configurar API keys (Gemini/OpenAI) de forma segura
- ✅ Configurar token do GitHub para repos privados
- ✅ Configurar MCP para o Cursor automaticamente
- ✅ Adicionar bibliotecas de exemplo (FrontHub, Tangram)
Requisitos:
- Node.js 18.12+ (20+ LTS recomendado)
- npm ou bun
- Git
# Instalar globalmente
npm install -g rdcontext
# Ou usar diretamente
npx rdcontext --helpO RDContext MCP busca documentação e exemplos de código atualizados e específicos de versão de repositórios GitHub e os disponibiliza para sua IDE.
Adicione use rdcontext ao seu prompt no Cursor:
Crie um componente Button usando o Tangram Design System, use rdcontext
O RDContext busca exemplos de código e documentação atualizados diretamente no contexto do seu LLM.
- Escreva seu prompt
- Diga ao LLM para usar RDContext
- Obtenha respostas de código funcionais
Sem mudança de abas, sem APIs alucinadas, sem gerações de código desatualizadas.
-
Adicionar uma Biblioteca:
Use a CLI para buscar arquivos de documentação (Markdown/MDX) de repo/branch/tag/pastas especificadas. -
Extração por IA:
Cada arquivo de documentação é processado por LLM para extrair snippets de código, títulos e descrições otimizadas para recuperação. -
Indexação Local:
Todos os dados extraídos são armazenados em um banco de dados SQLite local no diretório de dados do usuário. -
Consulta e Servir:
Use a CLI para consultar docs/snippets, ou inicie o servidor MCP para integrar com ferramentas de IA.
- CLI: Adicione, liste e remova documentação usando nossa CLI
- Servidor MCP: Servidor Model Context Protocol para o Cursor
- Local e Privado: Todos os dados armazenados localmente usando SQLite. Sem nuvem necessária
- Personalizável: Escolha pastas/arquivos para indexar, controle branches/tags
- Repos Privados: Adicione documentação de repositórios GitHub privados
- Multiplataforma: Funciona no Linux, macOS e Windows
Obrigatório: Configure pelo menos uma API key de provedor de IA:
O script de instalação sempre pergunta ao usuário pelas configurações necessárias:
- API Keys são solicitadas interativamente
- GitHub Token é configurado conforme escolha do usuário
- Provedor de IA é selecionado pelo usuário
- Configurações MCP são criadas automaticamente
# Para Gemini (recomendado)
export GEMINI_API_KEY="sua-chave-aqui"
export AI_PROVIDER="gemini"
# Para OpenAI (alternativo)
export OPENAI_API_KEY="sua-chave-aqui"
export AI_PROVIDER="openai"Configuração via arquivo .env:
# ~/.env ou ~/.bashrc ou ~/.zshrc
export GEMINI_API_KEY="sua-api-key-do-gemini"
export OPENAI_API_KEY="sua-api-key-do-openai" # opcional
export AI_PROVIDER="gemini" # ou "openai"Obtenha suas chaves:
Para repositórios privados:
export GITHUB_TOKEN=ghp_seu_token_github_aquiObtenha seu token: https://github.com/settings/tokens
rdcontext add <owner/repo> [--branch <branch>] [--tag <tag>] [--folders <pasta1> <pasta2>] [--token <github_token>]Exemplos:
# Adicionar o Tangram (design system)
rdcontext add "resultadosdigitais/tangram" --folders "docs/examples/components" "docs/docs" "docs/code" --token ghp_xxx
# Adicionar o FrontHub (microfrontends)
rdcontext add "resultadosdigitais/front-hub" --folders "packages/front-hub-docs/docs" --token ghp_xxx
# Adicionar versão específica
rdcontext add "shadcn-ui/ui" --tag v0.9.4
# Repo privado com token
rdcontext add "myorg/myrepo" --folders "docs" --token ghp_xxxrdcontext listrdcontext get <owner/repo> [tópico] [--k <número_de_snippets>]Exemplos:
# Buscar exemplos de botões
rdcontext get resultadosdigitais/tangram "botão"
# Buscar exemplos de componentes
rdcontext get resultadosdigitais/front-hub "componente"
# Buscar padrões de design
rdcontext get resultadosdigitais/tangram "padrões de design"rdcontext rm <owner/repo>Use o script de instalação que configura automaticamente o MCP:
./install-rdcontext-cursor.shSe preferir configurar manualmente, adicione ao ~/.cursor/mcp.json:
{
"mcpServers": {
"rdcontext": {
"command": "rdcontext",
"args": ["start"],
"env": {
"AI_PROVIDER": "gemini",
"GEMINI_API_KEY": "sua-api-key-aqui",
"GEMINI_EMBEDDING_MODEL": "text-embedding-004"
}
}
}
}- Instale o rdcontext usando o script de instalação
- Reinicie o Cursor para aplicar as configurações MCP
- Digite no editor:
"Mostre exemplos de botões do Tangram" - Use o contexto: O rdcontext fornecerá exemplos reais e atualizados
Mínimo: Node.js 18.12+
Recomendado: Node.js 20+ LTS
O RDContext usa recursos modernos do JavaScript:
- ES Modules (
import/export) awaitde nível superior- API Fetch nativa
- APIs crypto modernas
Verificar versão:
node --versionAtualizar Node.js:
# Ubuntu/Debian
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt-get install -y nodejs
# macOS
brew install node
# Ou use nvm
nvm install --lts
nvm use --ltsErros comuns:
SyntaxError: Unexpected token 'export'→ Atualize o Node.jsReferenceError: fetch is not defined→ Atualize para Node.js 18+Cannot use import statement→ Atualize o Node.js
-
Banco de Dados: Usa diretório padrão de dados do SO
- Linux:
~/.local/share/rdcontext/rdcontext.db - macOS:
~/Library/Application Support/rdcontext/rdcontext.db - Windows:
%LOCALAPPDATA%\rdcontext\Data\rdcontext.db
- Linux:
-
Sem Nuvem: Todos os dados permanecem na sua máquina
-
Privacidade: Sem telemetria ou compartilhamento de dados externos
# Listar bibliotecas
rdcontext list
# Adicionar nova biblioteca
rdcontext add <owner/repo> --folders docs,src
# Remover biblioteca
rdcontext rm <owner/repo>
# Buscar documentação
rdcontext get <owner/repo> "tema"
# Iniciar servidor MCP
rdcontext startPara Desenvolvedores:
rdcontext get "resultadosdigitais/tangram" "padrões de design"
rdcontext get "resultadosdigitais/tangram" "formulário validação"
rdcontext get "resultadosdigitais/tangram" "ícones"Para Criação de Telas:
rdcontext get "resultadosdigitais/front-hub" "layout responsivo"
rdcontext get "resultadosdigitais/front-hub" "microfrontend"
rdcontext get "resultadosdigitais/front-hub" "integração"Digite no editor:
👉 "Mostre exemplos de formulários do Tangram"
"rdcontext: command not found"
# Recarregar shell
source ~/.bashrc # ou ~/.zshrc
# Ou instalar globalmente
npm install -g rdcontextErro de API Key
echo $GEMINI_API_KEY
export GEMINI_API_KEY="sua-chave"Erro de permissão
chmod +x $(which rdcontext)Servidor não responde
ps aux | grep rdcontext
pkill -f rdcontext
rdcontext start"No sessionId" no navegador
- Isso é normal para servidores MCP
- Use através da sua IDE, não diretamente no navegador
Limites de Rate da API
- Use token do GitHub para limites maiores
- Gemini tem tier gratuito generoso
- OpenAI requer conta paga para uso em produção
Erros de Build
# Limpar cache e reinstalar
npm cache clean --force
npm install -g rdcontext- Verifique este README
- Execute
rdcontext --help - Verifique Issues no GitHub
- Verifique versão do Node.js (18.12+ obrigatório)
Script principal para instalação no Cursor:
- ✅ Instalação limpa e interativa
- ✅ Configuração automática do MCP
- ✅ Preserva configurações MCP existentes
- ✅ Adiciona bibliotecas da RD Station automaticamente
# Dar permissão de execução
chmod +x install-rdcontext-cursor.sh
# Executar instalação
./install-rdcontext-cursor.sh# Clonar repositório
git clone https://github.com/resultadosdigitais/rdcontext.git
cd rdcontext
# Instalar dependências
npm install
# Build
npm run build
# Instalar localmente
npm install -g .
# Executar testes
npm testLicença MIT - veja o arquivo LICENSE para detalhes.
✨ Feliz codificação com RDContext!