Sobre o projeto

# enfurbish Plugins do Claude Code. Cada plugin reside em um diretório irmão na raiz do repositório, com seu próprio manifesto, README e testes. Não há manifesto de nível superior que os una — cada um é distribuído e instalado de forma independente. ## Plugins ### [`continuity/`](./continuity) — continuidade intencional de sessão Fecha o ciclo entre sessões do Claude Code. - **`/wrap`** encerra uma sessão gerando um resumo, um veredito sobre a pilha de ferramentas e um `NEXT_SESSION.md` para a próxima vez. - **Hook `SessionStart`** exibe o handoff no início da próxima sessão via banner `systemMessage` — sem despejo de contexto, a menos que você opte por isso. - **`/next`** carrega o handoff sob demanda. - **Evidência de desatualização.** `handoffs.ts --since` relata o que foi adicionado após a escrita do handoff — os commits, os arquivos que eles tocaram e quanto ainda está não commitado — para que uma sessão encerrada sem wrap não deixe a próxima re-triando threads já concluídas. Veja [continuity/README.md](./continuity/README.md) para o formato do diário de ferramentas e o que `/wrap` mede. ### [`affirm/`](./affirm) — portão de aprovação para instruções do projeto Um obstáculo contra injeção de prompt via `CLAUDE.md`, `.claude/rules/*` e os arquivos que esses alcançam via `@import` (seguidos até dois níveis de profundidade; imports que apontam para fora do projeto são hashados e sinalizados). - **Hook `SessionStart`** lista arquivos de instrução do projeto e alerta sobre qualquer arquivo não confirmado ou modificado. - **`/affirm`** mostra o que está em escopo com status, mtime e proveniência git. - **`/affirm -a`** registra hashes SHA-256 após sua revisão. O escopo cobre `CLAUDE.md` / `.claude/rules/*` do projeto e os globais do usuário em `~/.claude/`; globais ficam fora do banner enquanto ainda correspondem. - **`--since <iso>`** lista apenas o que mudou dentro de uma janela. O `/wrap` do `continuity` o executa com o horário de início da sessão, para que uma alteração feita por você seja resumida no final dessa sessão, em vez de aparecer como aviso de confiança no início da próxima. Veja [affirm/README.md](./affirm/README.md) para o modelo de ameaça e detalhes de armazenamento. ### [`pastiche/`](./pastiche) — aprendizado de idiomas ambiente Vocabulário nas margens do trabalho comum, em vez de uma sessão de estudo que você precisa agendar. - **Hook `SessionStart`** injeta os itens que você ficou mais tempo sem ver, além de como apresentá-los, como `additionalContext`. - **Quatro formas de entrada.** Reforço de itens desatualizados, um pequeno orçamento por sessão de novos termos extraídos do que você está trabalhando, priming — um termo que você usa é registrado em vez de ser ensinado de volta — e correção, quando você corrige uma forma que a sessão errou. - **Um livro-razão markdown** que você possui e aponta a partir da configuração — uma linha por termo, uma data `seen:` que as sessões reestampam conforme usam as coisas. Um CLI o escreve; o modelo chama o CLI. - **Sem intervalos, sem fatores de facilidade.** Itens usados rotacionam para o final; os não reforçados continuam voltando. Veja [pastiche/README.md](./pastiche/README.md) para o formato do livro-razão e configuração. ## Desenvolvimento Bun, nativo em TypeScript, sem etapa de build, sem `package.json`. Runner de testes integrado do Bun. ```bash # Executa todos os testes em todos os plugins bun test # Um plugin bun test continuity/tests/ bun test affirm/tests/ bun test pastiche/tests/ ``` Não há linter ou formatador configurado. ## Instalação ``` /plugin marketplace add nullphase-net/enfurbish /plugin install continuity@enfurbish /plugin install affirm@enfurbish /plugin install pastiche@enfurbish ``` Cada um instala de forma independente — pegue um, dois ou todos os três. READMEs por plugin cobrem configuração e ajustes. ## Licença MIT. Veja [LICENSE](./LICENSE).