SwarmVault
Use esta skill quando o usuário quer um cofre de conhecimento local-first construído no padrão LLM Wiki — três camadas (fontes brutas, wiki, schema) onde a LLM mantém uma wiki durável entre você e as fontes brutas. Use também quando o projeto já contém swarmvault.config.json ou swarmvault.schema.md.
Para onboarding, exemplos, referências de comando ou troubleshooting, leia os README.md, examples/, references/ e TROUBLESHOOTING.md inclusos antes de improvisar conselhos de workflow.
Verificações rápidas
- Trabalhe a partir da raiz do cofre.
- Se o cofre ainda não existe, execute
swarmvault init. - Use
swarmvault demo --no-servequando o usuário quer o walkthrough zero-config mais rápido antes de apontar SwarmVault para suas próprias fontes. - Use
swarmvault scan <directory> --no-servequando o usuário quer a passada mais rápida em um repo local ou árvore de docs sem passar manualmente por init + ingest + compile primeiro. - Leia
swarmvault.schema.mdantes do trabalho com compile ou query. É o contrato operacional do cofre. - Se
wiki/graph/report.mdexiste, use-o antes de buscas amplas no repo.
Loop principal
- Inicialize um cofre com
swarmvault initquando necessário. - Atualize
swarmvault.schema.mdantes de um compile sério. Use-o para regras de nomenclatura, categorias, grounding, expectativas de atualização e exclusões. - Use
swarmvault source add <input>quando a entrada é um arquivo local recorrente, diretório local, raiz do repo GitHub público ou hub de docs que deve permanecer registrado. - Ingira entradas únicas com
swarmvault ingest <path-or-url>ou ingira uma árvore de repo inteira comswarmvault ingest <directory>. Arquivos de áudio usamtasks.audioProviderquando configurado, e URLs do YouTube suportadas passam por captura de transcrição direta em vez de ingest de URL genérico. - Use
swarmvault ingest --guide,swarmvault source add --guide,swarmvault source reload --guide,swarmvault source guide <id>ouswarmvault source session <id>quando o humano deve integrar uma fonte por vez antes de páginas canônicas mudarem. Definaprofile.guidedIngestDefault: trueemswarmvault.config.jsonpara tornar o modo guiado o padrão; use--no-guidepara sobrescrever. Perfis usandoguidedSessionMode: "canonical_review"colocam edições canônicas na fila de aprovação; perfisinsights_onlymantêm síntese exploratória emwiki/insights/. Use--reviewapenas para o caminho review-only mais leve. - Use
swarmvault inbox importpara lotes no estilo capture, depoisswarmvault watch --lint --repoquando o workflow deve permanecer automatizado. Adicione--code-onlyquando a atualização deve permanecer apenas AST e adiar re-análise semântica não-código para umcompileposterior. Em repos rastreados, mudanças code-only tomam aquele caminho de compile mais rápido automaticamente. Instaleswarmvault hook installquando checkouts e commits do git devem disparar a mesma atualização repo-aware code-only automaticamente. - Compile com
swarmvault compile, usecompile --max-tokens <n>quando a wiki gerada deve permanecer dentro de um orçamento de contexto limitado, ou usecompile --approvequando mudanças devem passar pela fila de revisão local primeiro. - Resolva trabalho em staging com
swarmvault review list|show|accept|rejecteswarmvault candidate list|promote|archive. - Faça perguntas com
swarmvault query "<question>". Salva respostas duráveis emwiki/outputs/por padrão; adicione--no-saveapenas para verificações efêmeras. Quando um provedor de embedding está configurado, query pode mesclar correspondências de página semântica em busca local;search.rerank: truepermite que oqueryProvideratual rerankeie os top hits mesclados antes de responder. - Use
swarmvault explore "<question>" --steps <n>para loops de pesquisa multi-etapas save-first, ou--format report|slides|chart|imagequando o artefato deve ser orientado para apresentação. - Execute
swarmvault lintsempre que o schema mudou, artefatos parecem obsoletos ou resultados de compile/query desviam. Definaprofile.deepLintDefault: trueemswarmvault.config.jsonquando a passada de deep-lint consultiva deve ser o padrão, e use--no-deepquando você precisa de uma execução apenas estrutural. Adicione--webapenas quando deep lint está habilitado e um adaptadorwebSearch.tasks.deepLintProviderestá configurado; evidência web é limitada a deep lint e não altera comportamento de compile ou query. - Use
swarmvault mcpquando outro agente ou ferramenta deve navegar, pesquisar e fazer query no cofre através de MCP. - Use
swarmvault graph blast <target>quando o usuário quer análise de impacto de importação reversa,swarmvault graph servequando o workspace em tempo real ou clipper bookmarklet ajudarão,swarmvault diffquando eles precisam de um resumo de mudança em nível de graph contra a baseline do último commit, ouswarmvault graph export --html <output>/graph export --report <output>quando compartilhar ajudar.graph exporttambém suporta--html-standalone,--json,--obsidiane--canvaspara compartilhamento mais leve ou nativo do Obsidian.
Regras de trabalho
- Prefira mudar o schema antes de re-executar compile quando organização ou grounding está errado.
- Trate
wiki/estate/como outputs de primeira classe. Inspecione-os em vez de confiar em uma resposta de chat única. - Prefira
wiki/graph/report.md,state/graph.jsone páginas wiki salvas sobre buscas amplas ad hoc quando já existem. - Use
source addpara arquivos recorrentes, diretórios, raízes de repo GitHub público e hubs de docs. Useingesteaddpara entradas deliberadas únicas. - Quando o cofre reside em um repo git,
ingest|compile|query --commitpode fazer commit das mudanças emwiki/estate/imediatamente após a execução. - O provedor heurístico padrão é um ponto de partida local/offline válido. Adicione um provedor de modelo apenas quando o usuário quer qualidade de síntese mais rica ou capacidades opcionais como embeddings, vision, geração de imagem ou transcrição de áudio. A configuração totalmente local recomendada é Ollama + Gemma:
ollama pull gemma4depois definaproviders.llmpara{ type: "ollama", model: "gemma4" }e apontetasks.compileProvider,tasks.queryProvideretasks.lintProviderpara ele. - Ingest de áudio precisa de
tasks.audioProviderpara resolver um provedor que exponha capacidadeaudio. Ingest de transcrição do YouTube não precisa de um provedor. Definagraph.communityResolutionquando o usuário quer fixar clustering comunitário em vez de usar o padrão adaptativo. - Se um backend compatível com OpenAI não pode satisfazer geração estruturada, reduza suas capacidades declaradas em vez de forçar cada tarefa através dele.
- Mantenha fontes brutas imutáveis. Coloque correções em schema, novas fontes ou outputs salvos em vez de reescrever manualmente proveniência gerada.
Arquivos e artefatos
swarmvault.schema.md: regras de compile e query específicas do cofre.raw/sources/eraw/assets/: armazenamento de fonte canônica.wiki/: páginas geradas mais outputs salvos.wiki/outputs/source-briefs/: briefs de onboarding salvos para fontes gerenciadas.wiki/outputs/source-sessions/: âncoras de sessão guiada resumível mais histórico de pergunta/resposta para integração uma-fonte-por-vez.wiki/outputs/source-reviews/: páginas de revisão em staging com escopo de fonte.wiki/outputs/source-guides/: guias de integração de fonte em staging para workflows uma-fonte-por-vez.wiki/dashboards/: fontes recentes, log de leitura, timeline, sessões de fonte, guias de fonte, mapa de pesquisa, contradição e dashboards de questões abertas.wiki/code/: páginas de módulo para JavaScript ingerido, JSX, TypeScript (incluindo.mts/.cts), TSX, script Bash/shell (com detecção baseada em shebang para scripts sem extensão), Python, Go, Rust, Java, Kotlin, Scala, Dart, Lua, Zig, C#, C, C++ (incluindo.c/.cc/.cpp/.cxxe.h/.hh/.hpp/.hxx), PHP, Ruby, PowerShell (.ps1/.psm1/.psd1), Elixir (.ex/.exs), OCaml (.ml/.mli), Objective-C (.m/.mm), ReScript (.res/.resi), Solidity (.sol), componentes Vue single-file (.vue), HTML (.html/.htm) e fontes CSS.state/extracts/: markdown extraído e sidecars JSON para PDF, família Word completa (.docx/.docm/.dotx/.dotm), RTF (.rtf), OpenDocument (ODT/ODP/ODS), EPUB, CSV/TSV, família Excel completa (.xlsx/.xlsm/.xlsb/.xls/.xltx/.xltm), família PowerPoint completa (.pptx/.pptm/.potx/.potm), notebooks Jupyter (.ipynb), BibTeX (.bib), Org-mode (.org), AsciiDoc (.adoc/.asciidoc), transcrições, exportações Slack, email, calendar, transcrições de áudio, capturas de transcrição do YouTube e fontes de imagem (.png/.jpg/.jpeg/.gif/.webp/.bmp/.tif/.tiff/.svg/.ico/.heic/.heif/.avif/.jxl), além de previsualizações estruturadas para arquivos config/data (JSON/JSONC/JSON5/TOML/YAML/XML/INI/ENV/PROPERTIES/CFG/CONF) e ingest de texto com content-sniffing para manifestos de desenvolvedor (package.json,Cargo.toml,go.mod,LICENSE,.gitignore,Dockerfile,Makefilee arquivos plaintext similares).state/code-index.json: dados de aliases de código repo-aware e resolução de importação local.wiki/projects/: rollups de projeto sobre páginas canônicas.wiki/candidates/: páginas de conceito e entidade em staging aguardando promoção.state/graph.json: graph compilado.state/search.sqlite: índice de busca local.state/sources.jsonestate/sources/<id>/: entradas de registro de fonte gerenciada mais estado de sincronização em funcionamento.state/approvals/: bundles de revisão em staging decompile --approve.state/sessions/: artefatos de sessão canônica para compile, query, explore, lint, watch, review e ações candidate.state/jobs.ndjson: log de execução em modo watch.
Integração de agente
swarmvault install --agent codex|claude|cursor|goose|pi|gemini|opencode|aider|copilot|trae|claw|droidinstala regras específicas de agente no projeto atual.swarmvault install --agent claude|opencode|gemini|copilot --hookinstala suporte de hook graph-first ou plugin para agentes que expõem APIs de hook de projeto.swarmvault install --agent aiderinstalaCONVENTIONS.mde wires.aider.conf.ymlpara lê-lo quando essa config é YAML válido.swarmvault mcpexpõe tools e resources para busca de página, leitura de página, listagem de fonte, query, ingest, compile e lint.
Padrões a preservar
- Mantenha material de fonte bruta imutável sob
raw/. - Salve respostas úteis a menos que o usuário explicitamente queira output efêmero.
- Prefira fluxos revisáveis como
compile --approve,reviewecandidatequando uma mudança não deve se ativar silenciosamente. - Trate configuração de provedor como parte da operação séria do cofre. Se apenas
heuristicestá configurado, diga isso claramente. - Quando um cofre usa o bloco
profileemswarmvault.config.json, respeite-o como a camada de comportamento determinístico.swarmvault.schema.mdainda define a camada de intenção humana.