@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 +231 -139
- package/README.md +286 -150
- package/package.json +63 -63
- package/src/cli.js +137 -136
- package/src/commands/init.js +159 -125
- package/src/commands/update.js +95 -87
- package/src/lib/fsx.js +127 -127
- package/src/lib/ides.js +61 -4
- package/templates/.mcp.json +9 -9
- package/templates/AGENTS.md +139 -133
- package/templates/_opencrew/.opencrew-version +1 -1
- package/templates/_opencrew/_memory/preferences.md +11 -11
- package/templates/_opencrew/core/prompts/build.prompt.md +633 -614
- package/templates/_opencrew/core/prompts/repair.prompt.md +119 -119
- package/templates/_opencrew/core/runner.pipeline.md +829 -729
- package/templates/_opencrew/core/skills.engine.md +490 -490
- package/templates/gitignore +1 -0
- package/templates/skills/README.md +22 -22
- package/templates/skills/catalog.json +61 -61
- package/templates/skills/instagram-publisher/SKILL.md +119 -119
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.
|
|
7
|
-
|
|
8
|
-
### Fixed
|
|
9
|
-
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
-
|
|
24
|
-
|
|
25
|
-
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
- **
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
###
|
|
101
|
-
-
|
|
102
|
-
|
|
103
|
-
-
|
|
104
|
-
|
|
105
|
-
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
- `
|
|
131
|
-
|
|
132
|
-
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
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.
|