SwissArmyHammer
Gerencie prompts de IA como arquivos markdown locais.
Documentação
SwissArmyHammer
Um multitool para engenharia orientada a agentes.
Todas as ferramentas, em qualquer ordem. É um multitool, não um pipeline.
Agentes de codificação com IA são poderosos — mas sem estrutura, eles se perdem. Eles perdem o controle do plano. Eles pulam testes. Eles escrevem código que funciona, mas não é revisado. Eles esquecem o que estavam fazendo no meio do caminho.
Outras ferramentas tentam resolver isso prendendo você a um pipeline rígido: discutir, depois planejar, depois executar, depois verificar, depois publicar. Nessa ordem. Pulou uma etapa? Azar.
Trabalho real não é um pipeline. Às vezes você implementa três coisas e depois revisa todas de uma vez. Às vezes você escreve testes primeiro. Às vezes você pula a revisão em uma correção rápida e simplesmente publica.
O SwissArmyHammer dá a você um quadro kanban e um conjunto de ferramentas afiadas. Você decide quando planejar, implementar, testar, revisar e commitar. Toda ferramenta está sempre disponível. Você escolhe a certa para o momento. Sem cerimônias de sprint. Sem story points. Sem teatro corporativo. Apenas ferramentas para quem entrega.
┌──────────┐
│ /plan │ Break work into kanban tasks
└────┬─────┘
│ ┌──────────────────────────┐
▼ │ Any tool, any time, │
┌──────────┐ │ any order. │
│/implement│ │ │
└────┬─────┘ │ /test after /implement? │
│ │ /review before /commit? │
▼ │ /implement three tasks │
┌──────────┐ │ then /review them all? │
│ /test │ │ │
└────┬─────┘ │ Your call. │
│ └──────────────────────────┘
▼
┌──────────┐ ┌──────────┐
│ /review │────▶│ /commit │
└──────────┘ └──────────┘
Funciona com Claude Code, Cursor, Windsurf ou qualquer agente compatível com MCP.
Comece em 30 Segundos
Entre no diretório do seu projeto e execute:
cd <your project directory>
brew install swissarmyhammer/tap/swissarmyhammer-cli
sah init
É isso. Seu agente agora tem habilidades, ferramentas e fluxos de trabalho.
Depois abra seu agente e peça o tour:
> /sah-help
O agente lista todas as habilidades, ferramentas, subagentes e validadores que o sah dá a ele, e diz qual usar para quê. Dê um tópico para aprender sobre uma coisa:
> /sah-help how do I plan
> /sah-help commit
Duas Maneiras de Planejar
A habilidade /plan é a porta de entrada para o SwissArmyHammer. Ela funciona de duas maneiras:
Entregue uma especificação
Escreva seus requisitos em um arquivo markdown e aponte o agente para ele:
> /plan my-feature-spec.md
O agente lê sua especificação, explora o código para entender o que já existe e cria um quadro kanban com tarefas ordenadas, subtarefas, critérios de aceitação e requisitos de teste. Cada tarefa tem contexto suficiente para que o agente (ou um colega) possa pegá-la e implementá-la sem reler a especificação.
Sua especificação pode ser tão simples ou detalhada quanto você quiser — alguns bullets, um PRD completo ou qualquer coisa no meio. O agente preenche os detalhes de implementação lendo seu código real.
Ou apenas converse
Você não precisa de um arquivo de especificação. Inicie uma conversa e planeje interativamente:
> I want to add OAuth2 support to the API
O agente entra em modo de planejamento, faz perguntas de esclarecimento, explora seu código e constrói o quadro kanban incrementalmente enquanto vocês discutem. Você pode direcionar o plano em tempo real:
> Split that auth task into separate tasks for Google and GitHub providers
> Add a task for the token refresh flow -- we'll need that too
> Actually, let's do GitHub first and Google in a follow-up PR
O plano evolui através da conversa. Tarefas são adicionadas, divididas, mescladas e reordenadas com base no seu feedback. Quando estiver satisfeito, diga "vai" e o agente começa a implementar.
Depois execute
De qualquer forma, uma vez que o plano está no quadro:
> /implement # Do one kanban task at a time, with context-aware code editing and testing
> /finish # RalphLoop one task — or a whole tag/project — through implement → test → review → done. Go for a walk with your 🦮.
> /test # Run tests, report failures as tasks
> /test-loop # RalphLoop test→fix→test until green
> /review # Code review -- findings become new tasks
> /commit # Clean conventional commit
O Que Você Obtém
O Problema com Outras Abordagens
Ferramentas de pipeline forçam uma sequência rígida: discutir, planejar, executar, verificar, publicar. Cada tarefa passa pela mesma cerimônia, seja uma reescrita de três meses ou uma correção de uma linha. Você não pode pular etapas, não pode reordená-las, não pode se adaptar a como o trabalho realmente flui.
O SwissArmyHammer é diferente. Cada etapa do ciclo de vida de desenvolvimento de software é uma ferramenta independente. Use o que precisar, pule o que não precisar. O quadro kanban é o estado compartilhado — não um pipeline sequencial.
| Etapa | O que acontece | Comando |
|---|---|---|
| Ajuda | Tour pelas habilidades, ferramentas, subagentes e validadores que o sah dá ao seu agente | /sah-help |
| Planejar | Lê sua especificação, explora o código, cria um quadro kanban com tarefas ordenadas | /plan |
| Implementar | Pega tarefas uma a uma, escreve código, executa testes, marca como concluída | /implement |
| Testar | Executa a suíte completa, reporta falhas como tarefas kanban | /test |
| Cobertura | Encontra código não testado, cria tarefas para as lacunas | /coverage |
| Revisar | Revisão de código estruturada — descobertas viram tarefas kanban | /review |
| Commit | Prepara alterações, escreve uma mensagem de commit convencional | /commit |
| Explorar | Busca semântica de código e consulta de símbolos em mais de 25 linguagens | /code-context |
| Deduplicar | Encontra código quase duplicado e refatora | /deduplicate |
| Shell | Executa comandos com histórico de saída persistente e pesquisável | /shell |
| Verificar | Valida o trabalho recente antes de seguir em frente | /double-check |
| LSP | Diagnostica e instala servidores de linguagem ausentes | /lsp |
Essas ferramentas se conectam em loops. /plan cria tarefas. /implement trabalha nelas. /review encontra problemas e os adiciona como itens de checklist na tarefa de origem. /finish executa implementar → testar → revisar em um loop até que cada tarefa chegue em done. /coverage encontra código não testado e cria tarefas de teste. É um loop fechado — mas você controla a ordem.
Gerenciamento de Contexto
O maior gargalo para agentes de IA não é inteligência — é contexto. Saída de teste longa estoura a janela de contexto. O agente não consegue encontrar a função que precisa. Ele relê arquivos que já escaneou. O SwissArmyHammer resolve isso em todos os níveis.
Shell Inteligente (não apenas bash -c)
O shell embutido não é um wrapper fino em torno de subprocess exec. É um shell virtual com histórico persistente, gerenciamento de processos e saída pesquisável:
- A saída de cada comando é armazenada e indexada — mesmo se a resposta foi truncada para economizar tokens
- Busca semântica em toda a saída — pergunte "encontre o erro de autenticação" e ele corresponde a "403 forbidden" e "login negado"
- Grep regex no histórico —
error\[E\d+\]encontra todos os erros do compilador Rust de todos os comandos que você executou - Recuperação por intervalo de linhas — a saída foi truncada? Busque as linhas 450-500 do comando #3 sem reexecutá-lo
- Limites de saída configuráveis — retorne 50 linhas, 200 ou zero (dispare e esqueça). A saída completa é sempre salva para depois
Isso significa que seu agente pode executar cargo test com 10.000 linhas de saída, obter um resumo de 50 linhas e depois pesquisar cirurgicamente a falha — sem queimar tokens de contexto em rolagem.
Inteligência de Código Automática (tree-sitter + LSP)
O SwissArmyHammer indexa automaticamente seu código usando tree-sitter e LSP. Sem configuração, sem setup manual — abra um projeto e ele começa a analisar em segundo plano.
- Consulta de símbolos — pule para qualquer definição com correspondência difusa (
MyStruct::new,process_req, nomes parciais) - Travessia de grafo de chamadas — quem chama esta função? O que ela chama? Trace o fluxo de execução entre arquivos
- Análise de raio de impacto — antes de alterar
validate_token, veja todos os arquivos e funções transitivamente afetados - Diffs semânticos —
git diffmostra mudanças de linha; o sah mostra mudanças em nível de entidade (Adicionado, Modificado, Excluído, Movido, Renomeado) - Mais de 25 linguagens — Rust, Python, TypeScript, Go, Java, C/C++, Ruby, Swift, Kotlin e mais
É isso que permite que /plan realmente entenda seu código antes de criar tarefas, e o que permite que /review capture problemas arquiteturais reais em vez de apenas detalhes de estilo.
A Suíte
O SwissArmyHammer é três ferramentas que trabalham juntas:
sah — Habilidades e Ferramentas para Qualquer Agente
O núcleo. Um servidor MCP que dá ao seu agente tudo o que ele precisa:
Ferramentas — os blocos de construção:
| Ferramenta | O que faz |
|---|---|
| Arquivos | Ler, escrever, editar, glob, grep — com suporte a .gitignore |
| Git | Branch, commit, diff, status, fluxos de trabalho de PR |
| Shell | Execução segura de comandos com endurecimento de segurança |
| Kanban | Quadros de tarefas com suporte a arquivos — tarefas, subtarefas, dependências, tags |
| Busca de Código | Busca semântica com tree-sitter em mais de 25 linguagens |
| Web | Buscar páginas e converter para markdown, pesquisar na web |
| Perguntas | Q&A baseada em elicitação para capturar decisões |
Habilidades — os fluxos de trabalho que usam essas ferramentas:
Habilidades são arquivos markdown. Elas ensinam ao seu agente como fazer as coisas, não apenas o que fazer. Cada habilidade define um processo passo a passo, e um tipo de agente especializado o executa. É isso que transforma um LLM genérico em um engenheiro focado.
Você também pode escrever suas próprias habilidades — coloque um SKILL.md em .sah/skills/my-skill/ e seu agente o pega automaticamente.
Arquitetura
Tudo é markdown. Habilidades, validadores, fluxos de trabalho, agentes — tudo markdown com frontmatter YAML e templates Liquid. Sem formatos proprietários, sem bancos de dados, sem dependência de nuvem. Tudo vive no seu repositório ou no seu diretório pessoal, totalmente versionável.
~/.sah/
skills/ # Installed skills (markdown)
validators/ # Installed validators (markdown)
agents/ # Agent modes (markdown)
workflows/ # State machine workflows (markdown + Mermaid)
Sobrescritas em nível de projeto vão em .sah/ no seu repositório. Configurações do projeto vencem as configurações do usuário.
O servidor MCP em si é um único binário Rust — inicialização rápida, sem dependências de runtime, sem Docker, sem serviços em nuvem. Ele roda localmente junto ao seu agente.
Por que SwissArmyHammer?
Para desenvolvedores individuais: Seu agente se torna dramaticamente mais capaz. Em vez de supervisioná-lo em cada etapa, você entrega uma especificação e se afasta. Ele planeja, implementa, testa, revisa e commita — seguindo o mesmo processo de engenharia que você seguiria.
Para equipes: Processo de engenharia consistente no agente de cada desenvolvedor. As mesmas habilidades, os mesmos validadores, os mesmos portões de qualidade. Instale uma vez via mirdan, e o agente de cada membro da equipe funciona da mesma maneira.
Licença
MIT OR Apache-2.0