@aksp/opencrew 1.3.3 → 1.4.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
@@ -1,139 +1,231 @@
1
- # Changelog
2
-
3
- All notable changes to opencrew are documented here.
4
- The format is based on [Keep a Changelog](https://keepachangelog.com/).
5
-
6
- ## [1.2.2] — 2026-08-02
7
-
8
- ### Fixed
9
- - **`parseArgs` truncates values containing `=`**: flags like `--description=foo=bar`
10
- no longer lose everything after the second `=`.
11
- - **`version` npm script uses `require()` in ESM project**: extracted to a dedicated
12
- `scripts/stamp-version.js` that uses proper ESM imports.
13
- - **`skills.engine.md` numbering was out of order** in Operation 2 (Install a Skill):
14
- steps 3/4 repeated instead of continuing 5–9. Cross-references updated accordingly.
15
- - **`init` now aborts when a workspace already exists** instead of proceeding with
16
- `overwrite: false` (which silently did nothing). It prints instructions to use
17
- `update` or reinstall from scratch.
18
- - **`deleteDir` semantics**: now returns `false` when the path does not exist (was `true`).
19
- - **`.env.example` placeholders** (`[REDACTED:API key param]`) removed — these were
20
- security-redaction artifacts from the tooling, not real file content. No code change.
21
-
22
- ### Added
23
- - **Short flags**: `-y` (yes), `-v` (version), `-h` (help) now work alongside their
24
- `--long-form` equivalents.
25
- - **`OPENCREW_CATALOG_URL` env var**: forks can override the skill catalog base URL
26
- without editing `catalog.json`. Documented in `CONTRIBUTING.md` → Forking.
27
- - **`update` now warns** that catalog skills are fully overwritten before refreshing them.
28
- - **`readJson` error messages now include the file path** (e.g. `Failed to read
29
- /path/to/package.json: file not found`).
30
- - **`pickIdes` validates preselected IDs**: unknown IDs from `--ide` are filtered with
31
- a warning instead of being passed through silently.
32
- - **`c.gray` removed** (unused). **`confirm()` removed** (dead code, never imported).
33
- - **ESLint** (`eslint.config.js` + `npm run lint` + CI step) with `@eslint/js` flat config.
34
- - **55 tests** (up from 30): new coverage for `paths.js`, `ui.js`, `fsx.js` error
35
- scenarios, `normalizeIdes` string input, CLI smoke tests.
36
-
37
- ### Changed
38
- - **CI `npm audit` raised from `moderate` to `high`** to avoid spurious build failures
39
- from dev-dependency vulnerabilities without attack vectors.
40
- - **Playwright config**: `channel: "chrome"` removed — uses bundled Chromium for better
41
- portability. `.mcp.json` now includes a `_comment` field explaining how to upgrade the
42
- pinned `@playwright/mcp` version.
43
- - **Node version check** in `cli.js` now uses a proper semver comparison that handles
44
- `||` ranges (e.g. `>=18.0.0 || >=20.0.0`).
45
-
46
- ### Docs
47
- - **`discovery.prompt.md`**: `crew_code` uniqueness is now self-service (`ls crews/`)
48
- instead of depending on the orchestrator to pass a list.
49
- - **`runner.pipeline.md`**: language contract table documents all fixed PT-BR headers
50
- and the policy for adding new ones.
51
- - **`CONTRIBUTING.md`**: new "Forking" section with catalog URL, package name, and
52
- publish instructions.
53
-
54
- ## [1.2.1] — 2026-08-02
55
-
56
- ### Changed
57
- - **Menu discovery for repair**: the "My crews" menu entry now mentions `repair`, so the
58
- command introduced in 1.2.0 is discoverable from the menu and not only from the command
59
- routing table.
60
- - **README**: standardized the project name as "OpenCrew" in prose (commands and the npm
61
- package name stay lowercase).
62
-
63
- ## [1.2.0] — 2026-08-02
64
-
65
- ### Fixed
66
- - **Crews created without agent names**: some crews rendered their agents' functions
67
- (e.g. "Pesquisador") but not their persona names (e.g. "Pedro Pesquisa"). Root cause:
68
- `build.prompt.md` never specified the `crew-party.csv` schema, so the manifest could be
69
- generated without a `displayName` column — the exact column the Pipeline Runner reads to
70
- render agent names — even though the correct two-word names were present in each
71
- `.agent.md`. Build now documents the full CSV schema (header + example) and enforces it
72
- with a new blocking **Gate 0b: Crew-Party Manifest** that checks `displayName` exists and
73
- matches each agent's `.agent.md` `name:`.
74
-
75
- ### Added
76
- - **`/opencrew repair <crew>`**: repairs an already-created crew whose manifest is missing
77
- agent names. It rebuilds `crew-party.csv` from the persona names already stored in each
78
- `.agent.md` (no re-generation of agents, research, or pipeline). New prompt at
79
- `_opencrew/core/prompts/repair.prompt.md`, routed via `AGENTS.md`.
80
-
81
- ### Migration
82
- - To fix an existing crew that shows functions but no names:
83
- 1. `npx @aksp/opencrew update` — refreshes the framework and installs the repair command.
84
- 2. `/opencrew repair <crew>` — rewrites the crew's manifest with the correct names.
85
- `update` intentionally never touches `crews/`, so the repair step is required in addition
86
- to updating.
87
-
88
- ## [1.1.0] — 2026-08-01
89
-
90
- ### Fixed
91
- - **Skill catalog URLs**: `/opencrew install` now fetches skills from the correct fork
92
- (`alberthpalhares/opencrew/templates/skills/`) instead of the upstream OpenSquad repo.
93
- - **Publish workflow**: restored `push: tags` as the sole trigger — the actual release
94
- flow is `npm version` + `git push --tags`, not GitHub Releases. Documented in
95
- `CONTRIBUTING.md`.
96
- - **Cross-platform test script**: replaced shell glob (`tests/*.test.js`) with an
97
- explicit file list so `npm test` works on Windows PowerShell + Node 20.
98
- - **CI matrix**: test suite now runs on Ubuntu and Windows on every push/PR.
99
-
100
- ### Added
101
- - **Test suite**: 30 tests (`node:test`) covering `fsx.js`, init, update, IDE bridge
102
- validation, and documentation contracts.
103
- - **CI version-sync check**: `scripts/check-version-sync.js` fails the build if
104
- `.opencrew-version` drifts from `package.json`.
105
- - **Playwright plugin warning**: `init` now warns Claude Code users to disable the
106
- native Playwright extension (opencrew ships its own via `.mcp.json`).
107
-
108
- ### Changed
109
- - **Dashboard opt-in**: Pipeline Runner `state.json` writes are now gated on
110
- `Dashboard: enabled` in `preferences.md` (default: disabled). Removed the
111
- unconditional 10-second sleep at the end of every pipeline run.
112
- - **Smaller fixes**: removed `AskUserQuestion` references from IDE-neutral files,
113
- corrected `update.js` comment about overwrite behavior, pinned `@playwright/mcp`
114
- version, removed stale root `skills/` directory (drifted duplicate of
115
- `templates/skills/`).
116
-
117
- ## [1.0.1] — 2026-08-01
118
-
119
- ### Changed
120
- - API keys for optional skills are now requested conversationally in chat (during crew
121
- creation or skill install) instead of requiring the user to manually copy/edit `.env`
122
- beforehand. Values are collected and written to `.env` automatically.
123
- - `init` no longer tells users to configure `.env` as a next step — no setup is required
124
- to start using opencrew.
125
-
126
- ## [1.0.0] — 2026-08-01
127
-
128
- ### Added
129
- - npm-style installer: `npx @aksp/opencrew init` scaffolds a full opencrew workspace.
130
- - `npx @aksp/opencrew update` refreshes only the framework (`_opencrew/core`, catalog
131
- skills, `AGENTS.md`) while preserving `crews/`, `_memory/`, IDE bridges and `.env`.
132
- - Interactive IDE selection during `init` (or `--ide=`, `--all`, non-interactive fallback).
133
- - Single source of truth: `AGENTS.md`. Every IDE receives only a thin bridge file that
134
- points to it — adding a new IDE is one entry in `src/lib/ides.js`.
135
- - Version stamping via `_opencrew/.opencrew-version`, read by `update`.
136
-
137
- ### Notes
138
- - Reformulation of the OpenSquad framework (originally by Renato Asse) published under
139
- the `opencrew` name by [aksp](https://www.npmjs.com/~aksp). MIT licensed.
1
+ # Changelog
2
+
3
+ All notable changes to opencrew are documented here.
4
+ The format is based on [Keep a Changelog](https://keepachangelog.com/).
5
+
6
+ ## [1.4.1] — 2026-08-04
7
+
8
+ ### Fixed
9
+ - **NPM publish**: v1.4.0 já existia no registro. Re-publicado como 1.4.1.
10
+
11
+ ## [1.4.0] — 2026-08-04
12
+
13
+ ### Added
14
+ - **Seleção automática de agentes (IDEIAS #8)**: o Pipeline Runner agora analisa
15
+ a solicitação do usuário contra uma matriz de decisão e sugere quais agentes são
16
+ realmente necessários para aquela tarefa. O usuário confirma ou ajusta a seleção
17
+ antes da execução. Agentes excluídos têm seus steps pulados automaticamente.
18
+ - `runner.pipeline.md` — step 4b (Pre-Execution Agent Selection) com matriz de
19
+ 6 sinais PT-BR/EN, menu multi-select IDE-neutral, alertas de dependências
20
+ quebradas, e step 0 de skip condicional no loop de execução.
21
+ - `crew.yaml` — novo campo `agent_dependencies:` (opcional). O step de seleção
22
+ só dispara quando o campo existe — crews antigas mantêm comportamento idêntico.
23
+ - `build.prompt.md` — schema do `agent_dependencies:`, campo `agent:` opcional
24
+ em checkpoints, gate de validação.
25
+ - `AGENTS.md` — step 7b na seção Loading the Pipeline Runner.
26
+ - 3 novos testes de contrato em `docs.test.js`.
27
+
28
+ ## [1.3.3] — 2026-08-03
29
+
30
+ ### Fixed
31
+ - **Auditoria D3 — cobertura de testes**: `--all` test agora verifica os 10 bridges
32
+ (eram 5). Teste de scaffold verifica `_opencrew/agents/`. +2 testes no update
33
+ (`--check` mismatch + refresh de `system.md`/bridge).
34
+
35
+ ### Security
36
+ - **Auditoria D4 — segurança e robustez**: `escapeRx` verificada para todos os
37
+ caracteres especiais regex. Todos os paths usam `path.join` (zero concatenação).
38
+
39
+ ## [1.3.2] — 2026-08-03
40
+
41
+ ### Fixed
42
+ - **Auditoria D2 — consistência de prompts**: coluna `Score` adicionada à migração
43
+ OLD_FORMAT do `runs.md`. Passos de injeção do runner renumerados (memory=4,
44
+ format=5, skill=6) para refletir a ordem real de composição. Números de fase
45
+ corrigidos no `skills.engine.md` (3.5/5 → descritivos) e `discovery.prompt.md`
46
+ (Phase 2 → 3). Campo `domains` reconciliado entre discovery e design.
47
+ Referência ao diretório inexistente `ide-templates/` removida.
48
+
49
+ ## [1.3.1] — 2026-08-03
50
+
51
+ ### Fixed
52
+ - **Auditoria D1 — código TypeScript**: `--version`/`-v` não executa mais `init`.
53
+ `--yes`/`-y` agora funciona (seleciona todos os IDEs automaticamente).
54
+ `writeBridgeFile` não corrompe mais arquivos com frontmatter YAML (SKILL.md,
55
+ `.mdc`). `--ide` sem valor não produz mais warning "Unknown IDE 'true'".
56
+ Fase G.5 renomeada para H.5 no `architect.agent.yaml`. `model_tier` de
57
+ pesquisador alinhado entre build e design/runner (`fast`).
58
+ `template_selection` adicionado ao schema do `design.yaml`. Tier e domains
59
+ de templates agora persistem no `discovery.yaml`.
60
+
61
+ ## [1.3.0] — 2026-08-03
62
+
63
+ ### Added
64
+ - **Instalação não-destrutiva**: `writeBridgeFile` com estratégia de blocos
65
+ marcados (`<!-- opencrew:start/end -->`). `AGENTS.md` agora é uma ponte fina;
66
+ sistema completo em `_opencrew/core/system.md`. Merge preserva conteúdo
67
+ existente em todos os arquivos de bridge (CLAUDE.md, GEMINI.md, QWEN.md, etc.).
68
+ - **Sherlock multi-fonte**: novos extratores `sherlock-web.md` (pesquisa em
69
+ sites públicos), `sherlock-seo.md` (keywords e content gaps), e
70
+ `sherlock-trends.md` (trending topics de 9 fontes). Orquestração multi-fonte
71
+ no `sherlock-shared.md` com matriz de seleção por tipo de crew.
72
+ - **Templates de crew por setor**: 4 templates em `templates/crews/`:
73
+ blog-semanal, instagram-carrossel, newsletter-mensal, lancamento-produto.
74
+ Template selection no Step 0 do Discovery.
75
+ - **Exportação multi-formato**: `export.prompt.md` com suporte a PDF
76
+ (Playwright), CSV (compatível Excel), e formatted-post (por plataforma).
77
+ - **Criação por papéis**: `design.prompt.md` refatorado — Phase D = Role
78
+ Proposal (sugere pessoas, não ferramentas), Phase E = Skill Mapping
79
+ (resolve skills automaticamente). Tabela de mapeamento para 12 papéis.
80
+ - **Tiers de crew**: usuário escolhe Express/Standard/Full na criação.
81
+ Impacto no número de agentes, checkpoints, Sherlock, e model_tier.
82
+ Campo `tier` no `design.yaml` e `Default Tier` no `preferences.md`.
83
+ - **Aprendizado contínuo**: Post-Run Reflection com detecção de padrões
84
+ recorrentes. Regras de Ouro após 3+ ocorrências. Crew Memory Rules
85
+ injetadas no prompt dos agentes. Coluna `Score` no `runs.md`.
86
+ - **Registro compartilhado de agentes**: 5 agentes base em
87
+ `_opencrew/agents/` (researcher, copywriter, reviewer, designer,
88
+ strategist). Sistema `extends:` para herança de agentes. Gate 0c
89
+ para validação de referências.
90
+ - **Criação dinâmica de skills**: Operation 3a no `skills.engine.md`
91
+ para geração automática de SKILL.md. Skills geradas em
92
+ `skills/.custom/` (não afetadas por `update`).
93
+
94
+ ### Changed
95
+ - **85→91 testes** (eram 64 na v1.2.2). 103 arquivos no pacote npm.
96
+ - **Todas as 8 ideias do `IDEIAS.md` implementadas** (backlog zerado).
97
+
98
+ ## [1.2.2] — 2026-08-02
99
+
100
+ ### Fixed
101
+ - **`parseArgs` truncates values containing `=`**: flags like `--description=foo=bar`
102
+ no longer lose everything after the second `=`.
103
+ - **`version` npm script uses `require()` in ESM project**: extracted to a dedicated
104
+ `scripts/stamp-version.js` that uses proper ESM imports.
105
+ - **`skills.engine.md` numbering was out of order** in Operation 2 (Install a Skill):
106
+ steps 3/4 repeated instead of continuing 5–9. Cross-references updated accordingly.
107
+ - **`init` now aborts when a workspace already exists** instead of proceeding with
108
+ `overwrite: false` (which silently did nothing). It prints instructions to use
109
+ `update` or reinstall from scratch.
110
+ - **`deleteDir` semantics**: now returns `false` when the path does not exist (was `true`).
111
+ - **`.env.example` placeholders** (`[REDACTED:API key param]`) removed — these were
112
+ security-redaction artifacts from the tooling, not real file content. No code change.
113
+
114
+ ### Added
115
+ - **Short flags**: `-y` (yes), `-v` (version), `-h` (help) now work alongside their
116
+ `--long-form` equivalents.
117
+ - **`OPENCREW_CATALOG_URL` env var**: forks can override the skill catalog base URL
118
+ without editing `catalog.json`. Documented in `CONTRIBUTING.md` → Forking.
119
+ - **`update` now warns** that catalog skills are fully overwritten before refreshing them.
120
+ - **`readJson` error messages now include the file path** (e.g. `Failed to read
121
+ /path/to/package.json: file not found`).
122
+ - **`pickIdes` validates preselected IDs**: unknown IDs from `--ide` are filtered with
123
+ a warning instead of being passed through silently.
124
+ - **`c.gray` removed** (unused). **`confirm()` removed** (dead code, never imported).
125
+ - **ESLint** (`eslint.config.js` + `npm run lint` + CI step) with `@eslint/js` flat config.
126
+ - **55 tests** (up from 30): new coverage for `paths.js`, `ui.js`, `fsx.js` error
127
+ scenarios, `normalizeIdes` string input, CLI smoke tests.
128
+
129
+ ### Changed
130
+ - **CI `npm audit` raised from `moderate` to `high`** to avoid spurious build failures
131
+ from dev-dependency vulnerabilities without attack vectors.
132
+ - **Playwright config**: `channel: "chrome"` removed — uses bundled Chromium for better
133
+ portability. `.mcp.json` now includes a `_comment` field explaining how to upgrade the
134
+ pinned `@playwright/mcp` version.
135
+ - **Node version check** in `cli.js` now uses a proper semver comparison that handles
136
+ `||` ranges (e.g. `>=18.0.0 || >=20.0.0`).
137
+
138
+ ### Docs
139
+ - **`discovery.prompt.md`**: `crew_code` uniqueness is now self-service (`ls crews/`)
140
+ instead of depending on the orchestrator to pass a list.
141
+ - **`runner.pipeline.md`**: language contract table documents all fixed PT-BR headers
142
+ and the policy for adding new ones.
143
+ - **`CONTRIBUTING.md`**: new "Forking" section with catalog URL, package name, and
144
+ publish instructions.
145
+
146
+ ## [1.2.1] — 2026-08-02
147
+
148
+ ### Changed
149
+ - **Menu discovery for repair**: the "My crews" menu entry now mentions `repair`, so the
150
+ command introduced in 1.2.0 is discoverable from the menu and not only from the command
151
+ routing table.
152
+ - **README**: standardized the project name as "OpenCrew" in prose (commands and the npm
153
+ package name stay lowercase).
154
+
155
+ ## [1.2.0] — 2026-08-02
156
+
157
+ ### Fixed
158
+ - **Crews created without agent names**: some crews rendered their agents' functions
159
+ (e.g. "Pesquisador") but not their persona names (e.g. "Pedro Pesquisa"). Root cause:
160
+ `build.prompt.md` never specified the `crew-party.csv` schema, so the manifest could be
161
+ generated without a `displayName` column — the exact column the Pipeline Runner reads to
162
+ render agent names — even though the correct two-word names were present in each
163
+ `.agent.md`. Build now documents the full CSV schema (header + example) and enforces it
164
+ with a new blocking **Gate 0b: Crew-Party Manifest** that checks `displayName` exists and
165
+ matches each agent's `.agent.md` `name:`.
166
+
167
+ ### Added
168
+ - **`/opencrew repair <crew>`**: repairs an already-created crew whose manifest is missing
169
+ agent names. It rebuilds `crew-party.csv` from the persona names already stored in each
170
+ `.agent.md` (no re-generation of agents, research, or pipeline). New prompt at
171
+ `_opencrew/core/prompts/repair.prompt.md`, routed via `AGENTS.md`.
172
+
173
+ ### Migration
174
+ - To fix an existing crew that shows functions but no names:
175
+ 1. `npx @aksp/opencrew update` — refreshes the framework and installs the repair command.
176
+ 2. `/opencrew repair <crew>` — rewrites the crew's manifest with the correct names.
177
+ `update` intentionally never touches `crews/`, so the repair step is required in addition
178
+ to updating.
179
+
180
+ ## [1.1.0] — 2026-08-01
181
+
182
+ ### Fixed
183
+ - **Skill catalog URLs**: `/opencrew install` now fetches skills from the correct fork
184
+ (`alberthpalhares/opencrew/templates/skills/`) instead of the upstream OpenSquad repo.
185
+ - **Publish workflow**: restored `push: tags` as the sole trigger — the actual release
186
+ flow is `npm version` + `git push --tags`, not GitHub Releases. Documented in
187
+ `CONTRIBUTING.md`.
188
+ - **Cross-platform test script**: replaced shell glob (`tests/*.test.js`) with an
189
+ explicit file list so `npm test` works on Windows PowerShell + Node 20.
190
+ - **CI matrix**: test suite now runs on Ubuntu and Windows on every push/PR.
191
+
192
+ ### Added
193
+ - **Test suite**: 30 tests (`node:test`) covering `fsx.js`, init, update, IDE bridge
194
+ validation, and documentation contracts.
195
+ - **CI version-sync check**: `scripts/check-version-sync.js` fails the build if
196
+ `.opencrew-version` drifts from `package.json`.
197
+ - **Playwright plugin warning**: `init` now warns Claude Code users to disable the
198
+ native Playwright extension (opencrew ships its own via `.mcp.json`).
199
+
200
+ ### Changed
201
+ - **Dashboard opt-in**: Pipeline Runner `state.json` writes are now gated on
202
+ `Dashboard: enabled` in `preferences.md` (default: disabled). Removed the
203
+ unconditional 10-second sleep at the end of every pipeline run.
204
+ - **Smaller fixes**: removed `AskUserQuestion` references from IDE-neutral files,
205
+ corrected `update.js` comment about overwrite behavior, pinned `@playwright/mcp`
206
+ version, removed stale root `skills/` directory (drifted duplicate of
207
+ `templates/skills/`).
208
+
209
+ ## [1.0.1] — 2026-08-01
210
+
211
+ ### Changed
212
+ - API keys for optional skills are now requested conversationally in chat (during crew
213
+ creation or skill install) instead of requiring the user to manually copy/edit `.env`
214
+ beforehand. Values are collected and written to `.env` automatically.
215
+ - `init` no longer tells users to configure `.env` as a next step — no setup is required
216
+ to start using opencrew.
217
+
218
+ ## [1.0.0] — 2026-08-01
219
+
220
+ ### Added
221
+ - npm-style installer: `npx @aksp/opencrew init` scaffolds a full opencrew workspace.
222
+ - `npx @aksp/opencrew update` refreshes only the framework (`_opencrew/core`, catalog
223
+ skills, `AGENTS.md`) while preserving `crews/`, `_memory/`, IDE bridges and `.env`.
224
+ - Interactive IDE selection during `init` (or `--ide=`, `--all`, non-interactive fallback).
225
+ - Single source of truth: `AGENTS.md`. Every IDE receives only a thin bridge file that
226
+ points to it — adding a new IDE is one entry in `src/lib/ides.js`.
227
+ - Version stamping via `_opencrew/.opencrew-version`, read by `update`.
228
+
229
+ ### Notes
230
+ - Reformulation of the OpenSquad framework (originally by Renato Asse) published under
231
+ the `opencrew` name by [aksp](https://www.npmjs.com/~aksp). MIT licensed.