AIC
Servidor MCP local-first que opera de forma transparente entre seu editor de IA e qualquer modelo, classificando intenções, selecionando os arquivos corretos e compilando contexto focado — sem necessidade de invocação manual.
Documentação
Servidor MCP local-first que compila contexto focado para Cursor e Claude Code — classifica a intenção, seleciona arquivos relevantes, remove ruído e bloqueia segredos antes que cheguem ao modelo.
AIC não substitui seu editor. Ele roda junto com editores compatíveis com MCP e melhora o contexto que eles enviam ao modelo.
Por que desenvolvedores usam AIC
Ferramentas de codificação com IA frequentemente trazem contexto irrelevante demais. Isso desperdiça tokens, enfraquece o seguimento de instruções e aumenta alucinações.
AIC adiciona uma etapa de compilação antes de o modelo rodar:
- classifica a tarefa
- seleciona os arquivos mais relevantes
- bloqueia conteúdo sensível ou irrelevante
- comprime o resultado para caber em um orçamento de tokens
- retorna um pacote de contexto limitado sobre o qual o modelo pode raciocinar
O resultado é uma entrada menor, mais relevante e mais inspecionável.
Com o que ajuda
| Problema | O que AIC faz |
|---|---|
| Contexto irrelevante demais | Seleciona e comprime apenas os arquivos que importam |
| Qualidade de contexto inconsistente | Produz contexto compilado determinístico para a mesma tarefa e base de código |
| Tokens desperdiçados | Remove ruído e comprime progressivamente o conteúdo para permanecer dentro do orçamento |
| Risco de exposição de segredos | Bloqueia segredos, caminhos excluídos e strings suspeitas de injeção de prompt localmente |
| Sem visibilidade do que o modelo viu | Mostra resumos de compilação, o prompt compilado em disco sob .aic/ no projeto e pontuações opcionais de seleção por arquivo via MCP aic_last (veja Detalhe de seleção após os exemplos abaixo) |
| Atraso do editor devido à compactação de contexto | O contexto compilado é limitado por um orçamento rígido de tokens, então sua contribuição para o preenchimento da janela é previsível independentemente do tamanho do repositório; isso deixa uma margem estável na janela de contexto e reduz a pressão sobre a compactação |
Saída real capturada
Os exemplos abaixo espelham o quadro de stdout compartilhado impresso pela CLI de diagnóstico (status, last, chat-summary, projects, quality — ou pnpm aic ao desenvolver este repositório com devMode): cada tabela começa com uma linha de título e uma régua de largura total, depois uma linha hero (sempre presente), outra régua, linhas body de largura fixa (os rótulos padRow têm 32 caracteres de largura em show aic status e 30 caracteres de largura nas outras tabelas de diagnóstico, exceto o roster projects de múltiplas colunas), e uma régua de fechamento opcional mais nota de rodapé (ambas omitidas no roster projects, que termina após suas linhas de corpo). Os valores são representativos (não uma única sessão verbatim); os totais vêm do seu banco de dados local (~/.aic/aic.sqlite) e do projeto atual, então sua saída não corresponderá exatamente a esses números.
show aic status
Status = project-level AIC status.
──────────────────────────────────────────────────────────────────────────────
AIC optimised context across 8,743 context builds; cumulative raw → sent tokens 6.80B → 100.57M (68:1 ratio); 37.1% cache hit rate; 98.5% context precision (weighted).
──────────────────────────────────────────────────────────────────────────────
Context builds (total) 8,743
Context builds (today, UTC) 94
Cumulative raw → sent tokens 6.80B → 100.57M (68:1 ratio)
Tokens excluded 6,695,482,938
──────────────────────────────────────────────────────────────────────────────
Context window used (last run) 72.4%
Cache hit rate 37.1%
Context precision (weighted) 98.5%
──────────────────────────────────────────────────────────────────────────────
Guard scans (lifetime) count
command-injection 670,061
excluded-file 59
prompt-injection 4,743
secret 16
Top request types count share
general 5,043 69.9%
docs 1,098 15.2%
bugfix 1,072 14.9%
Sessions total time 509h 14m
Last compilation fix session time always showing — in status
4 / 591 files · 1,842 tokens · 2 min ago
──────────────────────────────────────────────────────────────────────────────
Installation (global MCP server) OK
──────────────────────────────────────────────────────────────────────────────
Context precision (weighted): % of repo content automatically filtered per context build.
Context window used: % of token budget filled.
Uma janela de tempo contínua no status (
show aic status 7doustatus --window 7) adiciona uma linha de corpo Intervalo de tempo (Last 7 daysquando N é 7) e altera o cabeçalho do bloco de guarda deGuard scans (lifetime)paraGuard scans (Nd)(mesmo N da janela) para que o rótulo corresponda à janela agregada da guarda. Vejaimplementation-spec.md—aic_statusemcp/src/format-diagnostic-output.ts.
show aic last
Last = most recent compilation.
──────────────────────────────────────────────────────────────────────────────
AIC optimised context by intent: files forwarded 5 of 567; tokens compiled 595 of 123,500 allocated (0.5% of token budget); token reduction 99.9% (raw to compiled).
──────────────────────────────────────────────────────────────────────────────
Context builds 7,666
Intent task 318 spec-compile-cache migration 004 SqliteSpecCompileCacheStore
Files 5 selected / 567 total
Tokens compiled 595
Compiled in 2.4 s
Context window used 0.5%
Compiled 2 min ago
Editor claude-code
Session time 2h 14m
Cache miss
Guard (this run) 2 findings across 5 files (2 files blocked)
Compiled prompt Available (595 tokens) — .aic/last-compiled-prompt.txt (project root)
──────────────────────────────────────────────────────────────────────────────
Context window used: % of token budget filled.
show aic chat summary
Chat = this conversation's AIC compilations.
──────────────────────────────────────────────────────────────────────────────
AIC optimised context by intent across 42 compilations (88:1 ratio, 40.0% cache hit rate).
──────────────────────────────────────────────────────────────────────────────
Project path /dev/AIC
Context builds 42
Cumulative raw → sent tokens 8.80M → 100,000 (88:1 ratio)
Tokens excluded 5.00M
──────────────────────────────────────────────────────────────────────────────
Cache hit rate 40.0%
Context precision (weighted) 55.2%
──────────────────────────────────────────────────────────────────────────────
Last compilation refactor diagnostic output · 2 min ago
Session time 3h 12m
Top request types count share
refactor 20 62.5%
general 12 37.5%
──────────────────────────────────────────────────────────────────────────────
Context precision (weighted): % of repo content automatically filtered per context build.
show aic projects
Projects = known AIC projects.
──────────────────────────────────────────────────────────────────────────────
1 project(s); 7,796 compilations; latest activity 2 min ago.
──────────────────────────────────────────────────────────────────────────────
Project ID Path Last seen Compilations
018f0000-0000-7000-8000-00000000aa01 /Users/dev/AIC 2 min ago 7,784
show aic quality
Quality = context build quality metrics.
──────────────────────────────────────────────────────────────────────────────
AIC optimised context by intent across 137 compilations in the last 7 days (median 99.6% filtered, 38.0% cache hit rate).
──────────────────────────────────────────────────────────────────────────────
Time range Last 7 days
Compilations 137
──────────────────────────────────────────────────────────────────────────────
Median context precision 99.6%
Median selection ratio 1.1%
Median budget used 3.1%
Cache hit rate 38.0%
Tier mix
full 100.0%
sig+doc 0.0%
sigs 0.0%
names 0.0%
Task class mix count share budget
refactor 4 2.9% 0.4%
bugfix 12 8.8% 0.7%
feature 9 6.6% 0.5%
docs 24 17.5% 3.1%
test 4 2.9% 0.7%
general 84 61.3% 14.6%
Classifier mean 7.5%
Daily compilations ▁▁▁▁▁▁█
Tue Wed Thu Fri Sat Sun Mon
──────────────────────────────────────────────────────────────────────────────
Context precision % of repo content automatically filtered per context build.
Selection ratio: % of repo files selected per build.
Budget used: % of token budget consumed per build.
Cache hit rate: % of builds served from cache without recompiling.
Tiers: full = entire file · sig+doc = signatures + docs · sigs = signatures only · names = symbol names only.
Compilations Builds AIC performed in this window (cache hits included).
Task class mix How AIC classified each build, with its share and median
token budget used. Higher "budget" means AIC allocated
more context for that task type. "general" is the
classifier's fallback when confidence is low.
Classifier mean Mean confidence of the task classifier (0-100%). Low values
mean frequent fallback to "general" — not a quality
problem by itself, but worth noting when most builds
are "general".
A CLI usa por padrão uma janela de 7 dias quando você omite flags (
show aic qualityouaic quality). Com compilações na janela, o corpo também inclui linhas de mediana, mix de níveis, colunas de classe de tarefa, sparklines opcionais e a mesma nota de rodapé de glossário de várias linhas mostrada abaixo para o caso vazio.
Início rápido
Requisitos: Node.js >= 22 (veja .nvmrc para a versão principal do Node de referência usada para desenvolver e testar AIC).
Cursor
-
Instale o servidor MCP — instale a partir do Cursor Directory, use o link de um clique abaixo ou copie a URL para o seu navegador:
Ou copie esta URL:
cursor://anysphere.cursor-deeplink/mcp/install?name=aic&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBqYXRiYXMvYWljQGxhdGVzdCJdfQ==O Cursor solicitará que você adicione o servidor à sua configuração MCP global (
~/.cursor/mcp.json). Confirme e pronto. AIC agora está disponível em todos os workspaces — nenhuma configuração por projeto é necessária. -
Comece a dar prompts — aprove as ferramentas quando solicitado e comece a codar. No primeiro
aic_compilepara o projeto (ou quando o servidor vê o projeto pela primeira vez via raízes do workspace), AIC escreveaic.config.json, o diretório.aic/, entradas de arquivos de ignore e a regra de gatilho do Cursor. Quando o Cursor está em uso, o bootstrap também instala hooks de ciclo de vida do Cursor (.cursor/hooks.jsone os scriptsAIC-*.cjs) executando o instalador incluído em@jatbas/aic, a menos que seu projeto já contenhaintegrations/cursor/install.cjs(essa cópia no repositório tem precedência). Todos os projetos compartilham um banco de dados em~/.aic/aic.sqlite; outros arquivos por projeto permanecem no diretório do projeto. Veja Instalação — Cursor para detalhes completos.
Claude Code
- Adicione o marketplace da AIC:
/plugin marketplace add Jatbas/agent-input-compiler - Instale o plugin:
/plugin install aic@aic-tools
O plugin inicia o servidor MCP e registra hooks para que cada projeto receba contexto compilado automaticamente. Nada mais para instalar ou configurar. Para pré-requisitos, instalador direto e solução de problemas, veja Instalação — Claude Code.
Desabilitando AIC para um projeto específico
Adicione "enabled": false a aic.config.json na raiz do projeto. AIC retorna imediatamente sem compilação e sem gravações no banco de dados. Defina de volta para true (ou remova o campo) para reativar. O comando show aic status reflete o estado atual.
Para a lista completa de opções de configuração disponíveis, veja §6 Configuração no Plano do Projeto.
Para remover pastas geradas ou de runtime do contexto compilado (.gitignore vs aic-rules/… excludePatterns vs guard.allowPatterns), veja Ignorando arquivos e pastas.
Outros editores
AIC requer uma camada de integração dedicada para compilar contexto automaticamente. Cursor e Claude Code têm camadas de integração de primeira classe; outros editores ainda não têm uma. Para solicitar suporte para seu editor ou contribuir com uma camada de integração, abra uma issue.
Desinstalar
Use Node.js >= 22 (correspondente a engines.node). Baixe o script de desinstalação autônomo:
curl -fsSL -o aic-uninstall-standalone.cjs https://raw.githubusercontent.com/Jatbas/agent-input-compiler/main/integrations/aic-uninstall-standalone.cjs
Execute-o no seu projeto:
node aic-uninstall-standalone.cjs --project-root /path/to/project
Por padrão, isso remove artefatos para ambos os editores. Passe --cursor para limitar a limpeza apenas ao Cursor, ou --claude para limitar apenas ao Claude Code.
Para --global, remoção de banco de dados e a lista completa de flags, veja Instalação — Desinstalar.
Comandos
Estes são prompts em linguagem natural para a IA do seu editor, não comandos de terminal. Use apenas as palavras antes de # em cada linha; tudo depois de # é um lembrete para você, não parte do prompt.
show aic status # project-level status and lifetime stats
show aic last # most recent compilation (table); MCP JSON may include selection trace
show aic chat summary # per-conversation compilation stats for this workspace
show aic projects # known AIC projects (IDs, paths, last seen, compilation counts)
show aic quality # rolling-window compile transparency metrics (default 7 days; pass --window <1-365>)
run aic model test # MCP-only: agent capability probe (aic_model_test + aic_compile)
Verifique sua configuração
Execute as frases em Comandos acima e depois verifique o seguinte.
O que procurar:
- Instalação (servidor MCP global): OK em
show aic status(a saúde reflete a sessão do servidor MCP, não uma fatia isolada do projeto) - uma compilação recente em
show aic last(envie uma mensagem de codificação normal primeiro se nada tiver compilado ainda), incluindo a linha Cache (hit/miss/—) - estatísticas de compilação por conversa em
show aic chat summarydepois que AIC registrou pelo menos uma compilação para a conversa atual do editor (no Cursor, compilações de subagentes da ferramenta Task são reparentadas para o chat pai via hooksubagentStoppara que contem nesse thread) - contagem de arquivos selecionados, tokens compilados e números de precisão de contexto que façam sentido para a tarefa
- AIC bloqueando conteúdo sensível ou excluído
- seu caminho de projeto listado em
show aic projectsdepois que AIC viu o workspace - opcional: run aic model test retorna uma tabela de aprovação/reprovação se o agente puder chamar
aic_model_testeaic_compileem sequência (veja Instalação — Servidor AIC)
Se não houver compilação recente, o modelo pode não estar chamando AIC automaticamente. Verifique se as ferramentas AIC estão aprovadas nas configurações MCP do seu editor e tente iniciar um novo chat.
Configuração de equipe
Para uso em equipe, a divisão prática é simples:
- cada desenvolvedor instala o servidor MCP em sua máquina
- commite
aic.config.jsoncompartilhados e arquivos de regras do editor quando quiser que toda a equipe use as mesmas configurações — o bootstrap adicionaaic.config.jsonaos arquivos de ignore por padrão, então remova essa entrada de ignore (ou adicione uma exceção) se o arquivo deve viver no git; veja Artefatos por Projeto .aic/(cache local e dados de runtime) permanece na máquina de cada desenvolvedor e não deve ser commitado
AIC é útil para indivíduos, mas se torna mais valioso quando equipes querem qualidade de contexto mais consistente na mesma base de código.
Como AIC se encaixa no fluxo de trabalho
- Sua integração de editor (hooks e/ou a regra de gatilho) está configurada para chamar
aic_compileantes ou como parte do tratamento de cada mensagem do usuário — veja installation.md para como isso difere por editor - AIC classifica a tarefa, seleciona arquivos relevantes, aplica guardrails e comprime o conteúdo
- AIC retorna um pacote de contexto limitado
- O editor continua o fluxo de trabalho normal do modelo usando esse contexto compilado
AIC compila contexto. Ele não chama modelos, não substitui o editor nem atua como um ambiente de codificação separado.
Segurança
AIC é local-first. Todo o processamento roda na máquina do desenvolvedor.
O Context Guard da AIC exclui o seguinte do contexto compilado antes que chegue ao modelo:
- segredos e credenciais comuns
- caminhos excluídos como
.env, chaves e arquivos sensíveis semelhantes - strings suspeitas de injeção de prompt no conteúdo selecionado
Isso impede que conteúdo sensível seja incluído em contexto em massa. Não impede que o modelo leia arquivos diretamente por meio de ferramentas do editor — isso é responsabilidade do editor. Para detalhes, veja
security.md.A telemetria é local por padrão. AIC armazena metadados de compilação localmente e não precisa de conta AIC ou chave de API.
Documentação
Use o README para orientação. Use os documentos abaixo para detalhes de implementação.
| Document | Description |
|---|---|
installation.md | Instalação, entrega, bootstrap e detalhes por editor |
CHANGELOG.md | Histórico de versões e notas de lançamento |
CONTRIBUTING.md | Configuração de desenvolvimento, execução a partir do código-fonte, processo de contribuição |
architecture.md | Pipeline principal, camada de integração, modelo de capacidades do editor |
best-practices.md | Guia prático de uso |
security.md | Modelo de segurança e detalhes de endurecimento |
privacy.md | Visão geral de privacidade — dados locais, telemetria e uso de rede |
implementation-spec.md | Comportamento detalhado do pipeline e da implementação |
project-plan.md | Arquitetura do produto, ADRs e referência completa de configuração |
Referências técnicas para mantenedores (documentation/technical/): Formato de saída de diagnóstico (layout de tabela da CLI e SEP), Servidor MCP e limite CJS compartilhado, Módulos compartilhados de integrações, Caches JSONL do AIC, Camada de integração do Cursor, Camada de integração do Claude Code, Bloqueio e marcador de início de sessão.
Contribuindo
Contribuições são bem-vindas.
Este é um código-fonte estruturado com uma arquitetura definida; alterações pequenas e focadas são revisadas e mescladas mais rapidamente do que refatorações amplas.
Consulte CONTRIBUTING.md para configuração de desenvolvimento, testes locais de MCP, requisitos de RFC e a lista de verificação de PR.
Licença
Licenciado sob a Apache License, Versão 2.0.