biaws 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +165 -194
- package/docs/command-taxonomy.md +66 -26
- package/docs/instance-lifecycle.md +14 -14
- package/docs/releasing.md +4 -4
- package/package.json +53 -4
- package/src/admin/commands.js +214 -0
- package/src/admin/monitoringCommands.js +88 -0
- package/src/apiClient.js +18 -18
- package/src/baseCommands.js +5 -1
- package/src/cli/admin/config.js +1 -0
- package/src/cli/admin/doctor.js +1 -0
- package/src/cli/admin/install.js +1 -0
- package/src/cli/admin/instance/backup.js +1 -0
- package/src/cli/admin/instance/list.js +1 -0
- package/src/cli/admin/instance/remove.js +1 -0
- package/src/cli/admin/instance/restore.js +1 -0
- package/src/cli/admin/instance/setup.js +1 -0
- package/src/cli/admin/instance/show.js +1 -0
- package/src/cli/admin/instance/start.js +1 -0
- package/src/cli/admin/instance/status.js +1 -0
- package/src/cli/admin/instance/stop.js +1 -0
- package/src/cli/admin/monitoring/build.js +3 -0
- package/src/cli/admin/monitoring/logs.js +3 -0
- package/src/cli/admin/monitoring/provision.js +1 -0
- package/src/cli/admin/monitoring/start.js +3 -0
- package/src/cli/admin/monitoring/status.js +3 -0
- package/src/cli/admin/monitoring/stop.js +3 -0
- package/src/cli/admin/monitoring/validate.js +3 -0
- package/src/cli/config/doctor.js +1 -0
- package/src/cli/config/init.js +1 -0
- package/src/cli/config/login.js +1 -0
- package/src/cli/config/profiles/list.js +1 -0
- package/src/cli/config/profiles/use.js +1 -0
- package/src/cli/config/set.js +1 -0
- package/src/cli/config/show.js +1 -0
- package/src/cli/config/unset.js +1 -0
- package/src/cli/help.js +46 -0
- package/src/cli/workspace/agent/configure/claude.js +1 -0
- package/src/cli/workspace/agent/configure/codex.js +1 -0
- package/src/cli/workspace/agent/doctor.js +1 -0
- package/src/cli/workspace/api.js +1 -0
- package/src/cli/workspace/applications/get.js +1 -0
- package/src/cli/workspace/applications/list.js +1 -0
- package/src/cli/workspace/current.js +1 -0
- package/src/cli/workspace/demands/complete-task.js +1 -0
- package/src/cli/workspace/demands/get.js +1 -0
- package/src/cli/workspace/demands/list.js +1 -0
- package/src/cli/workspace/demands/task-status.js +1 -0
- package/src/cli/workspace/demands/tasks.js +1 -0
- package/src/cli/workspace/get.js +1 -0
- package/src/cli/workspace/init.js +1 -0
- package/src/cli/workspace/issues/get.js +1 -0
- package/src/cli/workspace/issues/list.js +1 -0
- package/src/cli/workspace/issues/transition.js +1 -0
- package/src/cli/workspace/list.js +1 -0
- package/src/cli/workspace/monitoring/describe.js +1 -0
- package/src/cli/workspace/monitoring/signal.js +1 -0
- package/src/cli/workspace/monitoring/signals.js +1 -0
- package/src/cli/workspace/monitoring/validate.js +1 -0
- package/src/cli/workspace/skills/install-all.js +1 -0
- package/src/cli/workspace/skills/install.js +1 -0
- package/src/cli/workspace/skills/list.js +1 -0
- package/src/cli/workspace/skills/publish-all.js +1 -0
- package/src/cli/workspace/skills/publish.js +1 -0
- package/src/cli/workspace/skills/status.js +1 -0
- package/src/cli/workspace/skills/update.js +1 -0
- package/src/cli/workspace/unlink.js +1 -0
- package/src/cli/workspace/use.js +1 -0
- package/src/{compatibilityCommands.js → commandFactories.js} +6 -2
- package/src/commands/agent/configure.js +1 -1
- package/src/commands/agent/doctor.js +1 -1
- package/src/commands/agent.js +8 -5
- package/src/commands/applications/get.js +1 -1
- package/src/commands/applications/list.js +1 -1
- package/src/commands/applications.js +3 -2
- package/src/commands/configure/skills.js +3 -1
- package/src/commands/demands/complete-task.js +1 -1
- package/src/commands/demands/get.js +1 -1
- package/src/commands/demands/list.js +1 -1
- package/src/commands/demands/task-status.js +1 -1
- package/src/commands/demands/tasks.js +1 -1
- package/src/commands/demands.js +3 -2
- package/src/commands/instance/setup.js +4 -4
- package/src/commands/issues/get.js +1 -1
- package/src/commands/issues/list.js +1 -1
- package/src/commands/issues/transition.js +1 -1
- package/src/commands/issues.js +3 -2
- package/src/commands/monitoring/describe.js +1 -1
- package/src/commands/monitoring/signal.js +1 -1
- package/src/commands/monitoring/signals.js +1 -1
- package/src/commands/monitoring/validate.js +1 -1
- package/src/commands/monitoring.js +1 -1
- package/src/commands/skills/install-all.js +1 -1
- package/src/commands/skills/install.js +1 -1
- package/src/commands/skills/list.js +1 -1
- package/src/commands/skills/publish-all.js +1 -1
- package/src/commands/skills/publish.js +1 -1
- package/src/commands/skills/status.js +1 -1
- package/src/commands/skills/update.js +1 -1
- package/src/commands/skills.js +4 -2
- package/src/commands/workspaces/get.js +1 -1
- package/src/commands/workspaces/list.js +1 -1
- package/src/commands/workspaces.js +3 -2
- package/src/configuration/commands.js +373 -0
- package/src/configure/command.js +3 -1
- package/src/core/configuration.js +152 -0
- package/src/core/context.js +45 -15
- package/src/core/wizard.js +53 -34
- package/src/domain/readCommand.js +2 -0
- package/src/domain/writeService.js +19 -20
- package/src/index.js +6 -1
- package/src/instance/service.js +5 -5
- package/src/workspace/apiCommand.js +58 -0
- package/src/workspace/commands.js +191 -0
package/README.md
CHANGED
|
@@ -1,229 +1,200 @@
|
|
|
1
1
|
# Bondia Workspaces CLI
|
|
2
2
|
|
|
3
|
-
CLI do Bondia Workspaces para
|
|
4
|
-
|
|
3
|
+
CLI do Bondia Workspaces para administrar instalações, configurar o acesso
|
|
4
|
+
global e operar os recursos do workspace associado à pasta atual.
|
|
5
5
|
|
|
6
6
|
## Instalação
|
|
7
7
|
|
|
8
|
-
O pacote público usa o nome `biaws` e expõe um binário com shebang portátil:
|
|
9
|
-
|
|
10
8
|
```bash
|
|
11
9
|
npm install --global biaws
|
|
12
|
-
biaws
|
|
10
|
+
biaws help
|
|
13
11
|
biaws --version
|
|
14
12
|
```
|
|
15
13
|
|
|
16
|
-
|
|
17
|
-
desenvolvimento, `npm --prefix biaws-cli link` cria o mesmo comando global
|
|
18
|
-
|
|
14
|
+
Uma execução descartável pode usar `npx biaws help`. Em um checkout de
|
|
15
|
+
desenvolvimento, `npm --prefix biaws-cli link` cria o mesmo comando global.
|
|
16
|
+
|
|
17
|
+
O pacote requer Node.js 20.19 ou superior. Operações administrativas de
|
|
18
|
+
instância também exigem Git, Docker e Docker Compose. Windows é suportado por
|
|
19
|
+
WSL2, não de forma nativa.
|
|
20
|
+
|
|
21
|
+
## Organização
|
|
22
|
+
|
|
23
|
+
```text
|
|
24
|
+
biaws admin ... # instalação e instâncias; não exige credencial
|
|
25
|
+
biaws config ... # URL, perfis e credenciais globais
|
|
26
|
+
biaws workspace ... # associação da pasta e recursos do workspace
|
|
27
|
+
biaws help [...] # introdução ou ajuda contextual
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Consulte a árvore completa em
|
|
31
|
+
[`docs/command-taxonomy.md`](docs/command-taxonomy.md).
|
|
32
|
+
|
|
33
|
+
## Primeiros passos
|
|
34
|
+
|
|
35
|
+
Configure um perfil. A chave é lida de forma mascarada no terminal; em CI, use
|
|
36
|
+
`BIAWS_API_KEY`.
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
biaws config init --api-url https://biaws.example.com
|
|
40
|
+
biaws config doctor
|
|
41
|
+
biaws config show
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Depois, associe a pasta atual a um workspace autorizado:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
cd /caminho/do/projeto
|
|
48
|
+
biaws workspace init
|
|
49
|
+
biaws workspace current
|
|
50
|
+
biaws workspace applications list
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Em modo não interativo, informe o ID ou o nome:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
biaws workspace init WORKSPACE_ID
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Configuração
|
|
60
|
+
|
|
61
|
+
Os arquivos globais ficam em `~/.config/biaws/` por padrão:
|
|
62
|
+
|
|
63
|
+
```text
|
|
64
|
+
config.json perfis, URLs e preferências não secretas
|
|
65
|
+
credentials.json chaves de API; permissão 0600
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
`BIAWS_CONFIG_HOME` e `XDG_CONFIG_HOME` podem alterar esse diretório. A pasta do
|
|
69
|
+
projeto recebe apenas `.biaws/config.json`, com o perfil e o ID do workspace.
|
|
70
|
+
Nenhuma chave é gravada no projeto.
|
|
71
|
+
|
|
72
|
+
A precedência é:
|
|
73
|
+
|
|
74
|
+
```text
|
|
75
|
+
flags > variáveis de ambiente > configuração da pasta > perfil global > defaults
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Variáveis canônicas:
|
|
79
|
+
|
|
80
|
+
- `BIAWS_API_URL`: endereço da API;
|
|
81
|
+
- `BIAWS_API_KEY`: chave de API, recomendada para CI;
|
|
82
|
+
- `BIAWS_WORKSPACE_ID`: seleção temporária do workspace;
|
|
83
|
+
- `BIAWS_CONFIG_HOME`: diretório global de configuração;
|
|
84
|
+
- `BIAWS_ROOT`: raiz administrativa de um checkout da plataforma.
|
|
85
|
+
|
|
86
|
+
Perfis permitem usar instalações diferentes:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
BIAWS_API_KEY=... biaws config init --profile producao --api-url https://biaws.example.com
|
|
90
|
+
biaws config profiles list
|
|
91
|
+
biaws config profiles use producao
|
|
92
|
+
biaws config login --profile producao
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
Nomes de perfil usam letras minúsculas ASCII, números, ponto, hífen ou
|
|
96
|
+
sublinhado.
|
|
97
|
+
|
|
98
|
+
## Recursos do workspace
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
biaws workspace list
|
|
102
|
+
biaws workspace applications list
|
|
103
|
+
biaws workspace demands get CLI-123
|
|
104
|
+
biaws workspace demands tasks CLI-123 --status Pendente
|
|
105
|
+
biaws workspace issues list --status open
|
|
106
|
+
biaws workspace issues transition ISSUE_ID --status Resolvido --yes
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
`--json` emite envelopes estruturados em stdout. Leituras preservam escopo e
|
|
110
|
+
paginação. Escritas resolvem a entidade antes da alteração, exigem confirmação
|
|
111
|
+
e não repetem uma escrita quando o status já é o solicitado.
|
|
19
112
|
|
|
20
|
-
|
|
21
|
-
instância e a configuração completa de MCP/skills também precisam dos assets
|
|
22
|
-
Docker e scripts do repositório. Nesse caso, execute a partir do checkout ou
|
|
23
|
-
defina sua raiz explicitamente:
|
|
113
|
+
Para uma rota ainda não coberta por um comando de domínio:
|
|
24
114
|
|
|
25
115
|
```bash
|
|
26
|
-
|
|
27
|
-
biaws
|
|
116
|
+
biaws workspace api GET /catalog/workspaces
|
|
117
|
+
biaws workspace api PATCH /recurso/ID --body '{"status":"Ativo"}'
|
|
28
118
|
```
|
|
29
119
|
|
|
30
|
-
|
|
31
|
-
|
|
120
|
+
## Agentes e skills
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
biaws workspace agent configure codex
|
|
124
|
+
biaws workspace agent configure claude
|
|
125
|
+
biaws workspace agent doctor codex
|
|
126
|
+
biaws workspace skills list
|
|
127
|
+
biaws workspace skills install SKILL_ID
|
|
128
|
+
biaws workspace skills update
|
|
129
|
+
biaws workspace skills status
|
|
130
|
+
```
|
|
32
131
|
|
|
33
|
-
|
|
132
|
+
O Codex usa `.codex/config.toml` e `.agents/skills`. O Claude Code usa
|
|
133
|
+
`.mcp.json` e `.claude/skills`. Configurações de terceiros são preservadas e
|
|
134
|
+
nenhuma credencial é gravada no projeto.
|
|
34
135
|
|
|
35
|
-
|
|
136
|
+
## Monitoramento
|
|
36
137
|
|
|
37
138
|
```bash
|
|
38
|
-
biaws
|
|
39
|
-
biaws skills publish \
|
|
40
|
-
--dir ../../.agents/skills/biaws-example \
|
|
41
|
-
--version 1.0.0 \
|
|
42
|
-
--changelog "Publicação inicial"
|
|
43
|
-
biaws skills publish-all \
|
|
44
|
-
--dir ../../.agents/skills \
|
|
45
|
-
--initial-version 1.0.0 \
|
|
46
|
-
--changelog "Publicação inicial do catálogo"
|
|
47
|
-
biaws skills install biaws-example
|
|
48
|
-
biaws skills install-all
|
|
49
|
-
biaws skills status
|
|
50
|
-
biaws skills update
|
|
51
|
-
biaws agent configure codex --project /caminho/do/projeto --workspace id-do-workspace
|
|
52
|
-
biaws agent configure claude --project /caminho/do/projeto --workspace id-do-workspace
|
|
53
|
-
biaws agent doctor codex --project /caminho/do/projeto --workspace id-do-workspace
|
|
54
|
-
biaws monitoring signal <aplicação.componente.deployment.runtime> \
|
|
139
|
+
biaws workspace monitoring signal <runtime> \
|
|
55
140
|
--status healthy \
|
|
56
|
-
--source
|
|
57
|
-
--signal-id
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
biaws monitoring
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
### Consultas de domínio
|
|
71
|
-
|
|
72
|
-
As rotas `workspaces`, `applications`, `demands` e `issues` oferecem `list` e
|
|
73
|
-
`get`; `demands tasks <melhoria>` lista tarefas por ID ou código. Filtros de
|
|
74
|
-
workspace/aplicação, busca, status, página e limite são enviados à API sem
|
|
75
|
-
ampliar o escopo. A saída humana sempre informa escopo e paginação. `--json`
|
|
76
|
-
emite somente o envelope versionado `biaws.read.v1` em stdout; diagnósticos
|
|
77
|
-
permanecem em stderr.
|
|
78
|
-
|
|
79
|
-
As escritas remotas são restritas às ações `demands task-status`,
|
|
80
|
-
`demands complete-task` e `issues transition`. Elas resolvem a entidade antes
|
|
81
|
-
da alteração, exigem confirmação (`--yes` em CI), enviam somente o novo status
|
|
82
|
-
e retornam `biaws.write.v1`. Repetir o status atual não envia outra escrita.
|
|
141
|
+
--source synthetic-http \
|
|
142
|
+
--signal-id check:42
|
|
143
|
+
|
|
144
|
+
biaws workspace monitoring signals <runtime> --limit 20
|
|
145
|
+
biaws workspace monitoring describe --template sgmp-health --template-version 1
|
|
146
|
+
biaws workspace monitoring validate --template sgmp-health --template-version 1 \
|
|
147
|
+
--payload '{"status":"healthy"}'
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
O contrato completo está em [`../docs/monitoring.md`](../docs/monitoring.md).
|
|
151
|
+
|
|
152
|
+
## Administração da instalação
|
|
153
|
+
|
|
154
|
+
Diagnostique os pré-requisitos e baixe uma release verificada:
|
|
83
155
|
|
|
84
156
|
```bash
|
|
85
|
-
biaws
|
|
86
|
-
biaws
|
|
87
|
-
biaws
|
|
88
|
-
|
|
89
|
-
biaws issues list --application APPLICATION_ID --status open --json
|
|
90
|
-
biaws demands complete-task CLI-OCLIF-2026-08-18 CLI-OCLIF-09 --yes --json
|
|
91
|
-
biaws issues transition ISSUE_ID --status Resolvido --yes --json
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
`monitoring signal` envia uma observação passiva para um runtime. A referência
|
|
95
|
-
pode ser o UUID ou o caminho de identificadores
|
|
96
|
-
`<aplicação>.<componente>.<deployment>.<runtime>`. Use
|
|
97
|
-
`--signal-id` para que retries sejam idempotentes e `--observed-at` quando a
|
|
98
|
-
observação ocorreu antes do envio. Estados aceitos: `unknown`, `healthy`,
|
|
99
|
-
`degraded`, `unavailable` e `stopped`. O contrato completo está em
|
|
100
|
-
[`../docs/monitoring.md`](../docs/monitoring.md).
|
|
101
|
-
|
|
102
|
-
`monitoring describe` retorna contrato, amostra e apresentação da versão;
|
|
103
|
-
`monitoring validate` executa JSONata sem persistir sinal. Ao enviar
|
|
104
|
-
`--template` e `--template-version`, informe `--payload`; `--status` deixa de ser
|
|
105
|
-
obrigatório porque o resultado é calculado pela API.
|
|
106
|
-
|
|
107
|
-
Por padrão, as skills são instaladas em `.agents/skills`, considerando o diretório
|
|
108
|
-
corrente. Outro destino pode ser informado com `--target`.
|
|
109
|
-
|
|
110
|
-
O CLI mantém `.agents/biaws-skills.lock.json` com as versões instaladas. Ao usar
|
|
111
|
-
`--force` ou `skills update`, a instalação anterior é preservada ao lado da nova com
|
|
112
|
-
o sufixo `.backup-<data>`.
|
|
113
|
-
|
|
114
|
-
`skills publish-all` examina somente os subdiretórios imediatos da pasta informada
|
|
115
|
-
que contenham `SKILL.md`. Uma skill cuja versão já esteja no catálogo é ignorada,
|
|
116
|
-
permitindo repetir a carga inicial sem gerar conflito. Falhas em uma skill não
|
|
117
|
-
interrompem as demais e fazem o comando terminar com código de saída diferente de
|
|
118
|
-
zero.
|
|
119
|
-
|
|
120
|
-
`agent configure` registra o `biaws-mcp` e instala todas as skills do catálogo.
|
|
121
|
-
Para Codex, usa `.codex/config.toml` e `.agents/skills`. Para Claude Code, usa
|
|
122
|
-
`.mcp.json` e `.claude/skills`. O comando preserva outros servidores MCP e não
|
|
123
|
-
altera configuração global. Ele grava `ISSUE_WORKSPACE_ID` na configuração MCP
|
|
124
|
-
do projeto; informe `--workspace` quando a chave acessar mais de um workspace.
|
|
125
|
-
Use `agent doctor` para verificar Node.js, API, autenticação, workspace,
|
|
126
|
-
configuração e skills.
|
|
127
|
-
|
|
128
|
-
As rotas `skills`, `agent` e `monitoring` são subcomandos oclif nativos: seus
|
|
129
|
-
argumentos, flags, ajuda e erros de uso são descobertos e validados pelo
|
|
130
|
-
framework. `agent configure` e `agent doctor` permanecem como aliases de
|
|
131
|
-
compatibilidade; para novas automações, prefira `configure codex|claude` e
|
|
132
|
-
`configure doctor`.
|
|
157
|
+
biaws admin doctor
|
|
158
|
+
biaws admin install --version 1.0.0 --dry-run
|
|
159
|
+
biaws admin install --version 1.0.0 --directory /opt/biaws
|
|
160
|
+
```
|
|
133
161
|
|
|
134
|
-
|
|
162
|
+
O instalador busca `biaws-<versão>.tar.gz` e seu arquivo `.sha256` na release do
|
|
163
|
+
GitHub. Ele recusa diretórios não vazios e extrai somente depois de verificar o
|
|
164
|
+
checksum.
|
|
165
|
+
|
|
166
|
+
Gerencie as instâncias:
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
biaws admin instance setup --interactive
|
|
170
|
+
biaws admin instance list
|
|
171
|
+
biaws admin instance status local
|
|
172
|
+
biaws admin instance start local
|
|
173
|
+
biaws admin instance stop local
|
|
174
|
+
biaws admin instance backup local
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
Os executores de monitoramento ativo também pertencem ao nível administrativo:
|
|
135
178
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
- `--workspace`: seleciona o workspace e, em `agent configure`, persiste a
|
|
146
|
-
seleção na configuração MCP do projeto. A seleção não amplia as permissões da
|
|
147
|
-
identidade técnica.
|
|
148
|
-
|
|
149
|
-
O valor padrão é `http://127.0.0.1:3100`.
|
|
150
|
-
|
|
151
|
-
## Fundação de comandos
|
|
152
|
-
|
|
153
|
-
Os novos comandos usam bases separadas por contexto:
|
|
154
|
-
|
|
155
|
-
- `LocalInstanceCommand` resolve raiz, diretório de instâncias e `.env` sem
|
|
156
|
-
exigir credenciais;
|
|
157
|
-
- `AuthenticatedApiCommand` valida a autenticação antes de criar o cliente HTTP;
|
|
158
|
-
- `ProjectCommand` acrescenta a resolução explícita do diretório do projeto.
|
|
159
|
-
|
|
160
|
-
Filesystem, processos, API e terminal ficam atrás de adapters injetáveis. A
|
|
161
|
-
resolução cria um snapshot do ambiente e não altera `process.env`. Subprocessos
|
|
162
|
-
são executados sem shell, recebem argumentos separados e encaminham sinais; ao
|
|
163
|
-
receber segredos para redaction, sua saída é sanitizada antes de chegar ao
|
|
164
|
-
terminal ou a erros.
|
|
165
|
-
|
|
166
|
-
## Wizards e planos
|
|
167
|
-
|
|
168
|
-
Fluxos interativos usam `@inquirer/prompts` somente por meio de um
|
|
169
|
-
`PromptAdapter`. Há adapters real, não interativo e programável para testes. A
|
|
170
|
-
camada de wizard resolve flags e ambiente, coleta apenas campos ausentes, valida
|
|
171
|
-
o conjunto, cria um plano imutável, apresenta um resumo redigido, confirma e só
|
|
172
|
-
então chama o executor.
|
|
173
|
-
|
|
174
|
-
- `--interactive` habilita perguntas quando há TTY;
|
|
175
|
-
- `--non-interactive` nunca pergunta e lista todos os campos obrigatórios
|
|
176
|
-
ausentes;
|
|
177
|
-
- `--defaults` aplica defaults declarados explicitamente e é sempre opt-in;
|
|
178
|
-
- `--yes` pula somente a confirmação, sem preencher campos;
|
|
179
|
-
- `--json` não muda coleta ou confirmação e reserva o resumo serializado para
|
|
180
|
-
saída estruturada.
|
|
181
|
-
|
|
182
|
-
Segredos podem ser acessados pelo executor com `plan.get(campo)`, mas aparecem
|
|
183
|
-
como `[REDACTED]` em `plan.values`, `toJSON()` e no resumo. Cancelamento, EOF e
|
|
184
|
-
sinais abortam antes da chamada do executor com código estável.
|
|
185
|
-
|
|
186
|
-
## Instâncias locais
|
|
187
|
-
|
|
188
|
-
`biaws instance setup`, `list`, `show`, `status`, `start` e `stop` cobrem o
|
|
189
|
-
setup e o ciclo de vida local sem exigir chave da API. O setup valida nomes,
|
|
190
|
-
URL, portas e storage antes de chamar Docker, preserva segredos existentes e
|
|
191
|
-
alerta quando uma reexecução muda os destinos persistentes sem mover dados.
|
|
192
|
-
|
|
193
|
-
A senha administrativa não possui flag: informe-a no prompt mascarado ou em
|
|
194
|
-
`BIAWS_BOOTSTRAP_ADMIN_PASSWORD` num ambiente privado. Consulte o fluxo de
|
|
195
|
-
automação e o smoke test Docker em
|
|
179
|
+
```bash
|
|
180
|
+
biaws admin monitoring validate --instance local
|
|
181
|
+
biaws admin monitoring start --instance local
|
|
182
|
+
biaws admin monitoring status --instance local
|
|
183
|
+
biaws admin monitoring logs --instance local
|
|
184
|
+
biaws admin monitoring provision WORKSPACE_ID --instance local
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
Detalhes e automação estão em
|
|
196
188
|
[`docs/instance-lifecycle.md`](docs/instance-lifecycle.md).
|
|
197
189
|
|
|
198
190
|
## Desenvolvimento
|
|
199
191
|
|
|
200
192
|
```bash
|
|
201
193
|
npm ci
|
|
194
|
+
npm run format:check
|
|
202
195
|
npm run check
|
|
203
196
|
npm test
|
|
204
197
|
npm run package:verify
|
|
205
198
|
```
|
|
206
199
|
|
|
207
|
-
O
|
|
208
|
-
[`docs/releasing.md`](docs/releasing.md). O comando de publicação é dry-run por
|
|
209
|
-
padrão e nunca publica sem `--publish` explícito.
|
|
210
|
-
|
|
211
|
-
### Configuração de clientes e skills
|
|
212
|
-
|
|
213
|
-
Os comandos nativos de projeto mantêm a chave exclusivamente no ambiente privado
|
|
214
|
-
(`ISSUE_API_KEY` ou `--env-file`) e gravam no projeto apenas a URL indireta do
|
|
215
|
-
runtime, o workspace e a configuração MCP gerenciada:
|
|
216
|
-
|
|
217
|
-
```bash
|
|
218
|
-
biaws configure codex --project . --workspace <workspace-id>
|
|
219
|
-
biaws configure claude --project . --workspace <workspace-id>
|
|
220
|
-
biaws configure skills list --json
|
|
221
|
-
biaws configure skills install <skill-id>
|
|
222
|
-
biaws configure skills update [skill-id]
|
|
223
|
-
biaws configure skills verify
|
|
224
|
-
biaws configure doctor codex
|
|
225
|
-
```
|
|
226
|
-
|
|
227
|
-
Configurações preexistentes de terceiros são preservadas. Um bloco `biaws`
|
|
228
|
-
conflitante só é assumido pelo CLI com `--force`. Sem TTY, cliente, workspace e
|
|
229
|
-
seleção de skill devem ser informados explicitamente; `--all` instala o catálogo.
|
|
200
|
+
O processo de publicação está em [`docs/releasing.md`](docs/releasing.md).
|
package/docs/command-taxonomy.md
CHANGED
|
@@ -1,36 +1,76 @@
|
|
|
1
1
|
# Taxonomia de comandos do BIAWS CLI
|
|
2
2
|
|
|
3
|
-
O executável `biaws`
|
|
3
|
+
O executável `biaws` possui três níveis canônicos e um comando explícito de
|
|
4
|
+
ajuda. Não há aliases para a taxonomia anterior.
|
|
4
5
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
```text
|
|
7
|
+
biaws
|
|
8
|
+
├── help [comando...]
|
|
9
|
+
├── admin
|
|
10
|
+
│ ├── install
|
|
11
|
+
│ ├── doctor
|
|
12
|
+
│ ├── config
|
|
13
|
+
│ ├── instance setup|list|show|status|start|stop|backup|restore|remove
|
|
14
|
+
│ └── monitoring build|validate|start|stop|status|logs|provision
|
|
15
|
+
├── config
|
|
16
|
+
│ ├── init|login|show|set|unset|doctor
|
|
17
|
+
│ └── profiles list|use
|
|
18
|
+
└── workspace
|
|
19
|
+
├── list|get|init|use|current|unlink
|
|
20
|
+
├── agent configure codex|claude
|
|
21
|
+
├── agent doctor
|
|
22
|
+
├── applications list|get
|
|
23
|
+
├── demands list|get|tasks|task-status|complete-task
|
|
24
|
+
├── issues list|get|transition
|
|
25
|
+
├── skills list|install|install-all|status|update|publish|publish-all
|
|
26
|
+
├── monitoring signal|signals|describe|validate
|
|
27
|
+
└── api <método> <caminho>
|
|
28
|
+
```
|
|
8
29
|
|
|
9
|
-
|
|
10
|
-
rotas de compatibilidade. Seus argumentos e opções são encaminhados às
|
|
11
|
-
implementações existentes; a substituição por comandos oclif específicos será
|
|
12
|
-
feita incrementalmente.
|
|
30
|
+
## Nível administrativo
|
|
13
31
|
|
|
14
|
-
|
|
32
|
+
`biaws admin ...` não exige URL, chave de API nem workspace. Ele opera a
|
|
33
|
+
instalação da plataforma, seus pré-requisitos e as instâncias locais. O comando
|
|
34
|
+
`admin install` baixa uma release versionada, exige checksum SHA-256 e não
|
|
35
|
+
sobrescreve diretórios que contenham arquivos.
|
|
15
36
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
37
|
+
## Configuração global
|
|
38
|
+
|
|
39
|
+
`biaws config ...` gerencia perfis, URLs e credenciais em um diretório XDG. A
|
|
40
|
+
localização segue esta ordem:
|
|
41
|
+
|
|
42
|
+
1. `BIAWS_CONFIG_HOME`;
|
|
43
|
+
2. `$XDG_CONFIG_HOME/biaws`;
|
|
44
|
+
3. `$HOME/.config/biaws`.
|
|
45
|
+
|
|
46
|
+
`config.json` armazena somente dados não secretos. As chaves ficam em
|
|
47
|
+
`credentials.json`, criado com permissão `0600`. Um perfil pode ser selecionado
|
|
48
|
+
globalmente ou pela configuração da pasta.
|
|
22
49
|
|
|
23
|
-
##
|
|
50
|
+
## Nível de workspace
|
|
51
|
+
|
|
52
|
+
`biaws workspace init` lista os workspaces autorizados e cria
|
|
53
|
+
`.biaws/config.json` na pasta selecionada. A associação é encontrada também a
|
|
54
|
+
partir dos subdiretórios dessa pasta. Comandos remotos exigem essa associação,
|
|
55
|
+
uma seleção explícita por flag ou as variáveis próprias para automação.
|
|
56
|
+
|
|
57
|
+
A precedência da resolução é:
|
|
24
58
|
|
|
25
59
|
```text
|
|
26
|
-
|
|
27
|
-
├── instance setup|list|show|status|start|stop|backup|restore|remove
|
|
28
|
-
├── configure codex|claude|skills|doctor
|
|
29
|
-
├── workspaces list|get
|
|
30
|
-
├── applications list|get
|
|
31
|
-
├── demands list|get|tasks|task-status|complete-task
|
|
32
|
-
├── issues list|get|transition
|
|
33
|
-
├── skills ... (compatibilidade)
|
|
34
|
-
├── agent ... (compatibilidade)
|
|
35
|
-
└── monitoring ... (compatibilidade)
|
|
60
|
+
flags > variáveis de ambiente > configuração da pasta > perfil global > defaults
|
|
36
61
|
```
|
|
62
|
+
|
|
63
|
+
As variáveis canônicas são `BIAWS_API_URL`, `BIAWS_API_KEY` e
|
|
64
|
+
`BIAWS_WORKSPACE_ID`. Os nomes `ISSUE_*` permanecem aceitos como variáveis de
|
|
65
|
+
ambiente internas durante a transição do backend, mas não representam comandos
|
|
66
|
+
antigos do CLI.
|
|
67
|
+
|
|
68
|
+
## Convenções
|
|
69
|
+
|
|
70
|
+
- comandos e flags usam kebab-case;
|
|
71
|
+
- textos apresentados ao usuário usam português do Brasil com Unicode;
|
|
72
|
+
- descrições curtas começam em letra minúscula e não terminam em ponto;
|
|
73
|
+
- `--json` reserva stdout para JSON e envia diagnósticos para stderr;
|
|
74
|
+
- erros de uso retornam código 2 e falhas operacionais retornam código 1;
|
|
75
|
+
- segredos não são aceitos em argumentos de linha de comando;
|
|
76
|
+
- `biaws help` explica o produto e `biaws help <tópico>` navega na árvore.
|
|
@@ -6,7 +6,7 @@ O setup interativo coleta entradas ausentes, mostra um plano redigido e pede
|
|
|
6
6
|
confirmação antes de mutar arquivos ou chamar Docker:
|
|
7
7
|
|
|
8
8
|
```bash
|
|
9
|
-
biaws instance setup --interactive
|
|
9
|
+
biaws admin instance setup --interactive
|
|
10
10
|
```
|
|
11
11
|
|
|
12
12
|
Em automação, defaults precisam ser autorizados e a senha deve vir de um
|
|
@@ -14,7 +14,7 @@ ambiente privado, nunca de argv:
|
|
|
14
14
|
|
|
15
15
|
```bash
|
|
16
16
|
BIAWS_BOOTSTRAP_ADMIN_PASSWORD='...' \
|
|
17
|
-
biaws instance setup --name local --defaults --non-interactive --yes
|
|
17
|
+
biaws admin instance setup --name local --defaults --non-interactive --yes
|
|
18
18
|
```
|
|
19
19
|
|
|
20
20
|
Use `--storage volumes` ou `--storage directories --storage-root /srv/biaws`.
|
|
@@ -24,11 +24,11 @@ CLI não move dados existentes implicitamente.
|
|
|
24
24
|
## Operação
|
|
25
25
|
|
|
26
26
|
```bash
|
|
27
|
-
biaws instance list
|
|
28
|
-
biaws instance show local
|
|
29
|
-
biaws instance status local
|
|
30
|
-
biaws instance start local
|
|
31
|
-
biaws instance stop local
|
|
27
|
+
biaws admin instance list
|
|
28
|
+
biaws admin instance show local
|
|
29
|
+
biaws admin instance status local
|
|
30
|
+
biaws admin instance start local
|
|
31
|
+
biaws admin instance stop local
|
|
32
32
|
```
|
|
33
33
|
|
|
34
34
|
`list` e `show` omitem o conteúdo integral do `.env`. `start`, `stop` e
|
|
@@ -47,7 +47,7 @@ Em um checkout descartável com Docker e OpenSSL disponíveis:
|
|
|
47
47
|
|
|
48
48
|
```bash
|
|
49
49
|
BIAWS_BOOTSTRAP_ADMIN_PASSWORD='smoke-only-change-me' \
|
|
50
|
-
biaws instance setup \
|
|
50
|
+
biaws admin instance setup \
|
|
51
51
|
--name smoke --mongo-port 27117 --api-port 3110 --ui-port 4410 \
|
|
52
52
|
--public-url http://localhost:4410 --storage volumes \
|
|
53
53
|
--admin-email smoke@example.test --admin-name Smoke \
|
|
@@ -55,9 +55,9 @@ BIAWS_BOOTSTRAP_ADMIN_PASSWORD='smoke-only-change-me' \
|
|
|
55
55
|
--auth-rate-limit-max 100 --auth-rate-limit-window 10 \
|
|
56
56
|
--api-key-rate-limit-max 1000 --api-key-rate-limit-window 3600 \
|
|
57
57
|
--no-demo-seed --non-interactive --yes
|
|
58
|
-
biaws instance status smoke
|
|
59
|
-
biaws instance stop smoke
|
|
60
|
-
biaws instance start smoke
|
|
58
|
+
biaws admin instance status smoke
|
|
59
|
+
biaws admin instance stop smoke
|
|
60
|
+
biaws admin instance start smoke
|
|
61
61
|
```
|
|
62
62
|
|
|
63
63
|
## Backup, restore e remoção
|
|
@@ -66,9 +66,9 @@ Os comandos oclif usam o archive portátil existente sem colocar a senha em
|
|
|
66
66
|
`argv`:
|
|
67
67
|
|
|
68
68
|
```bash
|
|
69
|
-
biaws instance backup alpha --password-file /caminho/privado/senha
|
|
70
|
-
biaws instance restore beta --archive ./alpha.tar.gz.enc --password-file /caminho/privado/senha --yes
|
|
71
|
-
biaws instance remove beta --yes
|
|
69
|
+
biaws admin instance backup alpha --password-file /caminho/privado/senha
|
|
70
|
+
biaws admin instance restore beta --archive ./alpha.tar.gz.enc --password-file /caminho/privado/senha --yes
|
|
71
|
+
biaws admin instance remove beta --yes
|
|
72
72
|
```
|
|
73
73
|
|
|
74
74
|
Em TTY, a senha pode ser solicitada de forma mascarada. Restore e remove
|
package/docs/releasing.md
CHANGED
|
@@ -57,7 +57,7 @@ Os wrappers públicos preservados são:
|
|
|
57
57
|
|
|
58
58
|
- `scripts/setup-local.sh`: setup co-localizado seguido de configuração;
|
|
59
59
|
- `scripts/setup-client.sh`: configuração de um cliente remoto;
|
|
60
|
-
- `scripts/configure.sh`: adapter legado para `biaws agent configure/doctor`.
|
|
60
|
+
- `scripts/configure.sh`: adapter legado para `biaws workspace agent configure/doctor`.
|
|
61
61
|
|
|
62
62
|
Esses wrappers usam `scripts/run-biaws-cli.sh`, que fixa `BIAWS_ROOT` no
|
|
63
63
|
checkout e executa o entrypoint com shebang. Em um clone limpo, ele instala
|
|
@@ -79,14 +79,14 @@ Antes de marcar uma release, use credenciais descartáveis e execute, nesta
|
|
|
79
79
|
ordem, em uma instância isolada:
|
|
80
80
|
|
|
81
81
|
1. `biaws --help` e `biaws --version` pela instalação empacotada;
|
|
82
|
-
2. `biaws instance setup` e `biaws configure codex|claude` com `BIAWS_ROOT`;
|
|
82
|
+
2. `biaws admin instance setup` e `biaws workspace agent configure codex|claude` com `BIAWS_ROOT`;
|
|
83
83
|
3. uma consulta `workspaces list --json` e outra por código, como
|
|
84
84
|
`demands get <código> --json`;
|
|
85
85
|
4. uma escrita idempotente com `demands task-status ... --yes --json`, seguida
|
|
86
86
|
de nova leitura;
|
|
87
|
-
5. `biaws instance backup`, restore em uma instância de destino e validação de
|
|
87
|
+
5. `biaws admin instance backup`, restore em uma instância de destino e validação de
|
|
88
88
|
API/UI;
|
|
89
|
-
6. `biaws instance remove <destino> --yes`, preservando dados externos salvo
|
|
89
|
+
6. `biaws admin instance remove <destino> --yes`, preservando dados externos salvo
|
|
90
90
|
autorização explícita.
|
|
91
91
|
|
|
92
92
|
Capture somente códigos de saída, envelopes sanitizados e checksums. Não grave
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "biaws",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "CLI do Bondia Workspaces para configuração
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "CLI do Bondia Workspaces para administração, configuração e operação de workspaces",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -39,8 +39,57 @@
|
|
|
39
39
|
"oclif": {
|
|
40
40
|
"bin": "biaws",
|
|
41
41
|
"dirname": "biaws",
|
|
42
|
-
"commands": "./src/
|
|
43
|
-
"topicSeparator": " "
|
|
42
|
+
"commands": "./src/cli",
|
|
43
|
+
"topicSeparator": " ",
|
|
44
|
+
"topics": {
|
|
45
|
+
"admin": {
|
|
46
|
+
"description": "Administra a instalação e as instâncias da plataforma",
|
|
47
|
+
"subtopics": {
|
|
48
|
+
"instance": {
|
|
49
|
+
"description": "Configura e opera instâncias locais do BIAWS"
|
|
50
|
+
},
|
|
51
|
+
"monitoring": {
|
|
52
|
+
"description": "Configura e opera executores de monitoramento"
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"config": {
|
|
57
|
+
"description": "Gerencia perfis, URLs e credenciais globais",
|
|
58
|
+
"subtopics": {
|
|
59
|
+
"profiles": {
|
|
60
|
+
"description": "Gerencia os perfis globais de acesso"
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
"workspace": {
|
|
65
|
+
"description": "Associa a pasta e opera os recursos do workspace",
|
|
66
|
+
"subtopics": {
|
|
67
|
+
"agent": {
|
|
68
|
+
"description": "Configura e diagnostica clientes de agentes",
|
|
69
|
+
"subtopics": {
|
|
70
|
+
"configure": {
|
|
71
|
+
"description": "Configura clientes de agentes na pasta atual"
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
"applications": {
|
|
76
|
+
"description": "Consulta aplicações do workspace"
|
|
77
|
+
},
|
|
78
|
+
"demands": {
|
|
79
|
+
"description": "Consulta melhorias e suas tarefas"
|
|
80
|
+
},
|
|
81
|
+
"issues": {
|
|
82
|
+
"description": "Consulta e atualiza issues"
|
|
83
|
+
},
|
|
84
|
+
"monitoring": {
|
|
85
|
+
"description": "Envia e consulta sinais de monitoramento"
|
|
86
|
+
},
|
|
87
|
+
"skills": {
|
|
88
|
+
"description": "Gerencia as skills do workspace"
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
44
93
|
},
|
|
45
94
|
"scripts": {
|
|
46
95
|
"start": "node bin/biaws.js",
|