expxdev 0.4.1 → 0.5.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 +27 -9
- package/dist/cli/expx.js +2 -0
- package/dist/cli/expx.js.map +1 -1
- package/dist/cli/principal.js +30 -6
- package/dist/cli/principal.js.map +1 -1
- package/dist/cli/selecao.js +3 -0
- package/dist/cli/selecao.js.map +1 -1
- package/dist/cli/subcomandos.d.ts +1 -1
- package/dist/cli/subcomandos.js +3 -2
- package/dist/cli/subcomandos.js.map +1 -1
- package/dist/nucleo/caminhos.d.ts +1 -1
- package/dist/nucleo/catalogo.d.ts +1 -1
- package/dist/nucleo/catalogo.js +7 -1
- package/dist/nucleo/catalogo.js.map +1 -1
- package/dist/nucleo/layout.d.ts +2 -2
- package/dist/nucleo/versao.d.ts +1 -1
- package/dist/parser/esquema/enums.d.ts +3 -2
- package/dist/parser/esquema/enums.js +3 -2
- package/dist/parser/esquema/enums.js.map +1 -1
- package/dist/parser/esquema/evento.d.ts +1 -0
- package/dist/servidor/http.d.ts +11 -0
- package/dist/servidor/http.js +31 -1
- package/dist/servidor/http.js.map +1 -1
- package/dist/watch/desenho/arvore.d.ts +3 -0
- package/dist/watch/desenho/arvore.js +62 -0
- package/dist/watch/desenho/arvore.js.map +1 -0
- package/dist/watch/desenho/bloqueios.d.ts +5 -0
- package/dist/watch/desenho/bloqueios.js +41 -0
- package/dist/watch/desenho/bloqueios.js.map +1 -0
- package/dist/watch/desenho/cabecalho.d.ts +11 -0
- package/dist/watch/desenho/cabecalho.js +49 -0
- package/dist/watch/desenho/cabecalho.js.map +1 -0
- package/dist/watch/desenho/cor.d.ts +44 -0
- package/dist/watch/desenho/cor.js +66 -0
- package/dist/watch/desenho/cor.js.map +1 -0
- package/dist/watch/desenho/desenhar.d.ts +16 -0
- package/dist/watch/desenho/desenhar.js +54 -0
- package/dist/watch/desenho/desenhar.js.map +1 -0
- package/dist/watch/desenho/eventos.d.ts +3 -0
- package/dist/watch/desenho/eventos.js +37 -0
- package/dist/watch/desenho/eventos.js.map +1 -0
- package/dist/watch/desenho/largura.d.ts +23 -0
- package/dist/watch/desenho/largura.js +42 -0
- package/dist/watch/desenho/largura.js.map +1 -0
- package/dist/watch/desenho/lista.d.ts +9 -0
- package/dist/watch/desenho/lista.js +28 -0
- package/dist/watch/desenho/lista.js.map +1 -0
- package/dist/watch/fontes/estado-schema.d.ts +1 -0
- package/dist/watch/fontes/observar.d.ts +32 -0
- package/dist/watch/fontes/observar.js +101 -0
- package/dist/watch/fontes/observar.js.map +1 -0
- package/dist/watch/fontes/raiz.d.ts +12 -0
- package/dist/watch/fontes/raiz.js +25 -0
- package/dist/watch/fontes/raiz.js.map +1 -0
- package/dist/watch/opcoes.d.ts +25 -0
- package/dist/watch/opcoes.js +73 -0
- package/dist/watch/opcoes.js.map +1 -0
- package/dist/watch/principal.d.ts +12 -0
- package/dist/watch/principal.js +49 -0
- package/dist/watch/principal.js.map +1 -0
- package/dist/watch/terminal/restaurar.d.ts +24 -0
- package/dist/watch/terminal/restaurar.js +58 -0
- package/dist/watch/terminal/restaurar.js.map +1 -0
- package/dist/watch/terminal/tela.d.ts +17 -0
- package/dist/watch/terminal/tela.js +64 -0
- package/dist/watch/terminal/tela.js.map +1 -0
- package/dist/watch/visao/escolher.d.ts +18 -0
- package/dist/watch/visao/escolher.js +57 -0
- package/dist/watch/visao/escolher.js.map +1 -0
- package/dist/watch/visao/projetar.d.ts +51 -0
- package/dist/watch/visao/projetar.js +38 -0
- package/dist/watch/visao/projetar.js.map +1 -0
- package/dist/watch/watch.d.ts +26 -0
- package/dist/watch/watch.js +89 -0
- package/dist/watch/watch.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -19,6 +19,18 @@
|
|
|
19
19
|
<strong>O CLI do método Expx</strong> — instala, atualiza e diagnostica o ecossistema<br>
|
|
20
20
|
de skills para <a href="https://claude.com/claude-code">Claude Code</a> e <a href="https://opencode.ai">OpenCode</a>, e sobe o painel de operação.
|
|
21
21
|
|
|
22
|
+
<p>
|
|
23
|
+
<a href="https://bittencourtthulio.github.io/expxdev/"><strong>📘 Documentação completa</strong></a>
|
|
24
|
+
·
|
|
25
|
+
<a href="https://bittencourtthulio.github.io/expxdev/#instalacao">Instalação</a>
|
|
26
|
+
·
|
|
27
|
+
<a href="https://bittencourtthulio.github.io/expxdev/#ecossistema">As sete skills</a>
|
|
28
|
+
·
|
|
29
|
+
<a href="https://bittencourtthulio.github.io/expxdev/#comandos">Referência do CLI</a>
|
|
30
|
+
·
|
|
31
|
+
<a href="https://bittencourtthulio.github.io/expxdev/#schema">Contratos</a>
|
|
32
|
+
</p>
|
|
33
|
+
|
|
22
34
|
</div>
|
|
23
35
|
|
|
24
36
|
```bash
|
|
@@ -41,7 +53,7 @@ com namespace no Claude Code (`/expx:sprintx-sprints`) e sem namespace no OpenCo
|
|
|
41
53
|
| | |
|
|
42
54
|
|---|---|
|
|
43
55
|
| **[O problema que o método resolve](#o-problema-que-o-método-resolve)** | por que existe um método, e não só um prompt melhor |
|
|
44
|
-
| **[O ecossistema](#o-ecossistema)** | as
|
|
56
|
+
| **[O ecossistema](#o-ecossistema)** | as sete skills, o que cada uma faz e quando usar |
|
|
45
57
|
| **[Como as peças se encaixam](#como-as-peças-se-encaixam)** | o fluxo de ponta a ponta, com o diagrama |
|
|
46
58
|
| **[As três camadas de garantia](#as-três-camadas-de-garantia)** | skill, hook e agente — da mais fraca à mais forte |
|
|
47
59
|
| **[Os dois contratos](#os-dois-contratos-compartilhados)** | `expx-schema` e `expx-eventos`, o que faz tudo se encaixar |
|
|
@@ -87,7 +99,7 @@ painel que lê o que elas gravam.
|
|
|
87
99
|
<picture>
|
|
88
100
|
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/bittencourtthulio/expxdev/main/.github/assets/ecossistema-dark.svg">
|
|
89
101
|
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/bittencourtthulio/expxdev/main/.github/assets/ecossistema-light.svg">
|
|
90
|
-
<img alt="O CLI busca as
|
|
102
|
+
<img alt="O CLI busca as sete skills, empacota como plugin e configura os dois harnesses" src="https://raw.githubusercontent.com/bittencourtthulio/expxdev/main/.github/assets/ecossistema-light.svg" width="100%">
|
|
91
103
|
</picture>
|
|
92
104
|
|
|
93
105
|
| Skill | O que faz | Quando usar |
|
|
@@ -98,11 +110,16 @@ painel que lê o que elas gravam.
|
|
|
98
110
|
| **[stackx](https://github.com/bittencourtthulio/stackx)** | **Camada** que descobre o dialeto técnico do repositório — convenções, padrões e aderência — para o código novo parecer com o que já existe. | Entrar em base desconhecida |
|
|
99
111
|
| **[mergex](https://github.com/bittencourtthulio/mergex)** | Versionamento, entrega e revisão: branch, um commit por task, portão de prontidão, descrição de PR, pacote de QA e abertura do pull request. | Levar o trabalho pronto até o merge |
|
|
100
112
|
| **[memox](https://github.com/bittencourtthulio/MemoX)** | **Camada** de memória: indexa os artefatos já fechados — relatórios, causas raiz, decisões, QA, entregas — e responde o que já se sabe sobre um arquivo antes de alguém mexer nele. | Saber se este arquivo já quebrou antes |
|
|
113
|
+
| **[prodx](https://github.com/bittencourtthulio/prodx)** | **Camada** de produto: recebe o pedido cru, tria, verifica se o que foi pedido já existe e emite um veredito com evidência para assinatura humana. Três dos quatro vereditos encerram o pedido sem gerar código. | Decidir se vale fazer, antes de planejar |
|
|
101
114
|
|
|
102
|
-
**Camadas** (`legadox`, `stackx`, `memox`) sozinhas não fazem nada — elas modificam o
|
|
115
|
+
**Camadas** (`legadox`, `stackx`, `memox`, `prodx`) sozinhas não fazem nada — elas modificam o
|
|
103
116
|
comportamento de `sprintx` e `runx`. O CLI avisa se você selecionar uma camada sem base, mas
|
|
104
117
|
nunca impede.
|
|
105
118
|
|
|
119
|
+
A `prodx` é a única que roda **antes** das outras: ela decide *se* existe trabalho; as demais
|
|
120
|
+
tratam de *como* fazê-lo. Sem ela, o método planeja com rigor uma feature que não deveria
|
|
121
|
+
existir — o desperdício mais caro de uma software house, porque passa em todos os testes.
|
|
122
|
+
|
|
106
123
|
### Build e Run são a mesma disciplina
|
|
107
124
|
|
|
108
125
|
`sprintx` e `runx` não são dois métodos: são o mesmo método com gatilhos diferentes.
|
|
@@ -131,9 +148,9 @@ execução autônoma guiada por um arquivo orquestrador.
|
|
|
131
148
|
<img alt="O metodo Expx de ponta a ponta: o gatilho escolhe entre sprintx e runx, as camadas stackx e legadox modificam as duas, a mergex entrega e o painel le tudo" src="https://raw.githubusercontent.com/bittencourtthulio/expxdev/main/.github/assets/metodo-light.svg" width="100%">
|
|
132
149
|
</picture>
|
|
133
150
|
|
|
134
|
-
Em uma frase: **`stackx` diz como este projeto escreve código,
|
|
135
|
-
medo, `sprintx` e `runx` fazem o trabalho, `mergex` entrega, e o
|
|
136
|
-
mostra o andamento.**
|
|
151
|
+
Em uma frase: **`prodx` diz se vale fazer, `stackx` diz como este projeto escreve código,
|
|
152
|
+
`legadox` diz o quanto ter medo, `sprintx` e `runx` fazem o trabalho, `mergex` entrega, e o
|
|
153
|
+
`expxdev` instala todos e mostra o andamento.**
|
|
137
154
|
|
|
138
155
|
A composição concreta, skill a skill:
|
|
139
156
|
|
|
@@ -142,8 +159,9 @@ A composição concreta, skill a skill:
|
|
|
142
159
|
| **`docs/stack/CONVENCOES.md`** *(stackx)* | a ingestão lê as convenções; a descoberta transforma cada PROPOSTA em pergunta; o plano define caminho do teste, camada e padrão de erro **por task**, em vez de deixar para o executor; a auditoria roda a verificação de aderência | a investigação consulta o cartucho conforme o sintoma; o fix obedece o padrão de teste e o isolamento de banco |
|
|
143
160
|
| **`docs/legado/PERFIL.md`** *(legadox)* | cada fase ganha rigor proporcional ao raio: caracterização antes de alterar, orçamento de diff por task, plano de reversão, aprovação humana em raio ALTO | idem, sobre os cinco estágios |
|
|
144
161
|
| **`mergex` instalada** | abre a branch no início da F6, commita cada task, e entrega ao fim | abre a branch no início do E3, e entrega entre o E4 e o E5 |
|
|
162
|
+
| **`docs/produto/` com veredito assinado** *(prodx)* | a F1 recebe o `BRIEFING.md` como entrada, e o plano referencia o `PD-ID` de origem | o `BRIEFING.md` vira o `00-OCORRENCIA.md`, com o tipo já classificado e o comportamento intencional já verificado |
|
|
145
163
|
|
|
146
|
-
> **A ausência nunca quebra.** Sem `CONVENCOES.md`, sem `PERFIL.md` ou sem a `
|
|
164
|
+
> **A ausência nunca quebra.** Sem `CONVENCOES.md`, sem `PERFIL.md`, sem a `mergex` ou sem a `prodx`, as
|
|
147
165
|
> outras skills se comportam exatamente como se comportariam sem elas. Insumo que não existe
|
|
148
166
|
> vira aviso do que falta — nunca invenção, e nunca um erro que trava o trabalho.
|
|
149
167
|
|
|
@@ -213,7 +231,7 @@ o contrato `expx-eventos`, documentado abaixo.
|
|
|
213
231
|
|
|
214
232
|
## Os dois contratos compartilhados
|
|
215
233
|
|
|
216
|
-
As
|
|
234
|
+
As sete skills não se conhecem por código: elas se encontram em dois contratos escritos. É
|
|
217
235
|
isso que permite instalar três delas e não as outras duas, atualizar uma sem tocar nas demais,
|
|
218
236
|
ou escrever uma sexta amanhã.
|
|
219
237
|
|
|
@@ -610,7 +628,7 @@ src/
|
|
|
610
628
|
servidor/ o painel: HTTP, websocket e o observador de arquivos (somente leitura)
|
|
611
629
|
cli/ linha de comando: roteamento de subcomando, flags e seleção interativa
|
|
612
630
|
ui/ a interface do painel (React + Vite)
|
|
613
|
-
docs/contrato/ os dois contratos compartilhados pelas
|
|
631
|
+
docs/contrato/ os dois contratos compartilhados pelas sete skills
|
|
614
632
|
```
|
|
615
633
|
|
|
616
634
|
Este projeto foi planejado e executado com o próprio método — o plano completo, a base de
|
package/dist/cli/expx.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { interpretarSubcomando, ajudaGeral } from "./subcomandos.js";
|
|
2
2
|
import { principal as principalPainel } from "./principal.js";
|
|
3
|
+
import { principalWatch } from "../watch/principal.js";
|
|
3
4
|
import { interpretarFlagsInit } from "./init-flags.js";
|
|
4
5
|
import { executarInit } from "./init.js";
|
|
5
6
|
import { adicionarSkills, removerSkills } from "./selecionar.js";
|
|
@@ -40,6 +41,7 @@ function comoEscolherSkills() {
|
|
|
40
41
|
}
|
|
41
42
|
const EXECUTORES = {
|
|
42
43
|
panel: async (resto) => principalPainel(resto),
|
|
44
|
+
watch: async (resto, saida) => principalWatch(resto, saida),
|
|
43
45
|
init: async (resto, saida) => {
|
|
44
46
|
const f = interpretarFlagsInit(resto);
|
|
45
47
|
if (!f.ok) {
|
package/dist/cli/expx.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expx.js","sourceRoot":"","sources":["../../src/cli/expx.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"expx.js","sourceRoot":"","sources":["../../src/cli/expx.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/principal.js
CHANGED
|
@@ -5,6 +5,9 @@ import { fileURLToPath } from "node:url";
|
|
|
5
5
|
import { spawn } from "node:child_process";
|
|
6
6
|
import { interpretar, textoDeAjuda } from "./argumentos.js";
|
|
7
7
|
import { iniciarPainel } from "../servidor/painel.js";
|
|
8
|
+
import { ErroDePorta } from "../servidor/http.js";
|
|
9
|
+
/** O painel escuta exclusivamente em loopback (ver http.ts). */
|
|
10
|
+
const HOST_PAINEL = "127.0.0.1";
|
|
8
11
|
/** Abre o navegador no sistema em que estamos, sem dependência externa. */
|
|
9
12
|
function abrirNavegador(url) {
|
|
10
13
|
const cmd = process.platform === "darwin" ? "open" : process.platform === "win32" ? "start" : "xdg-open";
|
|
@@ -40,12 +43,33 @@ export async function principal(argv) {
|
|
|
40
43
|
return 1;
|
|
41
44
|
}
|
|
42
45
|
const estaticos = pastaEstaticos();
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
46
|
+
let painel;
|
|
47
|
+
try {
|
|
48
|
+
painel = await iniciarPainel({
|
|
49
|
+
raiz,
|
|
50
|
+
porta: r.opcoes.porta,
|
|
51
|
+
diasBloqueio: r.opcoes.diasBloqueio,
|
|
52
|
+
...(estaticos !== undefined ? { estaticos } : {}),
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
catch (e) {
|
|
56
|
+
if (e instanceof ErroDePorta) {
|
|
57
|
+
// Quase sempre é um painel que já está no ar: mandar abrir aquele
|
|
58
|
+
// resolve mais rápido do que mandar matar processo.
|
|
59
|
+
process.stderr.write([
|
|
60
|
+
`a porta ${String(e.porta)} ja esta em uso`,
|
|
61
|
+
"",
|
|
62
|
+
" se o painel ja estiver rodando, abra:",
|
|
63
|
+
` http://${HOST_PAINEL}:${String(e.porta)}`,
|
|
64
|
+
"",
|
|
65
|
+
" ou suba numa porta livre:",
|
|
66
|
+
` npx expxdev panel --porta ${String(e.porta + 1)}`,
|
|
67
|
+
"",
|
|
68
|
+
].join("\n"));
|
|
69
|
+
return 1;
|
|
70
|
+
}
|
|
71
|
+
throw e;
|
|
72
|
+
}
|
|
49
73
|
const e = painel.estado();
|
|
50
74
|
const url = painel.url();
|
|
51
75
|
process.stdout.write([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"principal.js","sourceRoot":"","sources":["../../src/cli/principal.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"principal.js","sourceRoot":"","sources":["../../src/cli/principal.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/selecao.js
CHANGED
|
@@ -17,6 +17,9 @@ export function avaliarSelecao(selecao) {
|
|
|
17
17
|
}
|
|
18
18
|
if (selecao.includes("mergex") && temBase)
|
|
19
19
|
integracoes.push("mergex");
|
|
20
|
+
// o prodx entrega o BRIEFING.md que a sprintx lê na F1 e a runx vira 00-OCORRENCIA.md
|
|
21
|
+
if (selecao.includes("prodx") && temBase)
|
|
22
|
+
integracoes.push("prodx");
|
|
20
23
|
return {
|
|
21
24
|
permitido: erros.length === 0,
|
|
22
25
|
precisaConfirmar: avisos.length > 0,
|
package/dist/cli/selecao.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selecao.js","sourceRoot":"","sources":["../../src/cli/selecao.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAsBnE,MAAM,KAAK,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAElC,MAAM,UAAU,cAAc,CAAC,OAA0B;IACvD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAElE,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACnC,MAAM,CAAC,IAAI,CACT,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,YAAY,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,WAAW,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,uCAAuC,CACnM,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO;QAAE,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"selecao.js","sourceRoot":"","sources":["../../src/cli/selecao.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAsBnE,MAAM,KAAK,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAElC,MAAM,UAAU,cAAc,CAAC,OAA0B;IACvD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAElE,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACnC,MAAM,CAAC,IAAI,CACT,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,YAAY,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,WAAW,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,uCAAuC,CACnM,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO;QAAE,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtE,sFAAsF;IACtF,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO;QAAE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEpE,OAAO;QACL,SAAS,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC;QAC7B,gBAAgB,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC;QACnC,MAAM;QACN,KAAK;QACL,WAAW;KACZ,CAAC;AACJ,CAAC"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* `panel` delega para o parser antigo, que continua sendo o dono das opções do
|
|
8
8
|
* painel.
|
|
9
9
|
*/
|
|
10
|
-
export declare const SUBCOMANDOS: readonly ["init", "panel", "add", "remove", "update", "doctor"];
|
|
10
|
+
export declare const SUBCOMANDOS: readonly ["init", "panel", "watch", "add", "remove", "update", "doctor"];
|
|
11
11
|
export type Subcomando = (typeof SUBCOMANDOS)[number];
|
|
12
12
|
export type Roteamento = {
|
|
13
13
|
ok: true;
|
package/dist/cli/subcomandos.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* `panel` delega para o parser antigo, que continua sendo o dono das opções do
|
|
8
8
|
* painel.
|
|
9
9
|
*/
|
|
10
|
-
export const SUBCOMANDOS = ["init", "panel", "add", "remove", "update", "doctor"];
|
|
10
|
+
export const SUBCOMANDOS = ["init", "panel", "watch", "add", "remove", "update", "doctor"];
|
|
11
11
|
const AJUDA = `
|
|
12
12
|
expx — CLI do metodo Expx
|
|
13
13
|
|
|
@@ -15,6 +15,7 @@ expx — CLI do metodo Expx
|
|
|
15
15
|
|
|
16
16
|
expx init instala as skills escolhidas neste projeto
|
|
17
17
|
expx panel sobe o painel de operacao lendo o docs/ do projeto
|
|
18
|
+
expx watch acompanha um trabalho no terminal, ao vivo
|
|
18
19
|
expx add <skill...> acrescenta skills a selecao
|
|
19
20
|
expx remove <skill...> remove skills da selecao
|
|
20
21
|
expx update [skill...] atualiza as skills instaladas
|
|
@@ -22,7 +23,7 @@ expx — CLI do metodo Expx
|
|
|
22
23
|
|
|
23
24
|
--ajuda mostra esta ajuda
|
|
24
25
|
|
|
25
|
-
O painel
|
|
26
|
+
O painel e o watch funcionam sem init: nenhum dos dois escreve no projeto.
|
|
26
27
|
`.trim();
|
|
27
28
|
export function ajudaGeral() {
|
|
28
29
|
return AJUDA;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subcomandos.js","sourceRoot":"","sources":["../../src/cli/subcomandos.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"subcomandos.js","sourceRoot":"","sources":["../../src/cli/subcomandos.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAC;AAQpG,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;CAgBb,CAAC,IAAI,EAAE,CAAC;AAET,MAAM,UAAU,UAAU;IACxB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CAAC,CAAS;IAC7B,OAAQ,WAAiC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAuB;IAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACnG,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACnC,CAAC;IACD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,4BAA4B,QAAQ,EAAE,EAAE,CAAC;IACrE,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACrF,CAAC"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* para o vazio. O experimento está em
|
|
8
8
|
* `docs/expx-cli/base/09-validacao-marketplace-local.md`.
|
|
9
9
|
*
|
|
10
|
-
* Hoje as
|
|
10
|
+
* Hoje as sete skills reais estão limpas; a verificação existe para pegar a
|
|
11
11
|
* regressão futura antes que ela chegue no usuário.
|
|
12
12
|
*/
|
|
13
13
|
export type Achado = {
|
package/dist/nucleo/catalogo.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* As
|
|
2
|
+
* As sete skills do ecossistema Expx.
|
|
3
3
|
*
|
|
4
4
|
* Fonte única do que o CLI sabe instalar. `papel` é o texto mostrado na seleção
|
|
5
5
|
* do `init`; `camada` marca as skills que, sozinhas, não fazem nada — elas
|
|
@@ -43,6 +43,12 @@ export const CATALOGO = [
|
|
|
43
43
|
papel: "memoria do projeto, indexa os artefatos ja fechados",
|
|
44
44
|
camada: true,
|
|
45
45
|
},
|
|
46
|
+
{
|
|
47
|
+
nome: "prodx",
|
|
48
|
+
repositorio: "https://github.com/bittencourtthulio/prodx",
|
|
49
|
+
papel: "camada de produto, decide se o pedido vira trabalho",
|
|
50
|
+
camada: true,
|
|
51
|
+
},
|
|
46
52
|
];
|
|
47
53
|
/** Os nomes na ordem em que a seleção do `init` os apresenta. */
|
|
48
54
|
export const NOMES = CATALOGO.map((s) => s.nome);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalogo.js","sourceRoot":"","sources":["../../src/nucleo/catalogo.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,MAAM,CAAC,MAAM,QAAQ,GAAqB;IACxC;QACE,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,8CAA8C;QAC3D,KAAK,EAAE,kCAAkC;QACzC,MAAM,EAAE,KAAK;KACd;IACD;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,2CAA2C;QACxD,KAAK,EAAE,wCAAwC;QAC/C,MAAM,EAAE,KAAK;KACd;IACD;QACE,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,8CAA8C;QAC3D,KAAK,EAAE,8BAA8B;QACrC,MAAM,EAAE,IAAI;KACb;IACD;QACE,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,6CAA6C;QAC1D,KAAK,EAAE,2CAA2C;QAClD,MAAM,EAAE,IAAI;KACb;IACD;QACE,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,6CAA6C;QAC1D,KAAK,EAAE,mDAAmD;QAC1D,MAAM,EAAE,KAAK;KACd;IACD;QACE,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,4CAA4C;QACzD,KAAK,EAAE,qDAAqD;QAC5D,MAAM,EAAE,IAAI;KACb;CACO,CAAC;AAEX,iEAAiE;AACjE,MAAM,CAAC,MAAM,KAAK,GAAsB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAEpE,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAC/C,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,OAAO,gBAAgB,CAAC,IAAI,CAAC,EAAE,MAAM,IAAI,KAAK,CAAC;AACjD,CAAC"}
|
|
1
|
+
{"version":3,"file":"catalogo.js","sourceRoot":"","sources":["../../src/nucleo/catalogo.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,MAAM,CAAC,MAAM,QAAQ,GAAqB;IACxC;QACE,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,8CAA8C;QAC3D,KAAK,EAAE,kCAAkC;QACzC,MAAM,EAAE,KAAK;KACd;IACD;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,2CAA2C;QACxD,KAAK,EAAE,wCAAwC;QAC/C,MAAM,EAAE,KAAK;KACd;IACD;QACE,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,8CAA8C;QAC3D,KAAK,EAAE,8BAA8B;QACrC,MAAM,EAAE,IAAI;KACb;IACD;QACE,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,6CAA6C;QAC1D,KAAK,EAAE,2CAA2C;QAClD,MAAM,EAAE,IAAI;KACb;IACD;QACE,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,6CAA6C;QAC1D,KAAK,EAAE,mDAAmD;QAC1D,MAAM,EAAE,KAAK;KACd;IACD;QACE,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,4CAA4C;QACzD,KAAK,EAAE,qDAAqD;QAC5D,MAAM,EAAE,IAAI;KACb;IACD;QACE,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,4CAA4C;QACzD,KAAK,EAAE,qDAAqD;QAC5D,MAAM,EAAE,IAAI;KACb;CACO,CAAC;AAEX,iEAAiE;AACjE,MAAM,CAAC,MAAM,KAAK,GAAsB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAEpE,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAC/C,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,OAAO,gBAAgB,CAAC,IAAI,CAAC,EAAE,MAAM,IAAI,KAAK,CAAC;AACjD,CAAC"}
|
package/dist/nucleo/layout.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Normaliza os layouts de repositório de skill.
|
|
3
3
|
*
|
|
4
|
-
* Os
|
|
4
|
+
* Os sete repositórios reais têm DOIS layouts distintos
|
|
5
5
|
* (`base/08-repositorios-reais.md`):
|
|
6
6
|
*
|
|
7
|
-
* embutido — `.claude/skills/<nome>/` + `.claude/commands/` (sprintx, stackx, mergex, memox)
|
|
7
|
+
* embutido — `.claude/skills/<nome>/` + `.claude/commands/` (sprintx, stackx, mergex, memox, prodx)
|
|
8
8
|
* plano — `skill/` + `commands/` (runx, legadox)
|
|
9
9
|
*
|
|
10
10
|
* Por isso a detecção NÃO assume caminho fixo: procura o `SKILL.md` e toma o
|
package/dist/nucleo/versao.d.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* explicitamente que a skill não está travada em versão publicada — nunca
|
|
7
7
|
* segue a branch em silêncio quando existe tag.
|
|
8
8
|
*
|
|
9
|
-
* Hoje NENHUMA das
|
|
9
|
+
* Hoje NENHUMA das sete skills tem tag (`base/08-repositorios-reais.md`), então
|
|
10
10
|
* o caminho de fallback é o corrente na prática, não a exceção.
|
|
11
11
|
*/
|
|
12
12
|
export type Alvo = {
|
|
@@ -17,8 +17,8 @@ import { z } from "zod";
|
|
|
17
17
|
* próprio nesse contrato.
|
|
18
18
|
*
|
|
19
19
|
* Não confundir com `ferramenta`, do rastro de eventos (`Ferramenta`, abaixo),
|
|
20
|
-
* que aceita as
|
|
21
|
-
*
|
|
20
|
+
* que aceita as sete. Tratar os dois como o mesmo enum rejeita o rastro de
|
|
21
|
+
* cinco skills.
|
|
22
22
|
*/
|
|
23
23
|
export declare const ExpxTool: z.ZodEnum<{
|
|
24
24
|
sprintx: "sprintx";
|
|
@@ -33,6 +33,7 @@ export declare const Ferramenta: z.ZodEnum<{
|
|
|
33
33
|
legadox: "legadox";
|
|
34
34
|
stackx: "stackx";
|
|
35
35
|
memox: "memox";
|
|
36
|
+
prodx: "prodx";
|
|
36
37
|
}>;
|
|
37
38
|
export type Ferramenta = z.infer<typeof Ferramenta>;
|
|
38
39
|
export declare const TipoTrabalho: z.ZodEnum<{
|
|
@@ -17,8 +17,8 @@ import { z } from "zod";
|
|
|
17
17
|
* próprio nesse contrato.
|
|
18
18
|
*
|
|
19
19
|
* Não confundir com `ferramenta`, do rastro de eventos (`Ferramenta`, abaixo),
|
|
20
|
-
* que aceita as
|
|
21
|
-
*
|
|
20
|
+
* que aceita as sete. Tratar os dois como o mesmo enum rejeita o rastro de
|
|
21
|
+
* cinco skills.
|
|
22
22
|
*/
|
|
23
23
|
export const ExpxTool = z.enum(["sprintx", "runx"]);
|
|
24
24
|
/** `ferramenta` — quem EMITIU um evento no rastro. Todas as skills emitem. */
|
|
@@ -29,6 +29,7 @@ export const Ferramenta = z.enum([
|
|
|
29
29
|
"legadox",
|
|
30
30
|
"stackx",
|
|
31
31
|
"memox",
|
|
32
|
+
"prodx",
|
|
32
33
|
]);
|
|
33
34
|
export const TipoTrabalho = z.enum(["feature", "ocorrencia"]);
|
|
34
35
|
export const TipoOcorrencia = z.enum([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../src/parser/esquema/enums.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../src/parser/esquema/enums.ts"],"names":[],"mappings":"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"}
|
package/dist/servidor/http.d.ts
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
import { type Server } from "node:http";
|
|
2
2
|
import { type EstadoPainel } from "./estado.js";
|
|
3
|
+
/**
|
|
4
|
+
* Porta ocupada, tipada — para o CLI reconhecer o caso e explicar a saída em
|
|
5
|
+
* vez de repassar um `EADDRINUSE` cru.
|
|
6
|
+
*
|
|
7
|
+
* Na prática quase sempre é um painel anterior ainda no ar, e a ação certa é
|
|
8
|
+
* abrir aquele, não matar processo.
|
|
9
|
+
*/
|
|
10
|
+
export declare class ErroDePorta extends Error {
|
|
11
|
+
readonly porta: number;
|
|
12
|
+
constructor(porta: number);
|
|
13
|
+
}
|
|
3
14
|
export type OpcoesServidor = {
|
|
4
15
|
raiz: string;
|
|
5
16
|
porta: number;
|
package/dist/servidor/http.js
CHANGED
|
@@ -12,6 +12,21 @@ import { paginaRelatorio } from "../relatorio/pagina.js";
|
|
|
12
12
|
* flag, variável de ambiente ou opção que mude o bind.
|
|
13
13
|
*/
|
|
14
14
|
const HOST = "127.0.0.1";
|
|
15
|
+
/**
|
|
16
|
+
* Porta ocupada, tipada — para o CLI reconhecer o caso e explicar a saída em
|
|
17
|
+
* vez de repassar um `EADDRINUSE` cru.
|
|
18
|
+
*
|
|
19
|
+
* Na prática quase sempre é um painel anterior ainda no ar, e a ação certa é
|
|
20
|
+
* abrir aquele, não matar processo.
|
|
21
|
+
*/
|
|
22
|
+
export class ErroDePorta extends Error {
|
|
23
|
+
porta;
|
|
24
|
+
constructor(porta) {
|
|
25
|
+
super(`a porta ${String(porta)} ja esta em uso`);
|
|
26
|
+
this.name = "ErroDePorta";
|
|
27
|
+
this.porta = porta;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
15
30
|
const TIPOS = {
|
|
16
31
|
".html": "text/html; charset=utf-8",
|
|
17
32
|
".js": "text/javascript; charset=utf-8",
|
|
@@ -82,7 +97,22 @@ export async function criarServidor(op) {
|
|
|
82
97
|
res.writeHead(404, { "content-type": "text/plain; charset=utf-8" });
|
|
83
98
|
res.end("nao encontrado");
|
|
84
99
|
});
|
|
85
|
-
|
|
100
|
+
// O `error` do servidor precisa ser tratado JUNTO do listen. Sem isto, uma
|
|
101
|
+
// porta ocupada vira exceção não capturada e o processo morre com stack
|
|
102
|
+
// trace de Node na cara de quem só queria subir o painel — o caso comum é
|
|
103
|
+
// um painel que já está rodando na mesma porta.
|
|
104
|
+
await new Promise((ok, falhar) => {
|
|
105
|
+
const aoErrar = (e) => {
|
|
106
|
+
falhar(e.code === "EADDRINUSE"
|
|
107
|
+
? new ErroDePorta(op.porta)
|
|
108
|
+
: e);
|
|
109
|
+
};
|
|
110
|
+
http.once("error", aoErrar);
|
|
111
|
+
http.listen(op.porta, HOST, () => {
|
|
112
|
+
http.removeListener("error", aoErrar);
|
|
113
|
+
ok();
|
|
114
|
+
});
|
|
115
|
+
});
|
|
86
116
|
const endereco = () => {
|
|
87
117
|
const e = http.address();
|
|
88
118
|
if (e === null || typeof e === "string")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/servidor/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA0D,MAAM,WAAW,CAAC;AACjG,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,EAAE,SAAS,EAAqB,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAuB,MAAM,wBAAwB,CAAC;AAE9E;;;;;;;GAOG;AACH,MAAM,IAAI,GAAG,WAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/servidor/http.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { cortar } from "./largura.js";
|
|
2
|
+
/**
|
|
3
|
+
* A árvore: sprints, fases e tasks, indentadas.
|
|
4
|
+
*
|
|
5
|
+
* Os dois vocabulários de status NÃO são intercambiáveis: task usa o feminino
|
|
6
|
+
* (`concluida`, `bloqueada`) e trabalho/sprint/fase usam o masculino
|
|
7
|
+
* (`concluido`, `bloqueado`). Uma função de marcador que aceitasse `string`
|
|
8
|
+
* casaria os dois por engano ou deixaria um sem cor — por isso são duas
|
|
9
|
+
* (base/schema-v1-e-kinds.md, risco 4).
|
|
10
|
+
*
|
|
11
|
+
* Marcadores são caractere simples, sem emoji, como manda a especificação.
|
|
12
|
+
*/
|
|
13
|
+
const MARCA_TASK = {
|
|
14
|
+
concluida: { marca: "[x]", papel: "sucesso" },
|
|
15
|
+
em_andamento: { marca: "[>]", papel: "atencao" },
|
|
16
|
+
bloqueada: { marca: "[!]", papel: "erro" },
|
|
17
|
+
pendente: { marca: "[ ]", papel: "apagado" },
|
|
18
|
+
};
|
|
19
|
+
const MARCA_GRUPO = {
|
|
20
|
+
concluido: { marca: "[x]", papel: "sucesso" },
|
|
21
|
+
em_andamento: { marca: "[>]", papel: "atencao" },
|
|
22
|
+
bloqueado: { marca: "[!]", papel: "erro" },
|
|
23
|
+
nao_iniciado: { marca: "[ ]", papel: "apagado" },
|
|
24
|
+
};
|
|
25
|
+
export function desenharArvore(v, colunas, pintar) {
|
|
26
|
+
if (v.trabalho === null)
|
|
27
|
+
return [];
|
|
28
|
+
const linhas = [];
|
|
29
|
+
// A task em andamento é o que a pessoa quer achar de relance na tela.
|
|
30
|
+
const emFoco = v.estado?.task ?? null;
|
|
31
|
+
for (const sprint of v.trabalho.sprints) {
|
|
32
|
+
const s = MARCA_GRUPO[sprint.status];
|
|
33
|
+
linhas.push(pintar(cortar(`${s.marca} ${sprint.sprint_id} · ${sprint.titulo}`, colunas), s.papel));
|
|
34
|
+
for (const fase of sprint.fases) {
|
|
35
|
+
const f = MARCA_GRUPO[fase.status];
|
|
36
|
+
// fase paralela mostra com quem roda junto — o plano declarou, a
|
|
37
|
+
// execução nunca decide isso sozinha
|
|
38
|
+
const par = fase.paralela_com.length > 0 ? ` || ${fase.paralela_com.join(",")}` : "";
|
|
39
|
+
linhas.push(pintar(cortar(` ${f.marca} ${fase.id} · ${fase.titulo}${par}`, colunas), f.papel));
|
|
40
|
+
for (const task of fase.tasks) {
|
|
41
|
+
const t = MARCA_TASK[task.status];
|
|
42
|
+
const dep = task.depende_de.length > 0 ? ` ← ${task.depende_de.join(",")}` : "";
|
|
43
|
+
const paralela = task.paralelizavel ? " ||" : "";
|
|
44
|
+
const foco = task.id === emFoco ? " <" : "";
|
|
45
|
+
const texto = ` ${t.marca} ${task.id} ${task.titulo}${paralela}${dep}${foco}`;
|
|
46
|
+
linhas.push(pintar(cortar(texto, colunas), task.id === emFoco ? "destaque" : t.papel));
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
// Tasks que o arquivo de fases não referencia continuam existindo: o
|
|
50
|
+
// vínculo autoritativo é o campo `fase` da task, e uma task apontando
|
|
51
|
+
// para fase inexistente sumiria da tela sem isto.
|
|
52
|
+
const nasFases = new Set(sprint.fases.flatMap((f) => f.tasks.map((t) => t.id)));
|
|
53
|
+
for (const task of sprint.tasks) {
|
|
54
|
+
if (nasFases.has(task.id))
|
|
55
|
+
continue;
|
|
56
|
+
const t = MARCA_TASK[task.status];
|
|
57
|
+
linhas.push(pintar(cortar(` ${t.marca} ${task.id} ${task.titulo} (fora de fase)`, colunas), t.papel));
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return linhas;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=arvore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arvore.js","sourceRoot":"","sources":["../../../src/watch/desenho/arvore.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Visao } from "../visao/projetar.js";
|
|
2
|
+
import type { Pintor } from "./cor.js";
|
|
3
|
+
/** "hoje", "1 dia", "N dias" — nunca "0 dias", que não é português. */
|
|
4
|
+
export declare function tempoAberto(aberto: string, agora: Date): string;
|
|
5
|
+
export declare function desenharBloqueios(v: Visao, colunas: number, pintar: Pintor, agora: Date): string[];
|