Em direto a partir do registo
Gere pipelines CI/CD no GitHub Actions analisando o código que já tem.
O cistack analisa o seu projeto, deteta o stack e escreve workflows GitHub Actions prontos para produção: CI, implementação, Docker e releases. Pensado para repositórios reais, não demonstrações: lê ficheiros de lock, sinais de framework, configuração de release, workspaces monorepo, alojamento e metadados de ramos Git antes de gerar o YAML.
Transferências semanais
2.4k
última semana no npm
Instalação rápida
npx cistackInstalação
npx cistackObtém sempre a versão mais recente. Sem instalação global.
O cistack suporta Node.js 16+; o projeto é verificado continuamente em Node.js 18, 20 e 22 no GitHub Actions.
Pré-visualização
Saída CLI animada após analisar um projeto típico.
Referência
Porquê o cistack
- Deteta automaticamente linguagens, frameworks, ferramentas de teste, fornecedores de alojamento e ferramentas de release
- Utiliza o ramo Git predefinido do repositório quando disponível, em vez de assumir main
- Suporta monorepos, workflows por pacote e comandos conscientes do gestor de pacotes
- Gera configuração Dependabot alinhada com o ecossistema, incluindo Bun quando existe bun.lock
- Funde de forma inteligente os workflows gerados com os ficheiros existentes sem sobrescrever à cega
- Gera pipelines de implementação para Vercel, Netlify, Firebase, GitHub Pages, AWS, Azure, Heroku, Render e Railway
- Inclui comandos integrados de auditoria e atualização de workflows
- Suporta cistack.config.js tipado via index.d.ts
- Com suíte de regressão automatizada (ramos, release, fusão inteligente, scripts monorepo, testes smoke da CLI)
Utilização da CLI
O que é gerado
Deteção suportada
Chaves de configuração de nível superior
- nodeVersion
- packageManager
- hosting
- frameworks
- testing
- branches
- workflowLayout
- cache
- monorepo
- release
- secrets
- outputDir
Comportamento dos ramos
- Se branches estiver definido na config, o cistack usa-o exatamente
- Caso contrário, lê o ramo predefinido do repositório a partir dos metadados Git quando possível
- Sem metadados Git, recua para valores seguros como main, master e develop consoante o tipo de workflow
Configuração
Crie cistack.config.js quando quiser substituir a deteção.
Exemplo
/** @type {import('cistack').Config} */
module.exports = {
nodeVersion: '20',
packageManager: 'pnpm',
branches: ['main', 'staging'],
workflowLayout: 'single',
hosting: ['Vercel'],
outputDir: '.github/workflows',
cache: {
npm: true,
cargo: true,
pip: true,
},
monorepo: {
perPackage: true,
},
release: {
tool: 'semantic-release',
},
};Segredos
Os workflows de implementação e release gerados documentam os segredos necessários no topo de cada ficheiro. Adicione-os no GitHub: Definições → Secrets and variables → Actions.
Executar verificações localmente
npm testnpm run test:smokenode bin/ciflow.js audit --path .node bin/ciflow.js upgrade --path . --dry-runCom o pacote publicado, o executável é cistack. No repositório cistack, o ponto de entrada local é bin/ciflow.js.
Desenvolvimento e qualidade
O projeto inclui uma suíte de regressão nas áreas historicamente mais frágeis:
- tratamento de substituições de configuração
- deteção do ramo predefinido
- seleção do ramo de implementação
- ramo de produção Netlify
- comportamento de fusão inteligente
- procura de scripts de build por pacote em monorepo
- deteção da configuração de release
- geração do workflow de release
- testes smoke da CLI em dry-run
Licença MIT
Geração de workflows CI/CD a partir do repositório que já tem.
Criado por Edwin Vakayil
© 2026 cistack. Todos os direitos reservados quando aplicável.