Skip to content

Latest commit

 

History

History
268 lines (207 loc) · 9.08 KB

File metadata and controls

268 lines (207 loc) · 9.08 KB

📋 PRD — NeoCode v1.0

Data: 09 de Abril de 2026 Versão: 2.0 (Aprimorada pelo Pipeline PO + PM) Status: Aprovada — Pronta para Desenvolvimento


1. Visão do Produto

NeoCode é um CLI agentic open-source que herda a arquitetura madura do NeoCode (fork direto do Claude Code) e o transforma no agente de terminal mais poderoso, privado e acessível do mercado. Roda 100% local por padrão (Ollama), com suporte nativo a +200 modelos via OpenAI-compatible APIs.

Inclui Computer Use full, AutoReview, AutoResearch (Karpathy-style), Self-Improve Loop, Guidance Agent permanente, Memory Palace com Knowledge Graph, AutoDream (consolidação de memória), BTW (mensagens assíncronas) e notificações em canais reais (Telegram, WhatsApp, Discord).

Qualquer pessoa com um PC comum (8GB RAM) transforma o terminal em um engenheiro sênior autônomo — tudo com privacidade total e instalação em 30 segundos.


2. Diferenciais Competitivos

# Diferencial vs Claude Code vs Cursor vs Aider
1 100% local por padrão (Ollama) � Requer API � Cloud � Requer API
2 Multi-provider (+200 modelos) � Só Anthropic Parcial Parcial
3 Computer Use full (screenshot+mouse/kb) ✅ � �
4 AutoDream (consolidação de memória) ✅ (leak) � �
5 BTW (mensagens assíncronas) ✅ (leak) � �
6 Memory Palace + Knowledge Graph � � �
7 Guidance Agent permanente � � �
8 Notificações em canais reais � � �
9 Open-source + privacidade total � Parcial ✅
10 Plugin system extensível (MCP) � Parcial �
11 gRPC headless server � � �
12 🆕 Matrix-inspired visual identity � � �

3. Público-Alvo

Persona Perfil Necessidade Principal
Dev Solo Indie dev, PC 8GB Agente local sem custos de API
Equipe Pequena 2-5 devs em startup Colaboração + BTW
Power User Dev sênior / arquiteto Computer Use + AutoResearch + Memory Palace
Hobbyist/Maker Entusiasta não-dev Instalação ultra-simples
Empresa Privacy-First Dados sensíveis Zero telemetria + on-premise

4. Stack Técnica (baseada no codebase real do NeoCode)

Core Runtime:
  language: TypeScript (ES Modules)
  runtime: Bun v1.2+ (build + test) / Node.js 20+ (runtime)
  build: bun build (scripts/build.ts)
  ui_framework: React 19 + Ink (terminal UI)
  binary_entry: bin/neocode

Provider Layer (existente):
  shims: openaiShim.ts, codexShim.ts
  routing: agentRouting.ts (por goal/agent)
  config: providerConfig.ts + .neocode-profile.json

Tools Layer (48+ existentes):
  code: BashTool, PowerShellTool, FileEditTool, FileReadTool, FileWriteTool
  search: GlobTool, GrepTool, WebSearchTool, WebFetchTool
  agent: AgentTool, TaskCreateTool, WorkflowTool
  mcp: MCPTool, ListMcpResourcesTool, ReadMcpResourceTool
  computer_use: src/utils/computerUse/ (executor, wrapper, gates)

Memory Layer:
  existente: src/memdir/ + src/services/extractMemories/ + SessionMemory/
  novo: ChromaDB + SQLite Knowledge Graph (Memory Palace)

AutoDream (existente — aprimorar):
  src/services/autoDream/ (autoDream.ts, config.ts, consolidationLock.ts, consolidationPrompt.ts)

BTW (existente — aprimorar):
  src/commands/btw/

Notifications (NOVO):
  telegram: node-telegram-bot-api
  discord: discord.js
  whatsapp: whatsapp-web.js (plugin opcional)

Communication:
  gRPC: @grpc/grpc-js + protobuf (existente)
  WebSocket: ws (existente)

Dependências Novas (apenas adições ao NeoCode)

{
  "novas": {
    "chromadb": "^1.10.0",
    "better-sqlite3": "^11.5.0",
    "node-telegram-bot-api": "^0.66.1",
    "discord.js": "^14.16.0"
  },
  "remover": {
    "@anthropic-ai/bedrock-sdk": "proprietário",
    "@anthropic-ai/foundry-sdk": "proprietário",
    "@growthbook/growthbook": "feature-flags proprietário",
    "@opentelemetry/*": "telemetria (ou tornar opt-in)"
  }
}

5. Requisitos Funcionais

RF-01: Rebranding & Identity

  • Renomear binários, package, paths: neocode → neocode
  • Config: ~/.neocode/ e .neocode/
  • Backward-compat com aliases neocode por 3 meses
  • 🆕 Visual identity Matrix-inspired (ver Design System)

