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