@promovaweb/specsfy 0.7.0 → 0.9.1

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/CHANGELOG.md CHANGED
@@ -4,6 +4,59 @@ Todas as mudanças relevantes do Specsfy CLI são registradas neste arquivo.
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [0.9.1] - 2026-08-22
8
+
9
+ - Corrige a navegação da TUI, o foco após fechar telas, o fechamento por
10
+ `Ctrl+Q` e a atualização de painéis durante a execução de testes.
11
+ - Preserva seleções de skills durante refresh e impede que operações
12
+ assíncronas devolvam a pessoa para uma aba antiga.
13
+ - Faz o updater comparar a versão publicada no npm, evita avisos repetidos e
14
+ atualiza executáveis avulsos com validação e substituição atômica.
15
+ - Completa a importação de MVP com defaults óbvios, pendências explícitas,
16
+ backlogs somente para desenvolvimento e specs derivadas desses backlogs.
17
+
18
+ ## [0.9.0] - 2026-08-21
19
+
20
+ - Adiciona especialistas essenciais ao setup e amplia o catálogo de
21
+ especialistas do Specsfy.
22
+ - Torna a descoberta de MVP contextual e preserva seu resultado em inboxes.
23
+ - Suporta projetos em subdiretórios do Hub e padroniza interfaces React com
24
+ ReUI.
25
+ - Publica aliases estáveis do ebook e amplia o contexto auxiliar do CLI.
26
+
27
+ ## [0.8.1] - 2026-08-13
28
+
29
+ - Inclui o pacote oficial `skills` como dependência do CLI e o localiza mesmo
30
+ quando um launcher inicia o Specsfy com um `PATH` reduzido.
31
+ - Alinha o requisito mínimo ao Node.js 22.20 exigido pelo materializador.
32
+ - Adiciona `specsfy setup` como alias de `specsfy install`, com o mesmo
33
+ diagnóstico de Node.js, Git, projeto e materializador de skills.
34
+ - Adiciona `specsfy doctor` e executa o mesmo diagnóstico antes do setup para
35
+ conferir Node.js, Git, npm, projeto e disponibilidade do `skills` ou `npx`.
36
+ - Adiciona `specsfy update` para atualizar todas as skills Specsfy instaladas e
37
+ preserva `specsfy skills update` como comando compatível.
38
+ - Adiciona `specsfy upgrade` para consultar uma versão estável mais recente e
39
+ atualizar o próprio CLI pelo pacote oficial do npm sem fazer downgrade.
40
+ - Documenta separadamente instalação, atualização das skills e atualização do
41
+ CLI nos guias, na referência de comandos, no ebook e no site.
42
+
43
+ ## [0.8.0] - 2026-08-12
44
+
45
+ - Adiciona os comandos `transition`, `migrate` e `effort` para manter pasta,
46
+ status e estimativa das specs pela mesma interface, com saída JSON e
47
+ integração opcional com o ClickUpfy.
48
+ - Adiciona `milestones sync` para projetar o progresso dos milestones em
49
+ `specs.md` e `specs/milestones/`, preservando o conteúdo escrito pelo
50
+ usuário.
51
+ - Passa a ler o ciclo de vida em `specs/<estado>/`, mantém compatibilidade com
52
+ o layout anterior e inclui Effort e perfil de execução no progresso.
53
+ - Amplia o bootstrap com as skills de entrevista e governança de milestones e
54
+ mantém a instalação protegida por fingerprints.
55
+ - Reorganiza a paleta escura da TUI com cores semânticas e contraste verificado
56
+ para texto, foco, seleção, bordas, campos, botões e barras de rolagem.
57
+ - Atualiza capturas, documentação de usuário e desenvolvimento, referência de
58
+ comandos, ebook e publicação dos guias no site da Promovaweb.
59
+
7
60
  ## [0.7.0] - 2026-07-30
8
61
 
9
62
  - Migra o CLI e a TUI de Python para Node.js 22, com instalação global por
package/README.md CHANGED
@@ -3,8 +3,12 @@
3
3
  <!-- markdownlint-disable MD033 -->
4
4
  <p align="center">
5
5
  <picture>
6
- <source srcset="../brand/logo/icon.svg" type="image/svg+xml">
7
- <img src="../brand/logo/icon.png" alt="Logo do Specsfy" width="128">
6
+ <source srcset="https://promovaweb.com/opensource/specsfy/icon.svg" type="image/svg+xml">
7
+ <img
8
+ src="https://promovaweb.com/opensource/specsfy/icon.png"
9
+ alt="Logo do Specsfy"
10
+ width="128"
11
+ >
8
12
  </picture>
9
13
  </p>
10
14
  <!-- markdownlint-enable MD033 -->
@@ -14,10 +18,8 @@ tecnologias e acompanhar em tempo real o progresso das specs de um projeto.
14
18
 
15
19
  ## Pré-requisitos
16
20
 
