Extending ctx
A estrutura modular (modules.md) dita onde cada extensão deve morar.
Adicionar suporte a linguagem (extração de assinaturas)
Section titled “Adicionar suporte a linguagem (extração de assinaturas)”- Criar
src/pipelines/map/extractors/<lang>.rsimplementando o traitExtractor. - Registrar dispatch em
src/pipelines/map/extractors/mod.rs. - Testar em
tests/integration.rs.
Estender Catalog (RAG)
Section titled “Estender Catalog (RAG)”- Novos subcomandos: editar
src/main.rs(clap) +src/pipelines/catalog/mod.rs. - Nova estratégia de busca: implementar em
src/pipelines/catalog/searcher.rsou novo módulosrc/pipelines/catalog/<estratégia>.rs. - Re-ranking diferente:
src/pipelines/catalog/reranker.rs.
Adicionar filtro de comando ao Exec
Section titled “Adicionar filtro de comando ao Exec”- Criar/editar
src/pipelines/exec/filters/<família>.rscom função que retornaFilterConfig. - Registrar match em
src/pipelines/exec/registry.rs::lookup_specificoulookup_generic. - Adicionar fixture em
tests/fixtures/e teste emsrc/pipelines/exec/pipeline.rsoutests/filter_snapshots.rs.
Adicionar integração com novo agente
Section titled “Adicionar integração com novo agente”- Implementar
src/integrations/agents/<agente>.rscom impl do traitAgentInstaller. - Adicionar variante em
AgentNameenum (src/integrations/agents/mod.rs). - Roteamento em
installer_for(). - Testes em
tests/agent_install.rs.
Adicionar nova camada de integração (MCP, session continuity, etc)
Section titled “Adicionar nova camada de integração (MCP, session continuity, etc)”- Criar
src/integrations/<nome>/mod.rs. - Registrar em
src/integrations/mod.rs. - Pode importar de
pipelines/*eshared/*. Não pode ser importado porpipelines/*(proíbe ciclos).
Adicionar utilitário cross-cutting
Section titled “Adicionar utilitário cross-cutting”Se algo é usado por múltiplos pipelines (ex: tokenizer, cache, config), vai em src/shared/.
Critério: se só um pipeline usa, mantenha dentro daquele pipeline. Só promove para shared/ quando houver segundo consumidor.
Padrões a seguir
Section titled “Padrões a seguir”- Ver design-patterns.md para invariantes (imutabilidade, error handling, naming).
- Ver docs/competitors/ para inspirações de features futuras já mapeadas.