Uma CLI interativa para criar repositórios privados no GitHub com estrutura padrão e proteção de branch, utilizando Node.js, TypeScript, e a GitHub API.
- ✅ Cria um repositório privado no GitHub
- 🌱 Cria automaticamente as branches
main
edev
- 🔒 Protege a branch
main
(sem push direto, requer PR com aprovação) - 🧠 Terminal interativo com
@clack/prompts
- 👨💻 Arquitetura orientada a objetos (classe centralizada na lógica)
github-project-cli/
├── src/
│ ├── GitHubProjectCreator.ts # Classe principal
│ └── cli.ts # CLI com prompts e execução
├── dist/ # Arquivos compilados (pós build)
├── .gitignore
├── tsconfig.json
├── package.json
└── README.md
git clone https://github.com/seu-usuario/github-project-cli.git
cd github-project-cli
npm install
Você precisa de um GitHub Personal Access Token com permissão repo
:
export GITHUB_TOKEN=ghp_suaTokenAqui
💡 Recomenda-se usar um arquivo
.env
com a libdotenv
para maior segurança.
npx ts-node src/cli.ts
npx tsc
No package.json
, adicione:
"bin": {
"create-github-project": "dist/cli.js"
}
Então rode:
npm link
Agora você pode chamar a CLI diretamente:
create-github-project
A main
é protegida com:
- ❌ Push direto bloqueado
- ✅ Pull request obrigatório
- ✅ 1 aprovação obrigatória
- 🔒 Proteção aplicada também para administradores
Este projeto é open-source, sob a licença MIT.
Feito com 💻 por Guilherme Barros.