@codigodoleo/wp-kit
v2.0.5
Published
Kit opinativo para padronizar projetos WordPress com CI/CD dinâmico.
Maintainers
Readme
@codigodoleo/wp-kit (CLI: leo-wp)
Simplifique e padronize seus projetos WordPress em minutos. Este CLI cria um esqueleto moderno, opinativo e pronto para CI/CD, com integração a temas (Sage), qualidade de código e fluxos de deploy — tudo com escolhas inteligentes e mínima fricção.
Por que usar
- Padronização entre projetos e equipes
- Onboarding rápido (menos passos manuais, menos erros)
- CI/CD dinâmico que se adapta às suas escolhas (GitLab, GitHub ou Bitbucket)
- Convenções modernas (Conventional Commits, linters, hooks)
Requisitos
- Node.js 18+ (recomendado 22+)
- npm
- Git
- PHP 8.2+ e Composer (necessário para tema Sage e ferramentas PHP)
Quickstart (1 minuto)
- Criar projeto interativo:
npx @codigodoleo/wp-kit init --output meu-projeto- Projeto padrão (sem perguntas):
npx @codigodoleo/wp-kit init --output meu-projeto --defaults- Instalação global (opcional):
npm install -g @codigodoleo/wp-kit
leo-wp init --output meu-projetoO que é gerado
- Estrutura WordPress com
content/(temas, plugins, uploads) - Configurações úteis em
server/e arquivos base (.env,.editorconfig, etc.) - Workspace do VSCode (opcional)
- Pipelines de CI prontos, conforme o provedor escolhido:
- GitLab:
.gitlab-ci.yml - GitHub:
.github/workflows/ci.yml - Bitbucket:
bitbucket-pipelines.yml
- GitLab:
- Convenções de Git e qualidade (husky, commitlint, lint-staged, ESLint, Prettier, Stylelint, Pint)
- Integração opcional com tema Sage (v10/v11), com build automatizado
Como funciona (visão rápida)
- Você roda
inite responde às perguntas (ou usa--defaults). - O CLI infere capacidades (Composer, Node, Sage, Docker) e monta
context.ci. - O módulo
deploygera o pipeline certo para seu provedor (GitLab/GitHub/Bitbucket) com jobs somente do que faz sentido para o seu projeto.
Exemplo: Se você ativar Sage 11, ajustamos versões automaticamente (PHP/Node/WP) e incluímos o job de build do tema no CI.
Fluxo recomendado
- Execute o comando (interativo):
npx @codigodoleo/wp-kit init --output meu-wp- Escolha o provedor de Git (ex.: GitLab ou GitHub) no prompt do módulo "git".
- Ative o módulo "deploy" (gera a pipeline automática).
- Se desejar, habilite o tema Sage (o build entra na pipeline automaticamente).
- Faça o primeiro commit e suba o repositório. O CI já estará pronto para rodar.
Comandos disponíveis
init [options]— Inicializa um novo projeto WordPress com DevOps--help— Ajuda--version— Versão
Opções do init
--output <path>— Diretório de saída do projeto--defaults— Usa configurações padrão sem interação
Exemplos práticos
- Interativo, escolhendo tudo pelo prompt:
npx @codigodoleo/wp-kit init --output site-corporativo- Projeto padrão, sem prompts (padrões inteligentes):
npx @codigodoleo/wp-kit init --output blog-interno --defaultsEstrutura essencial de pastas
meu-projeto/
content/
themes/
plugins/
uploads/
server/
.gitlab-ci.yml | .github/workflows/ci.yml | bitbucket-pipelines.yml
.env, .editorconfig, README.md, etc.CI Dinâmico (como decidimos o que rodar)
Detectamos automaticamente:
composer.json(root/tema) → job de Composerpackage.json(root/tema) → job de Node- Tema Sage ativo → job de build do tema
- Deploy Docker escolhido → job de deploy Docker
Provedores suportados:
- GitLab CI, GitHub Actions, Bitbucket Pipelines
Convenções e qualidade
- Commits: Conventional Commits (ex.:
feat:,fix:,docs:) - Hooks: Husky + lint-staged
- Linters: ESLint, Prettier, Stylelint, Pint
Dicas e solução de problemas
- Pipeline não foi gerado? Verifique se habilitou o módulo
deploye qual provedor selecionou no módulogit. - Tema Sage não compilou? Garanta Composer/Node instalados e que o tema existe em
content/themes/<projectName>.
Contribuição
Pull Requests são muito bem-vindos! Use commits convencionais, escreva mudanças pequenas e inclua atualizações na documentação quando necessário.
—
Se quiser entender a fundo (arquitetura, módulos e CI dinâmico), veja a wiki em docs/ deste repositório.
