@aksp/opencrew 1.2.2 → 1.3.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 +139 -139
- package/README.md +150 -150
- package/package.json +63 -63
- package/src/cli.js +136 -136
- package/src/commands/init.js +125 -103
- package/src/commands/update.js +87 -77
- package/src/lib/fsx.js +127 -76
- package/templates/.mcp.json +9 -9
- package/templates/AGENTS.md +133 -133
- package/templates/_opencrew/.opencrew-version +1 -1
- package/templates/_opencrew/_memory/preferences.md +11 -10
- package/templates/_opencrew/agents/copywriter.agent.md +66 -0
- package/templates/_opencrew/agents/designer.agent.md +65 -0
- package/templates/_opencrew/agents/researcher.agent.md +95 -0
- package/templates/_opencrew/agents/reviewer.agent.md +76 -0
- package/templates/_opencrew/agents/strategist.agent.md +64 -0
- package/templates/_opencrew/core/architect.agent.yaml +1 -1
- package/templates/_opencrew/core/prompts/build.prompt.md +614 -586
- package/templates/_opencrew/core/prompts/design.prompt.md +254 -26
- package/templates/_opencrew/core/prompts/discovery.prompt.md +42 -1
- package/templates/_opencrew/core/prompts/export.prompt.md +133 -0
- package/templates/_opencrew/core/prompts/repair.prompt.md +119 -119
- package/templates/_opencrew/core/prompts/sherlock-seo.md +216 -0
- package/templates/_opencrew/core/prompts/sherlock-shared.md +73 -1
- package/templates/_opencrew/core/prompts/sherlock-trends.md +238 -0
- package/templates/_opencrew/core/prompts/sherlock-web.md +220 -0
- package/templates/_opencrew/core/runner.pipeline.md +729 -642
- package/templates/_opencrew/core/skills.engine.md +490 -429
- package/templates/crews/blog-semanal/discovery.template.yaml +35 -0
- package/templates/crews/instagram-carrossel/discovery.template.yaml +35 -0
- package/templates/crews/lancamento-produto/discovery.template.yaml +39 -0
- package/templates/crews/newsletter-mensal/discovery.template.yaml +29 -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,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.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.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.
|
package/README.md
CHANGED
|
@@ -1,150 +1,150 @@
|
|
|
1
|
-
# OpenCrew
|
|
2
|
-
|
|
3
|
-
[](https://github.com/alberthpalhares/opencrew/actions/workflows/ci.yml)
|
|
4
|
-
[](https://www.npmjs.com/package/@aksp/opencrew)
|
|
5
|
-
[](LICENSE)
|
|
6
|
-
|
|
7
|
-
**Crie equipes de agentes de IA que trabalham juntos — direto na sua IDE.**
|
|
8
|
-
|
|
9
|
-
> 🇧🇷 This README is in Brazilian Portuguese (PT-BR), the project's primary audience. If
|
|
10
|
-
> you don't read Portuguese, use your browser's translator (e.g. Google Translate) or ask
|
|
11
|
-
> an AI assistant to translate this page.
|
|
12
|
-
|
|
13
|
-
OpenCrew é um framework de orquestração multi-agente. Descreva o que você precisa em
|
|
14
|
-
linguagem natural e ele monta um time de agentes especializados que rodam como um pipeline
|
|
15
|
-
automatizado, com pontos de aprovação humana. Funciona no Claude Code, Cursor, Codex,
|
|
16
|
-
Gemini CLI, OpenCode, Antigravity e mais.
|
|
17
|
-
|
|
18
|
-
> **Este não é um framework original — é a minha versão pessoal do OpenSquad.**
|
|
19
|
-
> O [OpenSquad](https://github.com/renatoasse/opensquad) foi criado por
|
|
20
|
-
> [Renato Asse](https://github.com/renatoasse) ([Comunidade Sem Codar](https://semcodar.com.br)).
|
|
21
|
-
> Eu ([aksp](https://www.npmjs.com/~aksp)) uso o OpenSquad no dia a dia e quis melhorar
|
|
22
|
-
> algumas coisas para o meu próprio fluxo de trabalho — o `OpenCrew` é essa versão
|
|
23
|
-
> reformulada, compartilhada caso ajude outras pessoas também. Todo o crédito pela ideia e
|
|
24
|
-
> pelo framework original é do Renato Asse. Veja [Origem e créditos](#origem-e-créditos)
|
|
25
|
-
> abaixo. Licenciado sob MIT, assim como o original.
|
|
26
|
-
|
|
27
|
-
---
|
|
28
|
-
|
|
29
|
-
## Instalação
|
|
30
|
-
|
|
31
|
-
**Pré-requisito:** Node.js 20+
|
|
32
|
-
|
|
33
|
-
```bash
|
|
34
|
-
npx @aksp/opencrew init
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
O `init` monta o workspace na pasta atual e pergunta quais IDEs de IA você usa, gerando os
|
|
38
|
-
arquivos de integração certos para cada uma. Depois:
|
|
39
|
-
|
|
40
|
-
1. Abra a pasta na sua IDE de IA.
|
|
41
|
-
2. Digite `/opencrew` para começar — a primeira execução configura o perfil da sua empresa.
|
|
42
|
-
|
|
43
|
-
Isso já é suficiente para criar e rodar crews: nenhuma configuração prévia, instalação
|
|
44
|
-
extra ou chave de API é necessária para começar.
|
|
45
|
-
|
|
46
|
-
Algumas **skills opcionais** dependem de serviços externos — por exemplo, publicar no
|
|
47
|
-
Instagram, gerar imagens com IA, fazer web scraping (Apify) ou enviar e-mails (Resend). Você
|
|
48
|
-
não precisa se preocupar com isso antes de começar: se, ao montar uma crew, o OpenCrew
|
|
49
|
-
identificar que ela precisa de uma dessas skills, ele pede a chave direto na conversa
|
|
50
|
-
(explicando o que é e onde consegui-la) e salva tudo por conta própria. Não é preciso abrir
|
|
51
|
-
nem editar nenhum arquivo manualmente.
|
|
52
|
-
|
|
53
|
-
Você pode pré-selecionar as IDEs (pula a pergunta) ou configurar todas de uma vez:
|
|
54
|
-
|
|
55
|
-
```bash
|
|
56
|
-
npx @aksp/opencrew init --ide=claude-code,codex
|
|
57
|
-
npx @aksp/opencrew init --all
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
## Atualizando
|
|
61
|
-
|
|
62
|
-
Atualize o framework sem perder o seu trabalho:
|
|
63
|
-
|
|
64
|
-
```bash
|
|
65
|
-
npx @aksp/opencrew update
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
O `update` atualiza apenas `_opencrew/core`, as skills do catálogo e o `AGENTS.md`. Suas
|
|
69
|
-
`crews/`, memória, integrações de IDE e `.env` continuam intactos.
|
|
70
|
-
|
|
71
|
-
## IDEs suportadas
|
|
72
|
-
|
|
73
|
-
| IDE | Arquivo(s) de integração gerado(s) |
|
|
74
|
-
|-----|--------------------------|
|
|
75
|
-
| Claude Code | `.claude/skills/opencrew/SKILL.md`, `CLAUDE.md` |
|
|
76
|
-
| Codex (OpenAI) | `AGENTS.md` (nativo) + `.agents/skills/opencrew/SKILL.md` |
|
|
77
|
-
| Cursor | `.cursor/rules/opencrew.mdc` |
|
|
78
|
-
| VS Code + Copilot | `.github/copilot-instructions.md` |
|
|
79
|
-
| OpenCode | `.opencode/commands/opencrew.md` |
|
|
80
|
-
| Antigravity | `.agent/rules/opencrew.md`, `.agent/workflows/opencrew.md` |
|
|
81
|
-
| Gemini CLI | `GEMINI.md` |
|
|
82
|
-
| Qwen Code | `QWEN.md` |
|
|
83
|
-
| Trae | `.trae/rules/opencrew.md` |
|
|
84
|
-
|
|
85
|
-
Cada integração é só um ponteiro enxuto para a fonte única de verdade, o **`AGENTS.md`**.
|
|
86
|
-
|
|
87
|
-
## Como funciona
|
|
88
|
-
|
|
89
|
-
- **Architect** projeta uma crew a partir da sua descrição (agentes, pipeline, skills).
|
|
90
|
-
- **Sherlock** (opcional) analisa perfis de referência para extrair padrões reais de conteúdo.
|
|
91
|
-
- **Pipeline Runner** executa a crew, pausando nos checkpoints para sua aprovação.
|
|
92
|
-
- **Skills Engine** carrega integrações (scraping, design, publicação, e-mail…) sob demanda,
|
|
93
|
-
usando um esquema em duas camadas para manter o consumo de tokens baixo.
|
|
94
|
-
|
|
95
|
-
## Dashboard (opcional)
|
|
96
|
-
|
|
97
|
-
O OpenCrew inclui um dashboard visual auto-contido — `dashboard/index.html`, um arquivo
|
|
98
|
-
HTML único sem dependências que mostra a execução de uma crew como um escritório virtual
|
|
99
|
-
animado (com agentes trabalhando em suas mesas, handoffs entre etapas, e indicador de
|
|
100
|
-
progresso).
|
|
101
|
-
|
|
102
|
-
Ele é **desligado por padrão** — o Pipeline Runner não escreve `state.json` a menos que
|
|
103
|
-
você ligue o recurso (`Dashboard: enabled` em `_opencrew/_memory/preferences.md`, via
|
|
104
|
-
`/opencrew settings`). Inclui modo demo embutido para visualização sem precisar rodar uma
|
|
105
|
-
crew real.
|
|
106
|
-
|
|
107
|
-
## Comandos (dentro da sua IDE)
|
|
108
|
-
|
|
109
|
-
| Comando | O que faz |
|
|
110
|
-
|---------|--------------|
|
|
111
|
-
| `/opencrew` | Abre o menu principal |
|
|
112
|
-
| `/opencrew create <descrição>` | Cria uma nova crew |
|
|
113
|
-
| `/opencrew run <nome>` | Executa uma crew |
|
|
114
|
-
| `/opencrew list` | Lista suas crews |
|
|
115
|
-
| `/opencrew edit <nome>` | Modifica uma crew |
|
|
116
|
-
| `/opencrew skills` | Navega / instala / remove skills |
|
|
117
|
-
|
|
118
|
-
## Para mantenedores
|
|
119
|
-
|
|
120
|
-
Veja [CONTRIBUTING.md](CONTRIBUTING.md). Regra de ouro: `AGENTS.md` é o único lugar onde
|
|
121
|
-
vivem as instruções do sistema; os arquivos por IDE são gerados a partir de `src/lib/ides.js`.
|
|
122
|
-
|
|
123
|
-
## Origem e créditos
|
|
124
|
-
|
|
125
|
-
`OpenCrew` é uma **distribuição reformulada do [OpenSquad](https://github.com/renatoasse/opensquad)**,
|
|
126
|
-
o framework de orquestração multi-agente criado e mantido por
|
|
127
|
-
**[Renato Asse](https://github.com/renatoasse)**, fundador da
|
|
128
|
-
[Comunidade Sem Codar](https://semcodar.com.br). O projeto original, seu conceito, o modelo
|
|
129
|
-
de agentes, o design do pipeline e o sistema de skills são trabalho dele — dê uma estrela e
|
|
130
|
-
siga o [repositório original](https://github.com/renatoasse/opensquad) e assista ao
|
|
131
|
-
[vídeo de lançamento](https://www.youtube.com/watch?v=CL1ppI4qHeU).
|
|
132
|
-
|
|
133
|
-
Eu uso o OpenSquad no meu dia a dia e fiz algumas mudanças que se encaixam no meu jeito de
|
|
134
|
-
trabalhar, que acredito que também podem ajudar outras pessoas. O que esta versão muda em
|
|
135
|
-
relação ao original:
|
|
136
|
-
|
|
137
|
-
- **Instalador npm no meu escopo** — `npx @aksp/opencrew init` / `update`, com um caminho
|
|
138
|
-
de atualização não destrutivo que preserva suas crews, memória e `.env`.
|
|
139
|
-
- **Fonte única de verdade para multi-IDE** — um `AGENTS.md` canônico; cada IDE recebe um
|
|
140
|
-
arquivo de integração gerado e enxuto, em vez de um documento mantido manualmente para
|
|
141
|
-
cada ferramenta.
|
|
142
|
-
- **Melhorias de economia de tokens e de invocação de skills** no núcleo do framework.
|
|
143
|
-
|
|
144
|
-
Este é um fork independente, feito pela comunidade — **não** é afiliado nem endossado pelo
|
|
145
|
-
Renato Asse ou pela Comunidade Sem Codar. Se você quiser o projeto oficial, use
|
|
146
|
-
[`npx opensquad init`](https://github.com/renatoasse/opensquad).
|
|
147
|
-
|
|
148
|
-
## Licença
|
|
149
|
-
|
|
150
|
-
MIT — veja [LICENSE](LICENSE). Framework OpenSquad original © Renato Asse, também MIT.
|
|
1
|
+
# OpenCrew
|
|
2
|
+
|
|
3
|
+
[](https://github.com/alberthpalhares/opencrew/actions/workflows/ci.yml)
|
|
4
|
+
[](https://www.npmjs.com/package/@aksp/opencrew)
|
|
5
|
+
[](LICENSE)
|
|
6
|
+
|
|
7
|
+
**Crie equipes de agentes de IA que trabalham juntos — direto na sua IDE.**
|
|
8
|
+
|
|
9
|
+
> 🇧🇷 This README is in Brazilian Portuguese (PT-BR), the project's primary audience. If
|
|
10
|
+
> you don't read Portuguese, use your browser's translator (e.g. Google Translate) or ask
|
|
11
|
+
> an AI assistant to translate this page.
|
|
12
|
+
|
|
13
|
+
OpenCrew é um framework de orquestração multi-agente. Descreva o que você precisa em
|
|
14
|
+
linguagem natural e ele monta um time de agentes especializados que rodam como um pipeline
|
|
15
|
+
automatizado, com pontos de aprovação humana. Funciona no Claude Code, Cursor, Codex,
|
|
16
|
+
Gemini CLI, OpenCode, Antigravity e mais.
|
|
17
|
+
|
|
18
|
+
> **Este não é um framework original — é a minha versão pessoal do OpenSquad.**
|
|
19
|
+
> O [OpenSquad](https://github.com/renatoasse/opensquad) foi criado por
|
|
20
|
+
> [Renato Asse](https://github.com/renatoasse) ([Comunidade Sem Codar](https://semcodar.com.br)).
|
|
21
|
+
> Eu ([aksp](https://www.npmjs.com/~aksp)) uso o OpenSquad no dia a dia e quis melhorar
|
|
22
|
+
> algumas coisas para o meu próprio fluxo de trabalho — o `OpenCrew` é essa versão
|
|
23
|
+
> reformulada, compartilhada caso ajude outras pessoas também. Todo o crédito pela ideia e
|
|
24
|
+
> pelo framework original é do Renato Asse. Veja [Origem e créditos](#origem-e-créditos)
|
|
25
|
+
> abaixo. Licenciado sob MIT, assim como o original.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Instalação
|
|
30
|
+
|
|
31
|
+
**Pré-requisito:** Node.js 20+
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
npx @aksp/opencrew init
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
O `init` monta o workspace na pasta atual e pergunta quais IDEs de IA você usa, gerando os
|
|
38
|
+
arquivos de integração certos para cada uma. Depois:
|
|
39
|
+
|
|
40
|
+
1. Abra a pasta na sua IDE de IA.
|
|
41
|
+
2. Digite `/opencrew` para começar — a primeira execução configura o perfil da sua empresa.
|
|
42
|
+
|
|
43
|
+
Isso já é suficiente para criar e rodar crews: nenhuma configuração prévia, instalação
|
|
44
|
+
extra ou chave de API é necessária para começar.
|
|
45
|
+
|
|
46
|
+
Algumas **skills opcionais** dependem de serviços externos — por exemplo, publicar no
|
|
47
|
+
Instagram, gerar imagens com IA, fazer web scraping (Apify) ou enviar e-mails (Resend). Você
|
|
48
|
+
não precisa se preocupar com isso antes de começar: se, ao montar uma crew, o OpenCrew
|
|
49
|
+
identificar que ela precisa de uma dessas skills, ele pede a chave direto na conversa
|
|
50
|
+
(explicando o que é e onde consegui-la) e salva tudo por conta própria. Não é preciso abrir
|
|
51
|
+
nem editar nenhum arquivo manualmente.
|
|
52
|
+
|
|
53
|
+
Você pode pré-selecionar as IDEs (pula a pergunta) ou configurar todas de uma vez:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
npx @aksp/opencrew init --ide=claude-code,codex
|
|
57
|
+
npx @aksp/opencrew init --all
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Atualizando
|
|
61
|
+
|
|
62
|
+
Atualize o framework sem perder o seu trabalho:
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
npx @aksp/opencrew update
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
O `update` atualiza apenas `_opencrew/core`, as skills do catálogo e o `AGENTS.md`. Suas
|
|
69
|
+
`crews/`, memória, integrações de IDE e `.env` continuam intactos.
|
|
70
|
+
|
|
71
|
+
## IDEs suportadas
|
|
72
|
+
|
|
73
|
+
| IDE | Arquivo(s) de integração gerado(s) |
|
|
74
|
+
|-----|--------------------------|
|
|
75
|
+
| Claude Code | `.claude/skills/opencrew/SKILL.md`, `CLAUDE.md` |
|
|
76
|
+
| Codex (OpenAI) | `AGENTS.md` (nativo) + `.agents/skills/opencrew/SKILL.md` |
|
|
77
|
+
| Cursor | `.cursor/rules/opencrew.mdc` |
|
|
78
|
+
| VS Code + Copilot | `.github/copilot-instructions.md` |
|
|
79
|
+
| OpenCode | `.opencode/commands/opencrew.md` |
|
|
80
|
+
| Antigravity | `.agent/rules/opencrew.md`, `.agent/workflows/opencrew.md` |
|
|
81
|
+
| Gemini CLI | `GEMINI.md` |
|
|
82
|
+
| Qwen Code | `QWEN.md` |
|
|
83
|
+
| Trae | `.trae/rules/opencrew.md` |
|
|
84
|
+
|
|
85
|
+
Cada integração é só um ponteiro enxuto para a fonte única de verdade, o **`AGENTS.md`**.
|
|
86
|
+
|
|
87
|
+
## Como funciona
|
|
88
|
+
|
|
89
|
+
- **Architect** projeta uma crew a partir da sua descrição (agentes, pipeline, skills).
|
|
90
|
+
- **Sherlock** (opcional) analisa perfis de referência para extrair padrões reais de conteúdo.
|
|
91
|
+
- **Pipeline Runner** executa a crew, pausando nos checkpoints para sua aprovação.
|
|
92
|
+
- **Skills Engine** carrega integrações (scraping, design, publicação, e-mail…) sob demanda,
|
|
93
|
+
usando um esquema em duas camadas para manter o consumo de tokens baixo.
|
|
94
|
+
|
|
95
|
+
## Dashboard (opcional)
|
|
96
|
+
|
|
97
|
+
O OpenCrew inclui um dashboard visual auto-contido — `dashboard/index.html`, um arquivo
|
|
98
|
+
HTML único sem dependências que mostra a execução de uma crew como um escritório virtual
|
|
99
|
+
animado (com agentes trabalhando em suas mesas, handoffs entre etapas, e indicador de
|
|
100
|
+
progresso).
|
|
101
|
+
|
|
102
|
+
Ele é **desligado por padrão** — o Pipeline Runner não escreve `state.json` a menos que
|
|
103
|
+
você ligue o recurso (`Dashboard: enabled` em `_opencrew/_memory/preferences.md`, via
|
|
104
|
+
`/opencrew settings`). Inclui modo demo embutido para visualização sem precisar rodar uma
|
|
105
|
+
crew real.
|
|
106
|
+
|
|
107
|
+
## Comandos (dentro da sua IDE)
|
|
108
|
+
|
|
109
|
+
| Comando | O que faz |
|
|
110
|
+
|---------|--------------|
|
|
111
|
+
| `/opencrew` | Abre o menu principal |
|
|
112
|
+
| `/opencrew create <descrição>` | Cria uma nova crew |
|
|
113
|
+
| `/opencrew run <nome>` | Executa uma crew |
|
|
114
|
+
| `/opencrew list` | Lista suas crews |
|
|
115
|
+
| `/opencrew edit <nome>` | Modifica uma crew |
|
|
116
|
+
| `/opencrew skills` | Navega / instala / remove skills |
|
|
117
|
+
|
|
118
|
+
## Para mantenedores
|
|
119
|
+
|
|
120
|
+
Veja [CONTRIBUTING.md](CONTRIBUTING.md). Regra de ouro: `AGENTS.md` é o único lugar onde
|
|
121
|
+
vivem as instruções do sistema; os arquivos por IDE são gerados a partir de `src/lib/ides.js`.
|
|
122
|
+
|
|
123
|
+
## Origem e créditos
|
|
124
|
+
|
|
125
|
+
`OpenCrew` é uma **distribuição reformulada do [OpenSquad](https://github.com/renatoasse/opensquad)**,
|
|
126
|
+
o framework de orquestração multi-agente criado e mantido por
|
|
127
|
+
**[Renato Asse](https://github.com/renatoasse)**, fundador da
|
|
128
|
+
[Comunidade Sem Codar](https://semcodar.com.br). O projeto original, seu conceito, o modelo
|
|
129
|
+
de agentes, o design do pipeline e o sistema de skills são trabalho dele — dê uma estrela e
|
|
130
|
+
siga o [repositório original](https://github.com/renatoasse/opensquad) e assista ao
|
|
131
|
+
[vídeo de lançamento](https://www.youtube.com/watch?v=CL1ppI4qHeU).
|
|
132
|
+
|
|
133
|
+
Eu uso o OpenSquad no meu dia a dia e fiz algumas mudanças que se encaixam no meu jeito de
|
|
134
|
+
trabalhar, que acredito que também podem ajudar outras pessoas. O que esta versão muda em
|
|
135
|
+
relação ao original:
|
|
136
|
+
|
|
137
|
+
- **Instalador npm no meu escopo** — `npx @aksp/opencrew init` / `update`, com um caminho
|
|
138
|
+
de atualização não destrutivo que preserva suas crews, memória e `.env`.
|
|
139
|
+
- **Fonte única de verdade para multi-IDE** — um `AGENTS.md` canônico; cada IDE recebe um
|
|
140
|
+
arquivo de integração gerado e enxuto, em vez de um documento mantido manualmente para
|
|
141
|
+
cada ferramenta.
|
|
142
|
+
- **Melhorias de economia de tokens e de invocação de skills** no núcleo do framework.
|
|
143
|
+
|
|
144
|
+
Este é um fork independente, feito pela comunidade — **não** é afiliado nem endossado pelo
|
|
145
|
+
Renato Asse ou pela Comunidade Sem Codar. Se você quiser o projeto oficial, use
|
|
146
|
+
[`npx opensquad init`](https://github.com/renatoasse/opensquad).
|
|
147
|
+
|
|
148
|
+
## Licença
|
|
149
|
+
|
|
150
|
+
MIT — veja [LICENSE](LICENSE). Framework OpenSquad original © Renato Asse, também MIT.
|