Skip to content

guilhermeSDB/github-project-cli

Repository files navigation

🚀 GitHub Project Creator CLI

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.


✨ Funcionalidades

  • ✅ Cria um repositório privado no GitHub
  • 🌱 Cria automaticamente as branches main e dev
  • 🔒 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)

📁 Estrutura do Projeto

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

🛠️ Tecnologias Utilizadas


▶️ Como Usar

1. Clone o projeto

git clone https://github.com/seu-usuario/github-project-cli.git
cd github-project-cli

2. Instale as dependências

npm install

3. Configure seu token do GitHub

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 lib dotenv para maior segurança.

4. Execute a CLI

npx ts-node src/cli.ts

💡 Como Compilar e Usar Globalmente

Compile o TypeScript

npx tsc

Linke o comando global

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

🔐 Proteção da Branch Main

A main é protegida com:

  • ❌ Push direto bloqueado
  • ✅ Pull request obrigatório
  • ✅ 1 aprovação obrigatória
  • 🔒 Proteção aplicada também para administradores

📃 Licença

Este projeto é open-source, sob a licença MIT.


Feito com 💻 por Guilherme Barros.

About

CLI para criação de repositorios privados no Github

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published