@easyprev/cli
v0.1.0
Published
CLI da easyprev: autenticação via GitHub Device Flow e bootstrap do monorepo workspace
Maintainers
Readme
@easyprev/cli
CLI da easyprev. Autentica via GitHub Device Flow e inicializa o monorepo workspace clonando só os submodules a que você tem acesso.
Instalação
npm install -g @easyprev/cliUso
1. Login
easyprev loginAbre o fluxo OAuth do GitHub. Vai imprimir um código curto e uma URL — abra a URL no browser, cole o código e autorize. O token fica guardado em ~/.config/easyprev/auth.json (mode 600).
Se você não pertence à org easyprev, o login completa mas os comandos seguintes não vão encontrar nenhum repo.
2. Init do workspace
easyprev init [diretório]
# default: ./workspace- Clona
easyprev/workspace - Para cada submodule declarado em
.gitmodules, verifica se você tem acesso (via API do GitHub) - Inicializa só os submodules que você pode ver
- Roda
npm installna raiz (npm workspaces hoista node_modules)
3. Outros
easyprev whoami # mostra usuário e org
easyprev logout # apaga o token localComportamento por permissão
| Cenário | Resultado |
|---|---|
| User não logado | comandos pedem easyprev login |
| User logado mas sem acesso à org easyprev | init clona workspace (se for público) ou falha; submodules ficam vazios |
| User com acesso parcial (ex.: só backoffice-*) | init inicializa só apps/backoffice-ui e apps/backoffice-api, ignora resto |
| User core-team (acesso a tudo) | init inicializa todos os submodules |
Desenvolvimento
cd packages/cli
npm install
npm run build
node dist/cli.js loginConfigurar OAuth App (admin da org easyprev)
- https://github.com/organizations/easyprev/settings/applications/new
- Name:
easyprev CLI, Homepage:https://github.com/easyprev, Callback:http://localhost - Após criar, habilitar Device Flow nas configurações
- Copiar o Client ID
- Definir no build/release como
EASYPREV_OAUTH_CLIENT_ID
