Communitygithub.com

niksavis/basicly

Um harness para agentes de codificação que entrega o fluxo de trabalho e o estado, não apenas as instruções: um catálogo YAML projetado na configuração nativa de cada agente, um loop determinístico com isolamento de árvore de trabalho e uma fila de merge serial, e portões impostos no momento do commit.

O que é basicly?

Basicly é um harness para agentes de IA de codificação que vai além de simples instruções, fornecendo um fluxo de trabalho completo e gerenciamento de estado. Ele oferece um catálogo YAML que se integra à configuração nativa de cada agente, um loop determinístico com isolamento de árvore de trabalho para evitar conflitos, e uma fila de merge serial para garantir consistência. Além disso, impõe portões (gates) no momento do commit, assegurando que apenas alterações válidas sejam integradas. Suporta agentes como Claude Code, Cursor e Codex, e é útil para desenvolvedores que buscam um pipeline de desenvolvimento mais previsível e controlado, evitando problemas comuns como configurações incorretas de ambiente (ex: Node.js no WSL) e dependências mal gerenciadas.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add niksavis/basicly

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Node

O Node neste repositório é estreito, mas crucial: o git hook do markdownlint executa npx --no-install markdownlint-cli2, resolvendo a devDependency markdownlint-cli2 fixada em package.json / package-lock.json. Se o node errado estiver no PATH, esse hook quebra e bloqueia commits.

A armadilha do shell não interativo no WSL (a que pega)

Um shell de login carrega seu profile, que carrega o gerenciador de versão (nvm) e coloca o node do repositório no PATH. Um shell não interativo — um script, um job em segundo plano, um git hook lançado por um agente headless — não carrega esse profile, então npx/node pode resolver para uma instalação do node Windows alcançada via interoperabilidade WSL em vez da versão Linux. Então markdownlint (e qualquer hook baseado em node) executa sob o node errado, ou falha totalmente, apenas a partir de scripts e jobs em segundo plano — nunca quando você faz commit manualmente no seu terminal.

Correção: coloque o node do repositório no PATH antes de commitar ou enviar a partir de um script ou job em segundo plano. A receita exata está em references/wsl-node-path.md.

Higiene do npm

  • npm ci (não npm install) para uma instalação reproduzível a partir de package-lock.json; commite o lockfile com qualquer mudança de dependência.
  • npx --no-install <ferramenta> executa a devDependency local fixada e se recusa a buscar silenciosamente uma versão diferente da rede — mantenha o --no-install.
  • Mantenha a pegada do node mínima: este repositório envia uma devDependency de propósito. Adicionar uma dependência é uma mudança sujeita a confirmação, não um reflexo.

Habilidades Relacionadas