Sobre o projeto

ctx é uma cadeia de ferramentas CLI aberta, local e rápida para engenharia de contexto voltada a agentes de codificação. Ela indexa o histórico já armazenado na sua máquina por ferramentas como Claude Code, Codex, Cursor, Pi e Gemini CLI, convertendo logs específicos de cada provedor em registros locais consistentes para sessões, mensagens, chamadas de ferramentas, relacionamentos e atividade do repositório. Os agentes podem então pesquisar esse histórico com `ctx search`, inspecionar eventos exatos ou transcrições completas com `ctx show` e identificar locais de origem com `ctx locate`. A pesquisa usa correspondência lexical BM25 por padrão, com pesquisa semântica local opcional habilitada por meio de `ctx semantic enable`. Um recurso importante é o `ctx blame`, que funciona como git blame, mas atribui o código commitado à sessão do agente que o produziu, com citações de volta à transcrição original e às chamadas de ferramentas. Ele pode começar a partir de um arquivo e intervalo de linhas, um commit ou um pull request, ajudando os agentes a recuperar restrições, decisões, abordagens fracassadas e suposições que não estão mais visíveis no código. `ctx graph` fornece mapeamento do codebase e análise de impacto. É uma implementação independente em Rust inspirada no Graphify, armazenando o grafo em SQLite para que as pesquisas consultem o banco de dados diretamente e as atualizações afetem apenas os arquivos alterados. O projeto relata desempenho de pesquisa e atualização substancialmente mais rápido que o Graphify em repositórios grandes, preservando a compatibilidade com bancos de dados `.graf/index.db` existentes. `ctx sift` reduz a saída ruidosa de ferramentas antes que ela chegue a um agente de codificação, deixando os comandos originais intactos e gastando menos tokens com caminhos repetidos, logs e formatação. A compactação comum é executada localmente, e a retenção opcional do original permite a recuperação da saída capturada completa com `ctx sift recall`. A indexação do histórico é executada localmente, sem hooks ou código dentro do processo do agente. A indexação automática mantém o índice local atualizado, e as atualizações só se tornam visíveis depois de concluídas. O projeto também inclui suporte beta para fazer backup do histórico ou compartilhar sessões selecionadas por meio de um servidor ctx autocontrolado, com compartilhamento opcional. SDKs estão documentados para TypeScript, Python, Rust, Go, JVM, Swift e .NET, e plugins de histórico personalizados podem adaptar formatos de agentes não suportados.