RF-02: Multi-Provider Layer

  • Ollama como provider padrão com auto-detection no startup
  • Healthcheck + fallback automático entre providers
  • UX refinada do /provider (Ollama em destaque)

RF-03: Permission System & Sandbox

  • Permissão granular por ação (screenshot vs click vs type)
  • Modo "yolo" configurável por sessão
  • Audit log de todas as ações executadas

RF-04: Computer Use Full (Multi-Provider)

  • Abstrair hostAdapter para interface genérica (não Anthropic-only)
  • Screenshot + OCR independente de provider
  • Mouse/keyboard actions via Node FFI
  • Multi-monitor support

RF-05: Memory Palace Híbrido

  • Wings (categorias) e Rooms (sub-categorias) sobre memdir
  • Knowledge Graph via SQLite (entidades + relações)
  • Embeddings locais via ChromaDB
  • Import/export de memórias
  • Comando /memory graph para visualização

RF-06: Guidance Agent Permanente

  • Contexto carregado do project-memory.md + .neocode/guidance.md
  • Injeta diretrizes em cada prompt
  • Auto-update baseado em learnings

RF-07: AutoReview

  • Review automático pós file-edit
  • Integração ESLint/Prettier como regras
  • Severidade: silent / warn / block

RF-08: AutoResearch (Karpathy-style)

  • Pesquisa automática de conceitos desconhecidos
  • Cache de pesquisas recentes
  • Citação de fontes no output

RF-09: AutoDream (aprimorar existente)

  • Merge de duplicatas, eliminação de contradições
  • Pruning de memórias obsoletas
  • Trigger: idle / intervalo / manual
  • Log de auditoria

RF-10: BTW (aprimorar existente)

  • Mensagens assíncronas sem poluir histórico
  • Envio via canais (Telegram/Discord)
  • Buffer para review: /btw list

RF-11: Daemon KAIROS 2.0

  • Background: AutoDream scheduling, BTW dispatch, Notifications
  • Config: .neocode/kairos.yaml
  • Health monitoring

RF-12: Notificações em Canais

  • Telegram (priority), Discord, WhatsApp (plugin)
  • Webhook genérico para integração custom

RF-13: Prompt Enhance

  • Pre-processing do prompt para modelo em uso
  • Chain-of-thought injection para modelos pequenos
  • Context window management inteligente

RF-14: Self-Improve Loop

  • Análise pós-sessão de erros e padrões
  • Sugestões de melhoria no project-memory.md

RF-15: Instalação Cross-Platform

  • Script universal (bash + PowerShell)
  • Auto-install de Ollama + modelo padrão
  • Landing page get.neocode.dev

6. Requisitos Não-Funcionais

ID Requisito Métrica
RNF-01 Tempo de startup CLI ≤ 2s (cold start)
RNF-02 Latência resposta (Ollama local) ≤ 500ms first token
RNF-03 RAM em idle ≤ 300MB
RNF-04 RAM com modelo 7B ≤ 6GB total
RNF-05 Tamanho do binário ≤ 50MB (sem modelo)
RNF-06 Cobertura de testes ≥ 70% core
RNF-07 Tempo de build ≤ 30s
RNF-08 Zero dados externos Verificável via script

7. Métricas de Sucesso

Métrica v0.1 v1.0
GitHub Stars 1.000 10.000
Instalações/semana 500 5.000
Contribuidores ativos 10 50
Modelos suportados testados 10 50+

8. Priorização MoSCoW

MUST (MVP v0.1): M1–M6 (Rebranding, Multi-provider, Sandbox, Computer Use, Installer, Privacy) SHOULD (v0.5): S1–S7 (Memory Palace, Guidance, AutoReview, AutoResearch, AutoDream, BTW, Prompt Enhance) COULD (v1.0): C1–C7 (Self-Improve, KAIROS, Channels, Teams, VS Code, Git, Plugins) WON'T (futuro): Mobile app, GUI Desktop, Cloud hosting


9. Riscos

Risco Prob. Impacto Mitigação
Licença derivada do Claude Code Alta Crítico Auditoria legal; MIT; remover refs proprietárias
Modelos 7B em tool-calling complexo Alta Alto Fallback chain + prompt engineering
robotjs builds nativos Média Alto Avaliar @napi-rs/clipboard + alternativas
WhatsApp Web.js instabilidade Média Médio Plugin opcional, não core
Binary size com bun pkg Média Médio Tree-shaking + lazy-loading

10. Quick Start

# Instalar
curl -fsSL https://get.neocode.dev | bash

# Iniciar (auto-detecta Ollama)
neocode

# Configurar modelo
/provider ollama qwen2.5-coder

# Ativar features
/memory palace on
/autoreview on
/channel telegram <token>
/btw
/research "implementar feature X"
/dream

📎 Documentos relacionados: