SwissArmyHammer

Gerencie prompts de IA como arquivos markdown locais.

Documentação

SwissArmyHammer

SwissArmyHammer

Um multitool para engenharia orientada a agentes.

Todas as ferramentas, em qualquer ordem. É um multitool, não um pipeline.

CI License Rust MCP


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.

EtapaO que aconteceComando
AjudaTour pelas habilidades, ferramentas, subagentes e validadores que o sah dá ao seu agente/sah-help
PlanejarLê sua especificação, explora o código, cria um quadro kanban com tarefas ordenadas/plan
ImplementarPega tarefas uma a uma, escreve código, executa testes, marca como concluída/implement
TestarExecuta a suíte completa, reporta falhas como tarefas kanban/test
CoberturaEncontra código não testado, cria tarefas para as lacunas/coverage
RevisarRevisão de código estruturada — descobertas viram tarefas kanban/review
CommitPrepara alterações, escreve uma mensagem de commit convencional/commit
ExplorarBusca semântica de código e consulta de símbolos em mais de 25 linguagens/code-context
DeduplicarEncontra código quase duplicado e refatora/deduplicate
ShellExecuta comandos com histórico de saída persistente e pesquisável/shell
VerificarValida o trabalho recente antes de seguir em frente/double-check
LSPDiagnostica 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 diff mostra 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:

FerramentaO que faz
ArquivosLer, escrever, editar, glob, grep — com suporte a .gitignore
GitBranch, commit, diff, status, fluxos de trabalho de PR
ShellExecução segura de comandos com endurecimento de segurança
KanbanQuadros de tarefas com suporte a arquivos — tarefas, subtarefas, dependências, tags
Busca de CódigoBusca semântica com tree-sitter em mais de 25 linguagens
WebBuscar páginas e converter para markdown, pesquisar na web
PerguntasQ&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