17
- - Node.js 22.12 ou superior, com o npm disponível.
18
- - `skills`, do projeto
19
- [`vercel-labs/skills`](https://github.com/vercel-labs/skills), ou `npx`
20
- disponível para executá-lo sob demanda.
21
+ - Node.js 22.20 ou superior, com o npm disponível.
22
+ - Git para obter o framework e acesso de escrita ao projeto consumidor.
21
23
  - acesso autenticado ao repositório privado: execute `gh auth login` no uso
22
24
  interativo ou defina `GH_TOKEN`/`GITHUB_TOKEN` na automação.
23
25
 
@@ -39,9 +41,15 @@ O npm instala o pacote publicado e disponibiliza o comando `specsfy`. Para
39
41
  atualizar a instalação global:
40
42
 
41
43
  ```bash
42
- npm update --global @promovaweb/specsfy
44
+ specsfy upgrade
43
45
  ```
44
46
 
47
+ A instalação pelo npm inclui o `skills`, do projeto
48
+ [`vercel-labs/skills`](https://github.com/vercel-labs/skills). O Specsfy também
49
+ aceita uma instalação global, `SPECSFY_SKILLS_CLI` ou `npx` como alternativas.
50
+ O executável avulso de `get.specsfy.dev` não carrega pacotes externos; nesse
51
+ caso, mantenha `skills` ou `npx` disponível no `PATH`.
52
+
45
53
  O catálogo e a verificação de versões usam a API do GitHub. O CLI procura,
46
54
  nesta ordem, `GH_TOKEN`, `GITHUB_TOKEN` e a sessão retornada por
47
55
  `gh auth token`. As credenciais não são gravadas pelo Specsfy.
@@ -49,13 +57,14 @@ nesta ordem, `GH_TOKEN`, `GITHUB_TOKEN` e a sessão retornada por
49
57
  Para instalar uma versão específica, informe a versão no próprio pacote:
50
58
 
51
59
  ```bash
52
- npm install --global @promovaweb/specsfy@0.6.0
60
+ npm install --global @promovaweb/specsfy@0.8.1
53
61
  ```
54
62
 
55
63
  ## Comandos
56
64
 
57
65
  ```bash
58
66
  specsfy
67
+ specsfy doctor --project .
59
68
  specsfy install --project .
60
69
  specsfy install --project . --detected
61
70
  specsfy install --project . \
@@ -63,12 +72,19 @@ specsfy install --project . \
63
72
  --specialist specsfy-specialist-postgres
64
73
  specsfy skills list
65
74
  specsfy skills detect --project .
66
- specsfy skills add specsfy-specialist-laravel --project .
75
+ npx skills add https://github.com/promovaweb/specsfy \
76
+ --skill specsfy-specialist-laravel --agent universal --copy --full-depth
67
77
  specsfy skills remove specsfy-specialist-laravel --project .
68
- specsfy skills update --project .
78
+ specsfy update --project .
79
+ specsfy upgrade
80
+ specsfy transition 0001-recuperar-senha defined --project .
81
+ specsfy migrate --project .
82
+ specsfy effort 0001-recuperar-senha 7 \
83
+ --reason "Inclui migração e integração externa." --project .
69
84
  specsfy progress --project .
70
85
  specsfy progress --project . --json
71
86
  specsfy progress --project . --watch
87
+ specsfy milestones sync --project .
72
88
  specsfy test --project .
73
89
  specsfy config show --project .
74
90
  specsfy config set --project . --watch-interval 0.5
@@ -79,7 +95,8 @@ exemplo, instalar `specsfy-specialist-react-ui-components` também instala
79
95
  `specsfy-specialist-ui-design`, tanto pelo comando quanto pela TUI:
80
96
 
81
97
  ```bash
82
- specsfy skills add specsfy-specialist-react-ui-components --project .
98
+ npx skills add https://github.com/promovaweb/specsfy \
99
+ --skill specsfy-specialist-react-ui-components --agent universal --copy --full-depth
83
100
  ```
84
101
 
85
102
  Sem subcomando, `specsfy` abre o dashboard TUI no diretório atual. A interface
@@ -97,18 +114,23 @@ possui seis abas:
97
114
  por um painel de detalhes e resumo das alterações pendentes.
98
115
  - **Sobre**: versão e finalidade do CLI.
99
116
 
117
+ A interface usa a paleta escura oficial do Specsfy. O turquesa identifica foco
118
+ e abas ativas, o violeta marca seleções e o petróleo diferencia superfícies e
119
+ ações primárias. Os estados continuam nomeados no próprio controle para que a
120
+ cor não seja o único sinal disponível.
121
+
100
122
  ## Capturas de tela
101
123
 
102
- ![Dashboard Home](../docs/user/assets/cli/cli-dash.png)
124
+ ![Dashboard Home](https://promovaweb.com/docs/specsfy/cli/cli-dash.png)
103
125
 
104
- ![Backlogs](../docs/user/assets/cli/cli-backlogs.png)
126
+ ![Backlogs](https://promovaweb.com/docs/specsfy/cli/cli-backlogs.png)
105
127
 
106
- ![Specs](../docs/user/assets/cli/cli-specs.png)
128
+ ![Specs](https://promovaweb.com/docs/specsfy/cli/cli-specs.png)
107
129
 
108
- ![Skills](../docs/user/assets/cli/cli-skills.png)
130
+ ![Skills](https://promovaweb.com/docs/specsfy/cli/cli-skills.png)
109
131
 
110
132
  Alterações em `specs/inbox/*.md`, `specs/backlog/*.md`,
111
- `specs/specs/*/spec.md` e no `skills-lock.json` são detectadas
133
+ `specs/<estado>/*/spec.md` e no `skills-lock.json` são detectadas
112
134
  automaticamente.
113
135
 
114
136
  Em projetos Laravel com Pest, `specsfy test --project .` detecta `artisan` e
@@ -118,8 +140,9 @@ mostra status, runner, comando, duração e resumo em uma subaba. A outra exibe
118
140
  cada teste e falha. Relatórios Pest estruturados são convertidos em linhas
119
141
  legíveis com arquivo, linha e mensagem.
120
142
 
121
- O bootstrap instala as nove skills base, incluindo `specsfy-01-inbox` e
122
- `specsfy-update-spec` para pedidos surgidos depois da definição,
143
+ O bootstrap instala as treze skills base, incluindo `specsfy-01-inbox` e
144
+ `specsfy-update-spec` para pedidos surgidos depois da definição, as skills de
145
+ conversa e as de milestones,
123
146
  `specsfy-setup`,
124
147
  `specsfy-documentator` e as três skills `specsfy-aux-*`, publica as regras em
125
148
  `.specsfy/Spec.md`, os templates `Inbox.md`, `Backlog.md`, `Spec.md`, `Tasks.md`,
@@ -165,36 +188,46 @@ descarte alterações locais.
165
188
 
166
189
  Na aba Skills, o botão `Atualizar ^R` baixa as origens atuais e atualiza de uma
167
190
  vez todas as skills Specsfy instaladas. O comando equivalente é
168
- `specsfy skills update --project .`. Customizações locais continuam protegidas e
169
- podem ser substituídas explicitamente com `--force` no comando.
191
+ `specsfy update --project .`. O nome anterior
192
+ `specsfy skills update --project .` permanece compatível. Customizações locais
193
+ continuam protegidas e só podem ser substituídas explicitamente com `--force`.
194
+
195
+ ## Atualização automática do CLI
170
196
 
171
- ## Atualização do CLI gerenciada pelo npm
197
+ `specsfy update` atualiza as skills do projeto. `specsfy upgrade` consulta a
198
+ versão estável publicada no registro npm e atualiza o próprio CLI. O segundo
199
+ comando só instala quando encontra uma versão superior à atual.
172
200
 
173
201
  Ao abrir `specsfy` ou `specsfy tui` em um terminal interativo, o CLI consulta
174
- as tags semânticas estáveis do monorepo. A consulta é limitada pelo cache
175
- global `~/.specsfy/cli.json`, cujo intervalo padrão é de 24 horas. Falha de rede
176
- ou do GitHub nunca impede a abertura do dashboard.
202
+ o registro npm. As tags semânticas do GitHub são consultadas apenas para
203
+ associar a versão publicada ao commit de origem. A consulta é limitada pelo
204
+ cache global `~/.specsfy/cli.json`, cujo intervalo padrão é de 24 horas. Falha
205
+ de rede, do npm ou do GitHub nunca impede a abertura do dashboard.
177
206
 
178
207
  Quando existe versão mais recente, o CLI mostra as versões atual e disponível e
179
208
  pergunta antes de atualizar. Uma resposta negativa abre a aplicação normalmente.
180
- Uma resposta positiva delega a atualização ao npm, que instala a versão mais
181
- recente de `@promovaweb/specsfy` no escopo global. O processo então fecha. Abra
209
+ Uma resposta positiva usa npm para uma instalação global e baixa o executável
210
+ oficial quando o processo atual é um binário avulso. O download é validado com
211
+ `--version` e substituído atomicamente. O processo então fecha. Abra o
182
212
  `specsfy` novamente para iniciar a versão instalada.
183
213
 
184
214
  O arquivo global usa permissão `0600`, preserva chaves desconhecidas e separa:
185
215
 
186
216
  - `settings.check_updates_on_startup`.
187
217
  - `settings.check_interval_seconds`.
188
- - `cache.last_checked_at`, tag, versão, commit, ETag e eventual erro recente.
218
+ - `cache.last_checked_at`, versão publicada, tag, commit, ETags e eventual erro
219
+ recente.
189
220
 
190
221
  Para publicar uma versão atualizável a partir do workspace de desenvolvimento,
191
- use a skill local `$specsfy-release-cli`. Ela promove as notas confirmadas para
192
- o [`CHANGELOG.md`](CHANGELOG.md), atualiza as versões do pacote e o lock,
222
+ use a skill local `$specsfy-release-cli`, em
223
+ [`cli/.agents/skills/specsfy-release-cli/`](.agents/skills/specsfy-release-cli/).
224
+ Ela promove as notas confirmadas para o [`CHANGELOG.md`](CHANGELOG.md), atualiza
225
+ as versões do pacote e o lock,
193
226
  reconstrói os artefatos versionados, cria a tag anotada `v<versão>` no mesmo
194
227
  commit e usa exatamente a seção promovida como corpo do GitHub Release. O CI
195
228
  valida o build e a correspondência da tag.
196
229
 
197
- Novas specs usam `specs/specs/<NNNN>-<slug>/spec.md`. Capturas imediatas ficam
230
+ Novas specs usam `specs/draft/<NNNN>-<slug>/spec.md`. Capturas imediatas ficam
198
231
  em `specs/inbox/<data-hora>-<slug>.md` e itens refináveis em
199
232
  `specs/backlog/<NNNN>-<slug>.md`. O dashboard mantém leitura do layout
200
233
  legado. A skill de especificação renderiza cada arquivo novo a partir do
@@ -216,7 +249,7 @@ falha quando o artefato não corresponde ao estado atual.
216
249
  O pacote publicado no npm usa `@promovaweb/specsfy`. A tag estável dispara o
217
250
  job de publicação depois que tipos, testes, build, instalação local e
218
251
  executável versionado passam no CI. O job inclui proveniência quando o
219
- repositório estiver público; enquanto ele permanecer privado, publica com o
252
+ repositório estiver público. Enquanto ele permanecer privado, publica com o
220
253
  token do registro e sem essa atestação.
221
254
 
222
255
  ## Atalhos da TUI
@@ -245,4 +278,7 @@ com um clique e atualiza o dashboard depois da confirmação. `Esc` retorna, e o
245
278
  mouse opera abas, linhas e botões. Nada é instalado ou removido antes de
246
279
  `Aplicar`.
247
280
 
248
- A documentação completa está em [`docs/`](../docs/).
281
+ A documentação completa está no
282
+ [portal público do Specsfy](https://promovaweb.com/docs/specsfy/). A
283
+ [referência dos comandos](https://promovaweb.com/docs/specsfy/referencia-cli/)
284
+ detalha parâmetros, saídas, efeitos persistentes e exemplos de automação.
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAA0B,MAAM,WAAW,CAAC;AAoB5D,sDAAsD;AACtD,wBAAgB,YAAY,IAAI,OAAO,CAkKtC;AAED,0EAA0E;AAC1E,wBAAsB,MAAM,CAAC,IAAI,WAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAoBjE"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAA0B,MAAM,WAAW,CAAC;AAqC5D,sDAAsD;AACtD,wBAAgB,YAAY,IAAI,OAAO,CA0StC;AAED,0EAA0E;AAC1E,wBAAsB,MAAM,CAAC,IAAI,WAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAoBjE"}
package/dist/cli.js CHANGED
@@ -8,11 +8,15 @@ import { Command, CommanderError, Option } from "commander";
8
8
  import { createInterface } from "node:readline/promises";
9
9
  import { stdin, stdout } from "node:process";
10
10
  import { Catalog } from "./catalog.js";
11
+ import { clickUpfyHandoff } from "./clickupfy.js";
11
12
  import { loadConfig, updateConfig } from "./config.js";
12
13
  import { SkillInstaller } from "./installer.js";
14
+ import { migrateSpecs, SPEC_FOLDERS, transitionSpec, updateSpecEffort, } from "./lifecycle.js";
15
+ import { syncMilestones } from "./milestones.js";
13
16
  import { scanSpecs, serializeSpec, specsFingerprint, summarizeSpecs, } from "./progress.js";
14
17
  import { runProjectTests } from "./project-testing.js";
15
- import { offerStartupUpdate } from "./updater.js";
18
+ import { assertPrerequisites, checkPrerequisites, } from "./prerequisites.js";
19
+ import { checkForUpdate, offerStartupUpdate, upgradeCurrentInstallation, } from "./updater.js";
16
20
  import { VERSION } from "./version.js";
17
21
  /** Constrói o parser público sem executar efeitos. */
18
22
  export function buildProgram() {
@@ -34,6 +38,8 @@ export function buildProgram() {
34
38
  .option("--specialist <nome>", "especialista explícito; pode ser repetido", collect, [])
35
39
  .option("--json", "emite resultado JSON")
36
40
  .action(async (options) => {
41
+ const checks = await checkPrerequisites(options.project);
42
+ assertPrerequisites(checks, ["node", "git", "skills", "project"]);
37
43
  const installer = await SkillInstaller.create(options.project, options.force);
38
44
  const changed = await installer.installBase();
39
45
  let specialistNames = [...options.specialist];
@@ -49,6 +55,43 @@ export function buildProgram() {
49
55
  }
50
56
  printInstallation(changed, Boolean(options.json));
51
57
  });
58
+ program
59
+ .command("doctor")
60
+ .description("verifica os pré-requisitos do Specsfy")
61
+ .addOption(projectOption())
62
+ .option("--json", "emite resultado JSON")
63
+ .action(async (options) => {
64
+ const checks = await checkPrerequisites(options.project);
65
+ printPrerequisites(checks, Boolean(options.json));
66
+ if (checks.some(({ ok }) => !ok))
67
+ process.exitCode = 1;
68
+ });
69
+ program
70
+ .command("update")
71
+ .description("atualiza todas as skills Specsfy instaladas")
72
+ .addOption(projectOption())
73
+ .option("--force", "substitui arquivos gerenciados alterados")
74
+ .option("--json", "emite resultado JSON")
75
+ .action((options) => updateSkills(options));
76
+ program
77
+ .command("upgrade")
78
+ .description("atualiza o próprio Specsfy CLI")
79
+ .option("--json", "emite resultado JSON")
80
+ .action(async (options) => {
81
+ const checks = await checkPrerequisites(process.cwd());
82
+ assertPrerequisites(checks, ["node", "npm"]);
83
+ const update = await checkForUpdate(VERSION, { force: true });
84
+ if (!update) {
85
+ printUpgrade({ upgraded: false, current_version: VERSION }, Boolean(options.json));
86
+ return;
87
+ }
88
+ await upgradeCurrentInstallation(update.latest_version);
89
+ printUpgrade({
90
+ upgraded: true,
91
+ current_version: VERSION,
92
+ latest_version: update.latest_version,
93
+ }, Boolean(options.json));
94
+ });
52
95
  const skills = program.command("skills").description("gerencia especialistas");
53
96
  skills
54
97
  .command("list")
@@ -67,7 +110,7 @@ export function buildProgram() {
67
110
  printCatalog(await catalog.detect(options.project), Boolean(options.json));
68
111
  });
69
112
  skills
70
- .command("add")
113
+ .command("install")
71
114
  .description("instala especialistas")
72
115
  .argument("<names...>", "nomes das skills")
73
116
  .addOption(projectOption())
@@ -93,9 +136,59 @@ export function buildProgram() {
93
136
  .description("atualiza todas as skills Specsfy instaladas")
94
137
  .addOption(projectOption())
95
138
  .option("--force", "substitui arquivos gerenciados alterados")
139
+ .option("--json", "emite resultado JSON")
140
+ .action((options) => updateSkills(options));
141
+ program
142
+ .command("transition")
143
+ .description("move uma spec para o próximo estado")
144
+ .argument("<identificador>", "ID e slug da spec")
145
+ .argument("<status>", "pasta de destino")
146
+ .addOption(projectOption())
147
+ .option("--json", "emite resultado JSON")
148
+ .action(async (identifier, status, options) => {
149
+ if (!SPEC_FOLDERS.includes(status)) {
150
+ throw new Error(`status de pasta inválido: ${status}`);
151
+ }
152
+ const result = await transitionSpec(options.project, identifier, status);
153
+ await syncMilestones(options.project);
154
+ printTransition(result, await clickUpfyHandoff(options.project, result.path, "transition"), Boolean(options.json));
155
+ });
156
+ program
157
+ .command("migrate")
158
+ .description("migra specs do layout anterior para pastas de estado")
159
+ .addOption(projectOption())
160
+ .option("--json", "emite resultado JSON")
96
161
  .action(async (options) => {
97
- const installer = await SkillInstaller.create(options.project, options.force);
98
- printInstallation(await installer.updateAll(), false);
162
+ const migrated = await migrateSpecs(options.project);
163
+ if (migrated.length)
164
+ await syncMilestones(options.project);
165
+ if (options.json)
166
+ console.log(JSON.stringify({ migrated }));
167
+ else if (migrated.length) {
168
+ for (const item of migrated) {
169
+ printTransition(item, await clickUpfyHandoff(options.project, item.path, "transition"), false);
170
+ }
171
+ }
172
+ else
173
+ console.log("nenhuma spec legada para migrar");
174
+ });
175
+ program
176
+ .command("effort")
177
+ .description("atualiza o esforço estimado de uma spec")
178
+ .argument("<identificador>", "ID e slug da spec")
179
+ .argument("<pontuacao>", "inteiro de 1 a 10", Number)
180
+ .requiredOption("--reason <texto>", "justificativa da estimativa")
181
+ .addOption(projectOption())
182
+ .option("--json", "emite resultado JSON")
183
+ .action(async (identifier, score, options) => {
184
+ const result = await updateSpecEffort(options.project, identifier, score, options.reason);
185
+ const handoff = await clickUpfyHandoff(options.project, result.path, "effort");
186
+ if (options.json)
187
+ console.log(JSON.stringify({ ...result, clickupfy: handoff }));
188
+ else {
189
+ console.log(`${result.identifier}\tEffort ${result.effort}/10`);
190
+ printClickUpfyHandoff(handoff);
191
+ }
99
192
  });
100
193
  program
101
194
  .command("progress")
@@ -105,6 +198,26 @@ export function buildProgram() {
105
198
  .option("--watch", "emite novo resumo quando uma spec muda")
106
199
  .option("--interval <segundos>", "intervalo do watch em segundos", Number)
107
200
  .action(async (options) => runProgress(options));
201
+ const milestones = program
202
+ .command("milestones")
203
+ .description("mantém os marcos derivados de specs e backlog");
204
+ milestones
205
+ .command("sync")
206
+ .description("atualiza specs.md e o progresso dos milestones")
207
+ .addOption(projectOption())
208
+ .option("--json", "emite resultado JSON")
209
+ .action(async (options) => {
210
+ const result = await syncMilestones(options.project);
211
+ if (options.json)
212
+ console.log(JSON.stringify(result));
213
+ else {
214
+ console.log(`Índice\t${result.index_path}`);
215
+ for (const milestone of result.milestones) {
216
+ console.log(`${milestone.id}\t${milestone.completed_specs}/${milestone.total_specs} specs\t` +
217
+ `${milestone.backlog_items} backlog\t${milestone.percent}%`);
218
+ }
219
+ }
220
+ });
108
221
  program
109
222
  .command("test")
110
223
  .description("executa os testes do projeto")
@@ -255,4 +368,42 @@ function printInstallation(paths, json) {
255
368
  console.log("skills já estão atualizadas");
256
369
  }
257
370
  }
371
+ async function updateSkills(options) {
372
+ const checks = await checkPrerequisites(options.project);
373
+ assertPrerequisites(checks, ["node", "git", "skills", "project"]);
374
+ const installer = await SkillInstaller.create(options.project, options.force);
375
+ printInstallation(await installer.updateAll(), Boolean(options.json));
376
+ }
377
+ function printPrerequisites(checks, json) {
378
+ if (json) {
379
+ console.log(JSON.stringify({ ok: checks.every(({ ok }) => ok), checks }));
380
+ return;
381
+ }
382
+ for (const check of checks) {
383
+ console.log(`${check.ok ? "OK" : "FALHA"}\t${check.name}\t${check.detail}`);
384
+ }
385
+ }
386
+ function printUpgrade(result, json) {
387
+ if (json)
388
+ console.log(JSON.stringify(result));
389
+ else if (result.upgraded) {
390
+ console.log(`Specsfy CLI atualizado: ${result.current_version} → ${result.latest_version}.`);
391
+ }
392
+ else {
393
+ console.log(`Specsfy CLI já está atualizado em ${result.current_version}.`);
394
+ }
395
+ }
396
+ function printTransition(transition, handoff, json) {
397
+ if (json)
398
+ console.log(JSON.stringify({ ...transition, clickupfy: handoff }));
399
+ else {
400
+ console.log(`${transition.identifier}\t${transition.from} → ${transition.to}\t${transition.status}`);
401
+ printClickUpfyHandoff(handoff);
402
+ }
403
+ }
404
+ function printClickUpfyHandoff(handoff) {
405
+ if (handoff.available && handoff.task_id) {
406
+ console.log(`ClickUpfy\tencaminhar ${handoff.action} para a tarefa ${handoff.task_id}`);
407
+ }
408
+ }
258
409
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EACL,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,cAAc,GACf,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EACL,mBAAmB,EACnB,kBAAkB,GAEnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAMvC,sDAAsD;AACtD,MAAM,UAAU,YAAY;IAC1B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,OAAO;SACJ,IAAI,CAAC,SAAS,CAAC;SACf,WAAW,CAAC,2DAA2D,CAAC;SACxE,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC;SAC7B,kBAAkB,EAAE;SACpB,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,gCAAgC,CAAC;SAC7C,SAAS,CAAC,aAAa,EAAE,CAAC;SAC1B,MAAM,CAAC,SAAS,EAAE,0CAA0C,CAAC;SAC7D,MAAM,CAAC,YAAY,EAAE,4CAA4C,CAAC;SAClE,MAAM,CAAC,qBAAqB,EAAE,2CAA2C,EAAE,OAAO,EAAE,EAAE,CAAC;SACvF,MAAM,CAAC,QAAQ,EAAE,sBAAsB,CAAC;SACxC,MAAM,CACL,KAAK,EAAE,OAKN,EAAE,EAAE;QACH,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACzD,mBAAmB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;QAClE,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9E,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,WAAW,EAAE,CAAC;QAC9C,IAAI,eAAe,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,OAA4B,CAAC;QACjC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,OAAO,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YAChC,eAAe,CAAC,IAAI,CAClB,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CACtE,CAAC;QACJ,CAAC;QACD,IAAI,eAAe,CAAC,MAAM,EAAE,CAAC;YAC3B,OAAO,KAAK,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YAClC,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9E,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,SAAS,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACzE,CAAC;QACD,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACpD,CAAC,CACF,CAAC;IAEJ,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,uCAAuC,CAAC;SACpD,SAAS,CAAC,aAAa,EAAE,CAAC;SAC1B,MAAM,CAAC,QAAQ,EAAE,sBAAsB,CAAC;SACxC,MAAM,CAAC,KAAK,EAAE,OAA4C,EAAE,EAAE;QAC7D,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACzD,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAClD,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;YAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,6CAA6C,CAAC;SAC1D,SAAS,CAAC,aAAa,EAAE,CAAC;SAC1B,MAAM,CAAC,SAAS,EAAE,0CAA0C,CAAC;SAC7D,MAAM,CAAC,QAAQ,EAAE,sBAAsB,CAAC;SACxC,MAAM,CAAC,CAAC,OAA6D,EAAE,EAAE,CACxE,YAAY,CAAC,OAAO,CAAC,CACtB,CAAC;IAEJ,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,gCAAgC,CAAC;SAC7C,MAAM,CAAC,QAAQ,EAAE,sBAAsB,CAAC;SACxC,MAAM,CAAC,KAAK,EAAE,OAA2B,EAAE,EAAE;QAC5C,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACvD,mBAAmB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,YAAY,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YACnF,OAAO;QACT,CAAC;QACD,MAAM,0BAA0B,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACxD,YAAY,CACV;YACE,QAAQ,EAAE,IAAI;YACd,eAAe,EAAE,OAAO;YACxB,cAAc,EAAE,MAAM,CAAC,cAAc;SACtC,EACD,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CACtB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;IAC/E,MAAM;SACH,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,kBAAkB,CAAC;SAC/B,MAAM,CAAC,QAAQ,EAAE,sBAAsB,CAAC;SACxC,MAAM,CAAC,KAAK,EAAE,OAA2B,EAAE,EAAE;QAC5C,YAAY,CAAC,CAAC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IACL,MAAM;SACH,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,+BAA+B,CAAC;SAC5C,SAAS,CAAC,aAAa,EAAE,CAAC;SAC1B,MAAM,CAAC,QAAQ,EAAE,sBAAsB,CAAC;SACxC,MAAM,CAAC,KAAK,EAAE,OAA4C,EAAE,EAAE;QAC7D,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACtC,YAAY,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IACL,MAAM;SACH,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,uBAAuB,CAAC;SACpC,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC;SAC1C,SAAS,CAAC,aAAa,EAAE,CAAC;SAC1B,MAAM,CAAC,SAAS,EAAE,0CAA0C,CAAC;SAC7D,MAAM,CACL,KAAK,EACH,KAAe,EACf,OAA6C,EAC7C,EAAE;QACF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9E,UAAU,CAAC,MAAM,SAAS,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3D,CAAC,CACF,CAAC;IACJ,MAAM;SACH,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,0BAA0B,CAAC;SACvC,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC;SAC1C,SAAS,CAAC,aAAa,EAAE,CAAC;SAC1B,MAAM,CAAC,SAAS,EAAE,uCAAuC,CAAC;SAC1D,MAAM,CACL,KAAK,EACH,KAAe,EACf,OAA6C,EAC7C,EAAE;QACF,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9E,UAAU,CAAC,MAAM,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5C,CAAC,CACF,CAAC;IACJ,MAAM;SACH,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,6CAA6C,CAAC;SAC1D,SAAS,CAAC,aAAa,EAAE,CAAC;SAC1B,MAAM,CAAC,SAAS,EAAE,0CAA0C,CAAC;SAC7D,MAAM,CAAC,QAAQ,EAAE,sBAAsB,CAAC;SACxC,MAAM,CAAC,CAAC,OAA6D,EAAE,EAAE,CACxE,YAAY,CAAC,OAAO,CAAC,CACtB,CAAC;IAEJ,OAAO;SACJ,OAAO,CAAC,YAAY,CAAC;SACrB,WAAW,CAAC,qCAAqC,CAAC;SAClD,QAAQ,CAAC,iBAAiB,EAAE,mBAAmB,CAAC;SAChD,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;SACxC,SAAS,CAAC,aAAa,EAAE,CAAC;SAC1B,MAAM,CAAC,QAAQ,EAAE,sBAAsB,CAAC;SACxC,MAAM,CAAC,KAAK,EACX,UAAkB,EAClB,MAAc,EACd,OAA4C,EAC5C,EAAE;QACF,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAuC,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,KAAK,CAAC,6BAA6B,MAAM,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,cAAc,CACjC,OAAO,CAAC,OAAO,EACf,UAAU,EACV,MAAuC,CACxC,CAAC;QACF,MAAM,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACtC,eAAe,CAAC,MAAM,EAAE,MAAM,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACrH,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,sDAAsD,CAAC;SACnE,SAAS,CAAC,aAAa,EAAE,CAAC;SAC1B,MAAM,CAAC,QAAQ,EAAE,sBAAsB,CAAC;SACxC,MAAM,CAAC,KAAK,EAAE,OAA4C,EAAE,EAAE;QAC7D,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,QAAQ,CAAC,MAAM;YAAE,MAAM,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC3D,IAAI,OAAO,CAAC,IAAI;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;aACvD,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACzB,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;gBAC5B,eAAe,CAAC,IAAI,EAAE,MAAM,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,KAAK,CAAC,CAAC;YACjG,CAAC;QACH,CAAC;;YACI,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,yCAAyC,CAAC;SACtD,QAAQ,CAAC,iBAAiB,EAAE,mBAAmB,CAAC;SAChD,QAAQ,CAAC,aAAa,EAAE,mBAAmB,EAAE,MAAM,CAAC;SACpD,cAAc,CAAC,kBAAkB,EAAE,6BAA6B,CAAC;SACjE,SAAS,CAAC,aAAa,EAAE,CAAC;SAC1B,MAAM,CAAC,QAAQ,EAAE,sBAAsB,CAAC;SACxC,MAAM,CAAC,KAAK,EACX,UAAkB,EAClB,KAAa,EACb,OAA4D,EAC5D,EAAE;QACF,MAAM,MAAM,GAAG,MAAM,gBAAgB,CACnC,OAAO,CAAC,OAAO,EACf,UAAU,EACV,KAAK,EACL,OAAO,CAAC,MAAM,CACf,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC/E,IAAI,OAAO,CAAC,IAAI;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;aAC5E,CAAC;YACJ,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,UAAU,YAAY,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;YAChE,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,2BAA2B,CAAC;SACxC,SAAS,CAAC,aAAa,EAAE,CAAC;SAC1B,MAAM,CAAC,QAAQ,EAAE,sBAAsB,CAAC;SACxC,MAAM,CAAC,SAAS,EAAE,wCAAwC,CAAC;SAC3D,MAAM,CAAC,uBAAuB,EAAE,gCAAgC,EAAE,MAAM,CAAC;SACzE,MAAM,CACL,KAAK,EAAE,OAIN,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAC3B,CAAC;IAEJ,MAAM,UAAU,GAAG,OAAO;SACvB,OAAO,CAAC,YAAY,CAAC;SACrB,WAAW,CAAC,+CAA+C,CAAC,CAAC;IAChE,UAAU;SACP,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,gDAAgD,CAAC;SAC7D,SAAS,CAAC,aAAa,EAAE,CAAC;SAC1B,MAAM,CAAC,QAAQ,EAAE,sBAAsB,CAAC;SACxC,MAAM,CAAC,KAAK,EAAE,OAA4C,EAAE,EAAE;QAC7D,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,OAAO,CAAC,IAAI;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;aACjD,CAAC;YACJ,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;YAC5C,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBAC1C,OAAO,CAAC,GAAG,CACT,GAAG,SAAS,CAAC,EAAE,KAAK,SAAS,CAAC,eAAe,IAAI,SAAS,CAAC,WAAW,UAAU;oBAC9E,GAAG,SAAS,CAAC,aAAa,aAAa,SAAS,CAAC,OAAO,GAAG,CAC9D,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,8BAA8B,CAAC;SAC3C,SAAS,CAAC,aAAa,EAAE,CAAC;SAC1B,MAAM,CAAC,KAAK,EAAE,OAAuB,EAAE,EAAE;QACxC,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACtD,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;IACtC,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,2BAA2B,CAAC;SACxC,SAAS,CAAC,aAAa,EAAE,CAAC;SAC1B,MAAM,CAAC,KAAK,EAAE,OAAuB,EAAE,EAAE;QACxC,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEL,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,gCAAgC,CAAC,CAAC;IACvF,MAAM;SACH,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,8BAA8B,CAAC;SAC3C,SAAS,CAAC,aAAa,EAAE,CAAC;SAC1B,MAAM,CAAC,QAAQ,EAAE,sBAAsB,CAAC;SACxC,MAAM,CAAC,KAAK,EAAE,OAA4C,EAAE,EAAE;QAC7D,WAAW,CAAC,MAAM,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IACL,MAAM;SACH,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,uBAAuB,CAAC;SACpC,SAAS,CAAC,aAAa,EAAE,CAAC;SAC1B,cAAc,CAAC,6BAA6B,EAAE,0BAA0B,EAAE,MAAM,CAAC;SACjF,MAAM,CAAC,QAAQ,EAAE,sBAAsB,CAAC;SACxC,MAAM,CACL,KAAK,EACH,OAAmE,EACnE,EAAE;QACF,WAAW,CACT,MAAM,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,EAC1D,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CACtB,CAAC;IACJ,CAAC,CACF,CAAC;IACJ,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,0EAA0E;AAC1E,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI;IAC9C,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC;IAC/B,OAAO,CAAC,YAAY,EAAE,CAAC;IACvB,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,cAAc,EAAE,CAAC;YACpC,IACE,KAAK,CAAC,IAAI,KAAK,yBAAyB;gBACxC,KAAK,CAAC,IAAI,KAAK,mBAAmB,EAClC,CAAC;gBACD,OAAO,CAAC,CAAC;YACX,CAAC;YACD,OAAO,KAAK,CAAC,QAAQ,CAAC;QACxB,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO,CAAC,KAAK,CAAC,SAAS,OAAO,EAAE,CAAC,CAAC;QAClC,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED,SAAS,aAAa;IACpB,OAAO,IAAI,MAAM,CAAC,qBAAqB,EAAE,4BAA4B,CAAC,CAAC,OAAO,CAC5E,OAAO,CAAC,GAAG,EAAE,CACd,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,KAAa,EAAE,QAAkB;IAChD,OAAO,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,OAAe;IACpC,MAAM,MAAM,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACjE,MAAM,UAAU,GAAG,MAAM,kBAAkB,CACzC,OAAO,EACP,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CACpC,CAAC;IACF,MAAM,CAAC,KAAK,EAAE,CAAC;IACf,IAAI,UAAU;QAAE,OAAO;IACvB,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;IAChD,MAAM,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;AACtC,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,OAI1B;IACC,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,UAAU,CAAC,cAAc,CAAC;IAC/D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5D,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC/C,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YAC5C,QAAQ,GAAG,WAAW,CAAC;YACvB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACnB,IAAI,CAAC,KAAK,CAAC,MAAM;oBAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACxC,OAAO;YACT,CAAC;QACH,CAAC;QACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC;IACvE,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CACpB,KAA4C,EAC5C,IAAa;IAEb,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CAAC;YACb,OAAO;YACP,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC;SAChC,CAAC,CACH,CAAC;QACF,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CACT,WAAW,OAAO,CAAC,WAAW,UAAU;QACtC,GAAG,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,WAAW,YAAY;QAC7D,GAAG,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,WAAW,UAAU;QAC3D,GAAG,OAAO,CAAC,OAAO,GAAG,CACxB,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CACT,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,IAAI;YAC9B,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,WAAW,YAAY;YACvD,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,WAAW,WAAW,IAAI,CAAC,OAAO,GAAG,CACxE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CACnB,OAA2B,EAC3B,IAAa;IAEb,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CACZ,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;YAChE,IAAI;YACJ,WAAW;YACX,QAAQ;YACR,IAAI;YACJ,QAAQ;SACT,CAAC,CAAC,CACJ,CACF,CAAC;QACF,OAAO;IACT,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAClB,MAA8C,EAC9C,IAAa;IAEb,IAAI,IAAI;QAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;SACzC,CAAC;QACJ,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,mBAAmB,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,KAAe;IACjC,KAAK,MAAM,IAAI,IAAI,KAAK;QAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAe,EAAE,IAAa;IACvD,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAChE,CAAC;SAAM,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACxB,UAAU,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,OAA6D;IAE7D,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACzD,mBAAmB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9E,iBAAiB,CAAC,MAAM,SAAS,CAAC,SAAS,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,kBAAkB,CAAC,MAA2B,EAAE,IAAa;IACpE,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAC1E,OAAO;IACT,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CACnB,MAA+E,EAC/E,IAAa;IAEb,IAAI,IAAI;QAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;SACzC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CACT,2BAA2B,MAAM,CAAC,eAAe,MAAM,MAAM,CAAC,cAAc,GAAG,CAChF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,qCAAqC,MAAM,CAAC,eAAe,GAAG,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CACtB,UAAsD,EACtD,OAAqD,EACrD,IAAa;IAEb,IAAI,IAAI;QAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;SACxE,CAAC;QACJ,OAAO,CAAC,GAAG,CACT,GAAG,UAAU,CAAC,UAAU,KAAK,UAAU,CAAC,IAAI,MAAM,UAAU,CAAC,EAAE,KAAK,UAAU,CAAC,MAAM,EAAE,CACxF,CAAC;QACF,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAqD;IAClF,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,yBAAyB,OAAO,CAAC,MAAM,kBAAkB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1F,CAAC;AACH,CAAC"}
@@ -0,0 +1,16 @@
1
+ export interface ClickUpfyHandoff {
2
+ available: boolean;
3
+ task_id?: string;
4
+ action?: "transition" | "effort";
5
+ }
6
+ /** Detecta a skill instalada e lê o vínculo de tarefa do metadado da spec. */
7
+ export declare function clickUpfyHandoff(project: string, specPath: string, action: "transition" | "effort"): Promise<ClickUpfyHandoff>;
8
+ /**
9
+ * Verifica as instalações atual e legada do ClickUpfy.
10
+ *
11
+ * A versão atual usa `clickup-issue-implement` em `.codex/skills`, com
12
+ * instalação local ou global. A pasta `.agents/skills` permanece como
13
+ * compatibilidade para projetos que ainda usam a integração anterior.
14
+ */
15
+ export declare function hasClickUpfySkill(project: string, userHome?: string): Promise<boolean>;
16
+ //# sourceMappingURL=clickupfy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clickupfy.d.ts","sourceRoot":"","sources":["../src/clickupfy.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,YAAY,GAAG,QAAQ,CAAC;CAClC;AAED,8EAA8E;AAC9E,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,GAAG,QAAQ,GAC9B,OAAO,CAAC,gBAAgB,CAAC,CAK3B;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,QAAQ,SAAY,GACnB,OAAO,CAAC,OAAO,CAAC,CAiBlB"}
@@ -0,0 +1,36 @@
1
+ /** Integração opcional com ClickUpfy, sem substituir a spec local. */
2
+ import { access, readFile } from "node:fs/promises";
3
+ import { homedir } from "node:os";
4
+ import { join } from "node:path";
5
+ /** Detecta a skill instalada e lê o vínculo de tarefa do metadado da spec. */
6
+ export async function clickUpfyHandoff(project, specPath, action) {
7
+ const available = await hasClickUpfySkill(project);
8
+ const content = await readFile(specPath, "utf8");
9
+ const task = content.match(/^\|\s*ClickUp Task\s*\|\s*([^|]+?)\s*\|\s*$/imu)?.[1]?.trim();
10
+ return task ? { available, task_id: task, action } : { available };
11
+ }
12
+ /**
13
+ * Verifica as instalações atual e legada do ClickUpfy.
14
+ *
15
+ * A versão atual usa `clickup-issue-implement` em `.codex/skills`, com
16
+ * instalação local ou global. A pasta `.agents/skills` permanece como
17
+ * compatibilidade para projetos que ainda usam a integração anterior.
18
+ */
19
+ export async function hasClickUpfySkill(project, userHome = homedir()) {
20
+ const candidates = [
21
+ join(project, ".codex", "skills", "clickup-issue-implement", "SKILL.md"),
22
+ join(userHome, ".codex", "skills", "clickup-issue-implement", "SKILL.md"),
23
+ join(project, ".agents", "skills", "clickupfy-executar-tarefa", "SKILL.md"),
24
+ ];
25
+ for (const candidate of candidates) {
26
+ try {
27
+ await access(candidate);
28
+ return true;
29
+ }
30
+ catch {
31
+ // A ausência de uma candidata apenas leva à próxima instalação possível.
32
+ }
33
+ }
34
+ return false;
35
+ }
36
+ //# sourceMappingURL=clickupfy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clickupfy.js","sourceRoot":"","sources":["../src/clickupfy.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAQjC,8EAA8E;AAC9E,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAe,EACf,QAAgB,EAChB,MAA+B;IAE/B,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IAC1F,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;AACrE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAe,EACf,QAAQ,GAAG,OAAO,EAAE;IAEpB,MAAM,UAAU,GAAG;QACjB,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,yBAAyB,EAAE,UAAU,CAAC;QACxE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,yBAAyB,EAAE,UAAU,CAAC;QACzE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,2BAA2B,EAAE,UAAU,CAAC;KAC5E,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,yEAAyE;QAC3E,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -7,10 +7,10 @@
7
7
  export declare const MONOREPO_REPOSITORY = "https://github.com/promovaweb/specsfy.git";
8
8
  export declare const BASE_DIRECTORY = "skills";
9
9
  export declare const SPECIALISTS_DIRECTORY = "specialists";
10
- export declare const BASE_SKILLS: readonly ["specsfy-01-inbox", "specsfy-02-backlog", "specsfy-03-specify", "specsfy-04-validate", "specsfy-05-tasks", "specsfy-06-tdd-bdd", "specsfy-07-implement", "specsfy-update-spec", "specsfy-progress"];
10
+ export declare const BASE_SKILLS: readonly ["specsfy-01-inbox", "specsfy-02-backlog", "specsfy-03-specify", "specsfy-04-validate", "specsfy-05-tasks", "specsfy-06-tdd-bdd", "specsfy-07-implement", "specsfy-update-spec", "specsfy-progress", "specsfy-interviewer", "specsfy-mvp-milestone-interviewer", "specsfy-roadmap-milestone-interviewer", "specsfy-milestone-governor", "specsfy-data-discovery"];
11
11
  export declare const AUXILIARY_SKILLS: readonly ["specsfy-aux-stack", "specsfy-aux-rules", "specsfy-aux-database"];
12
12
  export declare const DOCUMENTATION_SKILLS: readonly ["specsfy-documentator"];
13
- export declare const FRAMEWORK_SKILLS: readonly ["specsfy-setup", "specsfy-aux-stack", "specsfy-aux-rules", "specsfy-aux-database", "specsfy-documentator", "specsfy-01-inbox", "specsfy-02-backlog", "specsfy-03-specify", "specsfy-04-validate", "specsfy-05-tasks", "specsfy-06-tdd-bdd", "specsfy-07-implement", "specsfy-update-spec", "specsfy-progress"];
13
+ export declare const FRAMEWORK_SKILLS: readonly ["specsfy-setup", "specsfy-aux-stack", "specsfy-aux-rules", "specsfy-aux-database", "specsfy-documentator", "specsfy-01-inbox", "specsfy-02-backlog", "specsfy-03-specify", "specsfy-04-validate", "specsfy-05-tasks", "specsfy-06-tdd-bdd", "specsfy-07-implement", "specsfy-update-spec", "specsfy-progress", "specsfy-interviewer", "specsfy-mvp-milestone-interviewer", "specsfy-roadmap-milestone-interviewer", "specsfy-milestone-governor", "specsfy-data-discovery"];
14
14
  export declare const RENAMED_BASE_SKILLS: Readonly<Record<string, string>>;
15
15
  /** Instalador de um projeto consumidor explicitamente selecionado. */
16
16
  export declare class SkillInstaller {
@@ -1 +1 @@
1
- {"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgCH,eAAO,MAAM,mBAAmB,8CACa,CAAC;AAC9C,eAAO,MAAM,cAAc,WAAW,CAAC;AACvC,eAAO,MAAM,qBAAqB,gBAAgB,CAAC;AACnD,eAAO,MAAM,WAAW,YACtB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,CACV,CAAC;AACX,eAAO,MAAM,gBAAgB,YAC3B,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,CACd,CAAC;AACX,eAAO,MAAM,oBAAoB,YAAI,sBAAsB,CAAU,CAAC;AACtE,eAAO,MAAM,gBAAgB,0TAKnB,CAAC;AACX,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAYhE,CAAC;AAmCF,sEAAsE;AACtE,qBAAa,cAAc;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IAExB,OAAO,eAGN;IAED,4EAA4E;IAC5E,OAAa,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,UAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,CAK3E;IAED,qCAAqC;IAC/B,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAErC;IAED,uDAAuD;IACjD,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAW7D;IAED,0EAA0E;IACpE,uBAAuB,CAC3B,QAAQ,EAAE,MAAM,EAChB,KAAK,GAAE,SAAS,MAAM,EAAgB,GACrC,OAAO,CAAC,MAAM,EAAE,CAAC,CASnB;IAED,+DAA+D;IACzD,4BAA4B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAwHtE;IAED,iDAAiD;IAC3C,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAO3D;IAED,uDAAuD;IACjD,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAYnC;IAED,mEAAmE;IAC7D,qBAAqB,CACzB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,EAAE,CAAC,CAInB;IAED,oEAAoE;IAC9D,mBAAmB,CACvB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,EAAE,CAAC,CA6EnB;IAED,4EAA4E;IACtE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAsD/C;YAEa,yBAAyB;YAuBzB,iBAAiB;YAoBjB,gBAAgB;YAsBhB,QAAQ;YAeR,SAAS;CAMxB;AAmMD,4EAA4E;AAC5E,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAqB/D"}
1
+ {"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgCH,eAAO,MAAM,mBAAmB,8CACa,CAAC;AAC9C,eAAO,MAAM,cAAc,WAAW,CAAC;AACvC,eAAO,MAAM,qBAAqB,gBAAgB,CAAC;AACnD,eAAO,MAAM,WAAW,YACtB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACrB,mCAAmC,EACnC,uCAAuC,EACvC,4BAA4B,EAC5B,wBAAwB,CAChB,CAAC;AACX,eAAO,MAAM,gBAAgB,YAC3B,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,CACd,CAAC;AACX,eAAO,MAAM,oBAAoB,YAAI,sBAAsB,CAAU,CAAC;AACtE,eAAO,MAAM,gBAAgB,udAKnB,CAAC;AACX,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAYhE,CAAC;AAoCF,sEAAsE;AACtE,qBAAa,cAAc;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IAExB,OAAO,eAGN;IAED,4EAA4E;IAC5E,OAAa,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,UAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,CAK3E;IAED,qCAAqC;IAC/B,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAErC;IAED,uDAAuD;IACjD,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAW7D;IAED,0EAA0E;IACpE,uBAAuB,CAC3B,QAAQ,EAAE,MAAM,EAChB,KAAK,GAAE,SAAS,MAAM,EAAgB,GACrC,OAAO,CAAC,MAAM,EAAE,CAAC,CASnB;IAED,+DAA+D;IACzD,4BAA4B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAwHtE;IAED,iDAAiD;IAC3C,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAO3D;IAED,uDAAuD;IACjD,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAYnC;IAED,mEAAmE;IAC7D,qBAAqB,CACzB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,EAAE,CAAC,CAInB;IAED,oEAAoE;IAC9D,mBAAmB,CACvB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,EAAE,CAAC,CA6EnB;IAED,4EAA4E;IACtE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAsD/C;YAEa,yBAAyB;YAuBzB,iBAAiB;YAoBjB,gBAAgB;YAsBhB,QAAQ;YAeR,SAAS;CAMxB;AAwKD,4EAA4E;AAC5E,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAqB/D"}