Percorra a adição de um novo tipo de fonte ou adapter de modelo e prove com testes.
O Alembic é projetado para ser estendido. Este lab tem duas trilhas:
@alembic/ingestion. Por exemplo, um exportador Notion, um fetcher de transcrição YouTube ou um leitor de feed RSS.@alembic/adapters. Por exemplo, um adapter Ollama local ou um novo endpoint OpenAI-compatible.Em ambas as trilhas você edita o contract, implementa a interface, adiciona testes e executa o comando de verificação.
Pense assim… adicionar um novo tipo de tomada na casa: as regras de fiação permanecem as mesmas, mas o plug muda.
Um collector implementa o contrato de oito fases e retorna um WikiPackage. Um adapter implementa ModelAdapter e é registrado via createAdapterRegistry. Para adapters, adicione o id do modelo e preço em packages/contracts/src/registry.ts. Para collectors, adicione um subcomando CLI em apps/cli/src/args.ts e um runner em commands.ts.
# verifique o monorepo todo após mudanças pnpm -r typecheck pnpm -r build pnpm -w test # execute apenas o pacote alterado pnpm --filter @alembic/ingestion test
Testes para adapters devem afirmar sobre o formato de ModelRunResult e modos de falha, não sobre respostas live. Use nock ou um servidor mock local. Testes para collectors devem afirmar cada fase: preflight, cursor, capture, materialize, validate. O adapter offline em @alembic/adapters é uma boa referência para comportamento determinístico.
Escolha Trilha A ou B. Implemente a versão mínima, adicione um teste e execute a suite do pacote. Depois execute o comando de verificação completo.