@codigodoleo/wp-kit
v3.5.0
Published
Kit opinativo para padronizar projetos WordPress com CI/CD dinâmico.
Maintainers
Readme
@codigodoleo/wp-kit
wp-kit monta a estrutura que você sempre recria do zero — lint, CI, deploy, scaffolds WordPress — em menos de um minuto.
O que você quer fazer hoje?
| Cenário | Módulos ativos | Quickstart |
| ----------------------------- | ------------------------- | ----------------------------- |
| Só lint, git e deploy | lint + git + deploy | → Quickstart |
| Tema WordPress moderno (Sage) | + sage | → Sage |
| MU Plugin customizado | + mu-plugin | → MU Plugin |
| Plugin WordPress | + plugin | → Plugin |
| Tema do zero com Vite | + blank-theme | → Blank Theme |
⚡ Os módulos são combinantes — você pode ter Sage + mu-plugin + lint no mesmo projeto. E pode adicionar módulos rodando o
initnovamente.
Quickstart
npx @codigodoleo/wp-kit init --output meu-siteSem perguntas (defaults inteligentes):
npx @codigodoleo/wp-kit init --output meu-site --defaultsInstalação global (opcional):
npm install -g @codigodoleo/wp-kit
leo-wp init --output meu-siteScaffolds disponíveis
| | Sage | MU Plugin | Plugin | Blank Theme |
| ------------- | ------------------------- | --------------------------- | ------------------------ | ------------------------- |
| Diretório | content/themes/{name} | content/mu-plugins/{name} | content/plugins/{name} | content/themes/{name} |
| PHP | Acorn + Blade | PSR-4 | PSR-4 | Mínimo |
| JS/CSS | Vite (Bud) | — | — | Vite + SCSS |
| ACF | ACF Composer | — | — | — |
| Lint | ESLint + Stylelint + Pint | Pint | Pint | ESLint + Stylelint + Pint |
Requisitos
- Node.js 18+ (recomendado 22+)
- npm
- Git
- PHP 8.2+ e Composer — necessário para Sage, mu-plugin e plugin
Módulos
| Módulo | O que faz |
| ------------- | ------------------------------------------------------------------- |
| git | Inicializa repositório, Husky, commitlint, lint-staged |
| deploy | Gera pipeline de CI (GitLab, GitHub Actions ou Bitbucket Pipelines) |
| lint | Configura ESLint, Prettier, Stylelint, Pint, commitlint e hooks |
| sage | Scaffold do tema Roots Sage v11 em content/themes/ |
| mu-plugin | Scaffold de MU Plugin em content/mu-plugins/ |
| plugin | Scaffold de Plugin em content/plugins/ |
| blank-theme | Scaffold de tema Vite+SCSS em content/themes/ |
| php | Scripts e configs auxiliares para PHP |
| docs | Gera README do projeto gerado |
Documentação completa: docs/04-Módulos.md
Lint modular
O sistema de lint é modular: cada scaffold tem suas próprias configs instaladas de forma independente.
⚠️
enable_lintcontrola apenas Husky + commitlint +.lintstagedrc.jsondinâmico. Os arquivos de config (pint.json,.prettierrc.json,eslint.config.mjs) são sempre instalados em cada scaffold, independentemente dessa flag.
O .lintstagedrc.json na raiz é gerado dinamicamente com base nos módulos ativos — apenas os linters relevantes para o que você habilitou.
CI Dinâmico
O pipeline é gerado com base nos módulos que você ativou:
ci.build.composer— composer.json detectado ou Sage ativoci.build.node— package.json detectado ou Sage ativoci.lint.sage— Sage ativo +enable_lintci.lint.mu_plugin— mu-plugin ativo +enable_lintci.lint.plugin— plugin ativo +enable_lintci.lint.blank_theme— blank-theme ativo +enable_lintci.deploy.docker— estratégia Docker selecionada
💡 Você não precisa editar o pipeline manualmente — se ativar um módulo, o job correspondente já aparece no CI.
Documentação completa: docs/05-CI-Dinâmico.md
Scripts de desenvolvimento
npm run lint # ESLint
npm run lint:fix # ESLint com correção automática
npm run format # Prettier
npm run commit # Commit interativo (commitizen)Convenções
- Commits: Conventional Commits (
feat:,fix:,docs:,refactor:,chore:) - Hooks: Husky + lint-staged validam no pré-commit
- Commitlint: Valida mensagem no commit-msg
Contribuição
Pull Requests são bem-vindos. Use commits convencionais, mudanças pequenas e atualize a documentação quando alterar comportamentos.
→ Guia completo: docs/06-Contribuicao.md
Para entender a fundo a arquitetura, módulos e CI dinâmico: docs/
