crewx 0.8.1 → 0.8.2-rc.2
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/README.md +268 -268
- package/bin/cli-commands.js +34 -0
- package/bin/crewx-lib.js +213 -108
- package/bin/crewx-ui.js +83 -83
- package/bin/crewx.js +219 -147
- package/bin/launcher-flags.js +29 -0
- package/bin/package.json +1 -1
- package/dist/assets/MarketPage-DptjaFpT.js +36 -0
- package/dist/assets/{PromptTab-DVKc7hJY.js → PromptTab-DZha2_v1.js} +1 -1
- package/dist/assets/{_baseUniq-wjlVo2E6.js → _baseUniq-jd6NubI3.js} +1 -1
- package/dist/assets/{arc-BfPgRtzW.js → arc-C2te3-8P.js} +1 -1
- package/dist/assets/{architectureDiagram-Q4EWVU46-ewcueFAG.js → architectureDiagram-Q4EWVU46-CbIQua02.js} +1 -1
- package/dist/assets/{blockDiagram-DXYQGD6D-TxlbbvKn.js → blockDiagram-DXYQGD6D-Cg7qkpSM.js} +1 -1
- package/dist/assets/{c4Diagram-AHTNJAMY-C1lT_bl_.js → c4Diagram-AHTNJAMY-BkffDY1F.js} +1 -1
- package/dist/assets/channel-beae0DeI.js +1 -0
- package/dist/assets/chatgpt-logo-dark.svg +15 -15
- package/dist/assets/chatgpt-logo.svg +15 -15
- package/dist/assets/{chunk-4BX2VUAB-C41j2mCL.js → chunk-4BX2VUAB-BxHe9wPE.js} +1 -1
- package/dist/assets/{chunk-4TB4RGXK-HNNsUbz0.js → chunk-4TB4RGXK--f1tN90O.js} +1 -1
- package/dist/assets/{chunk-55IACEB6-qtCgO0r2.js → chunk-55IACEB6-B5QXfPXQ.js} +1 -1
- package/dist/assets/{chunk-EDXVE4YY-BSnDYtsd.js → chunk-EDXVE4YY-DqKhblOg.js} +1 -1
- package/dist/assets/{chunk-FMBD7UC4-DyHRLQqX.js → chunk-FMBD7UC4-DZ1w_G02.js} +1 -1
- package/dist/assets/{chunk-OYMX7WX6-CCjfi6WS.js → chunk-OYMX7WX6-BqAgQpv8.js} +1 -1
- package/dist/assets/{chunk-QZHKN3VN-COLty8kd.js → chunk-QZHKN3VN-DPqnGqVi.js} +1 -1
- package/dist/assets/{chunk-YZCP3GAM-CHUUnGeN.js → chunk-YZCP3GAM-x-ZYSQLd.js} +1 -1
- package/dist/assets/classDiagram-6PBFFD2Q-BquWrs1y.js +1 -0
- package/dist/assets/classDiagram-v2-HSJHXN6E-BquWrs1y.js +1 -0
- package/dist/assets/clone-C9wSPtDN.js +1 -0
- package/dist/assets/{cose-bilkent-S5V4N54A-CSip-V2g.js → cose-bilkent-S5V4N54A-4VCNRP-E.js} +1 -1
- package/dist/assets/{dagre-KV5264BT-DkdpnWhv.js → dagre-KV5264BT-DucVi1QS.js} +1 -1
- package/dist/assets/{diagram-5BDNPKRD-PH4qc6PV.js → diagram-5BDNPKRD-ChdRA8bE.js} +1 -1
- package/dist/assets/{diagram-G4DWMVQ6-Cg5xZcjx.js → diagram-G4DWMVQ6-B1-97yHr.js} +1 -1
- package/dist/assets/{diagram-MMDJMWI5-soKmeTCW.js → diagram-MMDJMWI5-CQs3cO7G.js} +1 -1
- package/dist/assets/{diagram-TYMM5635-Daq5Mihu.js → diagram-TYMM5635-CuNCxDfO.js} +1 -1
- package/dist/assets/{erDiagram-SMLLAGMA-kr2OtY0Y.js → erDiagram-SMLLAGMA-DdR8v8g-.js} +1 -1
- package/dist/assets/{flowDiagram-DWJPFMVM-DQZCb8gm.js → flowDiagram-DWJPFMVM-Dt02upId.js} +1 -1
- package/dist/assets/{ganttDiagram-T4ZO3ILL-BHkn485T.js → ganttDiagram-T4ZO3ILL-cG_k9VOa.js} +1 -1
- package/dist/assets/{gitGraphDiagram-UUTBAWPF-FaCyYFmC.js → gitGraphDiagram-UUTBAWPF-Dz1DjhKq.js} +1 -1
- package/dist/assets/{graph-BVJlrP6V.js → graph-CF2NtM33.js} +1 -1
- package/dist/assets/{infoDiagram-42DDH7IO-DJOWkKdM.js → infoDiagram-42DDH7IO-tQWKrYM6.js} +1 -1
- package/dist/assets/{ishikawaDiagram-UXIWVN3A-VfpvNaIf.js → ishikawaDiagram-UXIWVN3A-CLuUMkF0.js} +1 -1
- package/dist/assets/{journeyDiagram-VCZTEJTY-CPzsak-v.js → journeyDiagram-VCZTEJTY-a6JenLCk.js} +1 -1
- package/dist/assets/{kanban-definition-6JOO6SKY-DFqLDBU0.js → kanban-definition-6JOO6SKY-rqOxTzYb.js} +1 -1
- package/dist/assets/{layout-CCSbNPHm.js → layout-Dvic1Hpy.js} +1 -1
- package/dist/assets/{linear-C4T7PCKE.js → linear-CfMV1S6a.js} +1 -1
- package/dist/assets/main-05K4ggqd.css +10 -0
- package/dist/assets/main-CCM1gtr8.js +1165 -0
- package/dist/assets/{min-CGQNEYGh.js → min-GpF3DZux.js} +1 -1
- package/dist/assets/{mindmap-definition-QFDTVHPH-AuU1EqwS.js → mindmap-definition-QFDTVHPH-Cg80z0Jx.js} +1 -1
- package/dist/assets/{pieDiagram-DEJITSTG-CopkCZwp.js → pieDiagram-DEJITSTG-BrtK7lAq.js} +1 -1
- package/dist/assets/{quadrantDiagram-34T5L4WZ-lMKrSv_t.js → quadrantDiagram-34T5L4WZ-BL2txAAS.js} +1 -1
- package/dist/assets/{requirementDiagram-MS252O5E-dWUpHOFb.js → requirementDiagram-MS252O5E-Co3wpBnu.js} +1 -1
- package/dist/assets/{sankeyDiagram-XADWPNL6-C8UQx9Bb.js → sankeyDiagram-XADWPNL6-B4KJXdQ4.js} +1 -1
- package/dist/assets/{sequenceDiagram-FGHM5R23-CUVNIItJ.js → sequenceDiagram-FGHM5R23-xs5OuzvV.js} +1 -1
- package/dist/assets/{stateDiagram-FHFEXIEX-Ct0GamGl.js → stateDiagram-FHFEXIEX-bbEP20JD.js} +1 -1
- package/dist/assets/stateDiagram-v2-QKLJ7IA2-XYh9U1A7.js +1 -0
- package/dist/assets/{timeline-definition-GMOUNBTQ-ul8Po7f7.js → timeline-definition-GMOUNBTQ-CTc2wVwC.js} +1 -1
- package/dist/assets/{vennDiagram-DHZGUBPP-B4AOWQnP.js → vennDiagram-DHZGUBPP-oJpXott7.js} +1 -1
- package/dist/assets/{wardley-RL74JXVD-Dr7Wp3AJ.js → wardley-RL74JXVD-aTmOXkKh.js} +1 -1
- package/dist/assets/{wardleyDiagram-NUSXRM2D-Ck70faXX.js → wardleyDiagram-NUSXRM2D-C83SOkig.js} +1 -1
- package/dist/assets/{xychartDiagram-5P7HB3ND-Bsy5-cNt.js → xychartDiagram-5P7HB3ND-BScws0tF.js} +1 -1
- package/dist/index.html +13 -13
- package/dist-electron/main.js +153 -116
- package/dist-electron/overlay.js +102 -65
- package/dist-electron/package.json +1 -0
- package/dist-electron/preload.js +8 -8
- package/dist-server/bootstrap/crewx-server.js +19 -10
- package/dist-server/domain/agent/agent.service.js +12 -0
- package/dist-server/domain/agent/dto/update-agent.dto.js +20 -1
- package/dist-server/domain/mcp/crewx-tool.factory.js +44 -113
- package/dist-server/domain/mcp/mcp.module.js +2 -0
- package/dist-server/domain/mcp/mcp.service.js +37 -12
- package/dist-server/domain/message/message.service.js +21 -13
- package/dist-server/domain/skill/skill.service.js +63 -43
- package/dist-server/domain/task/task.module.js +2 -0
- package/dist-server/domain/task/task.service.js +17 -10
- package/dist-server/domain/thread/dto/update-thread.dto.js +23 -0
- package/dist-server/domain/thread/thread.controller.js +16 -0
- package/dist-server/domain/thread/thread.service.js +9 -0
- package/dist-server/main.js +1 -1
- package/dist-server/modules/crewx.module.js +16 -1
- package/dist-server/repository/box.repository.js +20 -20
- package/dist-server/repository/project.repository.js +13 -13
- package/dist-server/repository/request-log.repository.js +10 -10
- package/dist-server/repository/task.repository.js +72 -72
- package/dist-server/repository/thread.repository.js +78 -58
- package/package.json +6 -6
- package/packages/cli/dist/bootstrap/crewx-cli.js +12 -0
- package/packages/cli/dist/commands/agent.js +23 -23
- package/packages/cli/dist/commands/init.js +19 -19
- package/packages/cli/dist/commands/parse-common-flags.d.ts +19 -3
- package/packages/cli/dist/commands/parse-common-flags.js +46 -6
- package/packages/cli/dist/commands/registry.d.ts +13 -0
- package/packages/cli/dist/commands/registry.js +29 -0
- package/packages/cli/dist/commands/task-db.js +7 -7
- package/packages/cli/dist/examples/deny-secrets-plugin.d.ts +22 -0
- package/packages/cli/dist/examples/deny-secrets-plugin.js +40 -0
- package/packages/cli/dist/main.js +134 -68
- package/packages/cli/dist/plugins/examples/echo-hook.d.ts +24 -0
- package/packages/cli/dist/plugins/examples/echo-hook.js +60 -0
- package/packages/cli/dist/plugins/examples/verify-echo-hook.d.ts +8 -0
- package/packages/cli/dist/plugins/examples/verify-echo-hook.js +47 -0
- package/packages/cli/dist/plugins/sqlite-tracing.d.ts +11 -0
- package/packages/cli/dist/plugins/sqlite-tracing.js +19 -0
- package/packages/cli/dist/schema/tasks.d.ts +7 -0
- package/packages/cli/dist/schema/tasks.js +48 -0
- package/packages/cli/package.json +52 -52
- package/scripts/analyze-task-logs.mjs +569 -0
- package/scripts/build-manual.mjs +266 -266
- package/scripts/emit-dist-server-package-json.mjs +7 -7
- package/scripts/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/scripts/postinstall.mjs +44 -44
- package/scripts/smoke-tarball.mjs +285 -285
- package/scripts/snapshot-msg-list.sh +52 -52
- package/server.js +167 -164
- package/dist/assets/MarketPage-Dwsg6K-B.js +0 -31
- package/dist/assets/channel-BP4PNMmz.js +0 -1
- package/dist/assets/classDiagram-6PBFFD2Q-Upr3UAcM.js +0 -1
- package/dist/assets/classDiagram-v2-HSJHXN6E-Upr3UAcM.js +0 -1
- package/dist/assets/clone-B8BP7ReZ.js +0 -1
- package/dist/assets/main-CELBpK6r.js +0 -1166
- package/dist/assets/main-CmP-VosD.css +0 -10
- package/dist/assets/stateDiagram-v2-QKLJ7IA2-CFBLQDEx.js +0 -1
- package/dist-server/domain/task/dto/project-usage.dto.js +0 -38
- package/dist-server/domain/thread/dto/send-message.dto.js +0 -10
package/README.md
CHANGED
|
@@ -1,268 +1,268 @@
|
|
|
1
|
-
# CrewX
|
|
2
|
-
|
|
3
|
-
> Build your AI agent team — bring any model, orchestrate any workflow
|
|
4
|
-
|
|
5
|
-
[](https://www.npmjs.com/package/crewx)
|
|
6
|
-
[](https://nodejs.org/)
|
|
7
|
-
[](#license)
|
|
8
|
-
|
|
9
|
-
## What is CrewX?
|
|
10
|
-
|
|
11
|
-
CrewX is a developer tool for building and managing AI agent teams. Define agents in YAML, wire them into workflows, and let them collaborate using built-in tools — all from a single CLI or web dashboard.
|
|
12
|
-
|
|
13
|
-
- **Bring Your Own AI** — Claude, Gemini, Copilot, Codex, or any OpenAI-compatible model
|
|
14
|
-
- **One command to start** — `npx crewx` launches everything
|
|
15
|
-
- **Team orchestration** — agents work together through threads, workflows, and shared memory
|
|
16
|
-
|
|
17
|
-
## Quick Start
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
npx crewx
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
That's it. This launches the CrewX dashboard at `http://localhost:8150` where you can manage agents, create threads, and monitor workflows.
|
|
24
|
-
|
|
25
|
-
### Initialize a new project
|
|
26
|
-
|
|
27
|
-
```bash
|
|
28
|
-
npx crewx init
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
This creates a `crewx.yaml` in your project with default agents and settings.
|
|
32
|
-
|
|
33
|
-
### Talk to your agents
|
|
34
|
-
|
|
35
|
-
```bash
|
|
36
|
-
# Ask a question (query mode)
|
|
37
|
-
npx crewx q "@claude review this codebase"
|
|
38
|
-
|
|
39
|
-
# Execute a task (agents can edit files)
|
|
40
|
-
npx crewx x "@copilot implement login component"
|
|
41
|
-
|
|
42
|
-
# Multi-agent collaboration
|
|
43
|
-
npx crewx q "@claude @gemini compare approaches for caching"
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
## Key Features
|
|
47
|
-
|
|
48
|
-
### BYOA (Bring Your Own AI)
|
|
49
|
-
|
|
50
|
-
Use your existing AI subscriptions — or run fully local with Ollama. No vendor lock-in.
|
|
51
|
-
|
|
52
|
-
| Provider | CLI | Status |
|
|
53
|
-
|----------|-----|--------|
|
|
54
|
-
| Claude | `claude` | Supported |
|
|
55
|
-
| Gemini | `gemini` | Supported |
|
|
56
|
-
| GitHub Copilot | `copilot` | Supported |
|
|
57
|
-
| Codex | `codex` | Supported |
|
|
58
|
-
| Ollama (local LLM) | API provider | Supported |
|
|
59
|
-
| OpenAI-compatible | API provider | Supported |
|
|
60
|
-
|
|
61
|
-
Build a **fully local AI team** with Ollama — no cloud, no API costs, complete data privacy. Mix and match cloud and local models in the same team.
|
|
62
|
-
|
|
63
|
-
### Agent Teams
|
|
64
|
-
|
|
65
|
-
Define your team in `crewx.yaml`:
|
|
66
|
-
|
|
67
|
-
```yaml
|
|
68
|
-
agents:
|
|
69
|
-
- id: reviewer
|
|
70
|
-
name: Code Reviewer
|
|
71
|
-
provider: cli/claude
|
|
72
|
-
inline:
|
|
73
|
-
model: claude-sonnet-4-6
|
|
74
|
-
prompt: |
|
|
75
|
-
You are a senior code reviewer.
|
|
76
|
-
Focus on correctness, performance, and security.
|
|
77
|
-
|
|
78
|
-
- id: implementer
|
|
79
|
-
name: Implementer
|
|
80
|
-
provider: cli/copilot
|
|
81
|
-
inline:
|
|
82
|
-
prompt: |
|
|
83
|
-
You are a full-stack developer.
|
|
84
|
-
Write clean, tested code following project conventions.
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
### Thread Conversations
|
|
88
|
-
|
|
89
|
-
Thread-based conversations keep context across multiple interactions. Agents remember previous messages and can build on each other's work.
|
|
90
|
-
|
|
91
|
-
```bash
|
|
92
|
-
# Start a thread
|
|
93
|
-
npx crewx q "@reviewer review PR #42" --thread="pr-42-review"
|
|
94
|
-
|
|
95
|
-
# Continue the conversation
|
|
96
|
-
npx crewx q "@implementer fix the issues found" --thread="pr-42-review"
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
### Semantic Workflows
|
|
100
|
-
|
|
101
|
-
Define agent collaboration as semantic workflow YAML — branching, parallel execution, approval gates, and loops:
|
|
102
|
-
|
|
103
|
-
```yaml
|
|
104
|
-
# workflows/code-review.yaml
|
|
105
|
-
workflows:
|
|
106
|
-
code-review:
|
|
107
|
-
metadata:
|
|
108
|
-
name: "Code Review Workflow"
|
|
109
|
-
nodes:
|
|
110
|
-
review:
|
|
111
|
-
type: agent_task
|
|
112
|
-
agent: reviewer
|
|
113
|
-
mode: query
|
|
114
|
-
input: "Review the latest changes for bugs and security issues"
|
|
115
|
-
output: review_result
|
|
116
|
-
next: fix
|
|
117
|
-
|
|
118
|
-
fix:
|
|
119
|
-
type: agent_task
|
|
120
|
-
agent: implementer
|
|
121
|
-
mode: execute
|
|
122
|
-
input: "Fix the issues found: {{review_result}}"
|
|
123
|
-
next: end
|
|
124
|
-
|
|
125
|
-
end:
|
|
126
|
-
type: end
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
### Built-in Tools
|
|
130
|
-
|
|
131
|
-
Each tool is a standalone npm package — install individually or use all out of the box:
|
|
132
|
-
|
|
133
|
-
| Package | npm | Description |
|
|
134
|
-
|---------|-----|-------------|
|
|
135
|
-
| `@crewx/memory` | [](https://www.npmjs.com/package/@crewx/memory) | Persistent agent memory (markdown + frontmatter) |
|
|
136
|
-
| `@crewx/doc` | [](https://www.npmjs.com/package/@crewx/doc) | Document TOC extraction and section reader |
|
|
137
|
-
| `@crewx/search` | [](https://www.npmjs.com/package/@crewx/search) | BM25 full-text code/document search |
|
|
138
|
-
| `@crewx/cron` | [](https://www.npmjs.com/package/@crewx/cron) | Scheduled task execution |
|
|
139
|
-
| `@crewx/wbs` | [](https://www.npmjs.com/package/@crewx/wbs) | Work breakdown structure management |
|
|
140
|
-
| `@crewx/workflow` | [](https://www.npmjs.com/package/@crewx/workflow) | Semantic workflow engine (branch, parallel, approval) |
|
|
141
|
-
| `@crewx/skill` | [](https://www.npmjs.com/package/@crewx/skill) | Reusable skill system (Claude Code compatible) |
|
|
142
|
-
| `@crewx/knowledge-core` | [](https://www.npmjs.com/package/@crewx/knowledge-core) | Knowledge graph engine |
|
|
143
|
-
| `@crewx/shared` | [](https://www.npmjs.com/package/@crewx/shared) | Shared utilities for built-in tools |
|
|
144
|
-
|
|
145
|
-
### Desktop & Server
|
|
146
|
-
|
|
147
|
-
- **Web Dashboard** — `npx crewx` serves a full management UI
|
|
148
|
-
- **Electron Desktop App** — native app with the same features
|
|
149
|
-
- **MCP Server** — JSON-RPC 2.0 endpoint for IDE integration (Claude Code, Cursor, etc.)
|
|
150
|
-
|
|
151
|
-
## Use Cases
|
|
152
|
-
|
|
153
|
-
### Development Workflow Automation
|
|
154
|
-
Set up AI-powered code review, testing, and deployment pipelines. Multiple agents handle different stages of your development process.
|
|
155
|
-
|
|
156
|
-
### Team Productivity
|
|
157
|
-
Distribute tasks across specialized agents. A reviewer checks code quality while an implementer writes features — in parallel.
|
|
158
|
-
|
|
159
|
-
### AI-Powered Business Automation
|
|
160
|
-
Build agent teams that handle business processes end-to-end. From customer research to content generation, agents collaborate through workflows and shared knowledge.
|
|
161
|
-
|
|
162
|
-
## Supported Providers
|
|
163
|
-
|
|
164
|
-
### CLI Providers
|
|
165
|
-
Use AI tools you already have installed:
|
|
166
|
-
|
|
167
|
-
| Provider | CLI | Notes |
|
|
168
|
-
|----------|-----|-------|
|
|
169
|
-
| Claude (Anthropic) | `claude` | Complex reasoning, system design |
|
|
170
|
-
| Gemini (Google) | `gemini` | Research, data analysis |
|
|
171
|
-
| GitHub Copilot | `copilot` | Code generation |
|
|
172
|
-
| Codex (OpenAI) | `codex` | General-purpose coding |
|
|
173
|
-
|
|
174
|
-
### API Providers
|
|
175
|
-
Connect any API-compatible model — including local LLMs:
|
|
176
|
-
|
|
177
|
-
| Provider | Type | Notes |
|
|
178
|
-
|----------|------|-------|
|
|
179
|
-
| Ollama | Local LLM | Run fully local — zero cloud, zero cost, full privacy |
|
|
180
|
-
| OpenAI API | Cloud API | GPT-4o, o1, etc. |
|
|
181
|
-
| OpenAI-compatible | Cloud/Local | Any endpoint following OpenAI API spec |
|
|
182
|
-
|
|
183
|
-
Mix CLI and API providers in the same team. For example, Claude for planning + Ollama for execution — best of both worlds.
|
|
184
|
-
|
|
185
|
-
## Requirements
|
|
186
|
-
|
|
187
|
-
- **Node.js** >= 22 (required by Copilot CLI provider)
|
|
188
|
-
- **OS**: macOS, Windows, or Linux
|
|
189
|
-
- At least one AI CLI installed: `claude`, `gemini`, `copilot`, or `codex`
|
|
190
|
-
|
|
191
|
-
## Configuration
|
|
192
|
-
|
|
193
|
-
### Minimal `crewx.yaml`
|
|
194
|
-
|
|
195
|
-
```yaml
|
|
196
|
-
agents:
|
|
197
|
-
- id: assistant
|
|
198
|
-
provider: cli/claude
|
|
199
|
-
inline:
|
|
200
|
-
prompt: "You are a helpful coding assistant."
|
|
201
|
-
```
|
|
202
|
-
|
|
203
|
-
### Full example with skills and workflows
|
|
204
|
-
|
|
205
|
-
```yaml
|
|
206
|
-
skills:
|
|
207
|
-
paths:
|
|
208
|
-
- ./skills # Custom skill directory
|
|
209
|
-
|
|
210
|
-
agents:
|
|
211
|
-
- id: lead
|
|
212
|
-
name: Tech Lead
|
|
213
|
-
provider: cli/claude
|
|
214
|
-
skills:
|
|
215
|
-
include:
|
|
216
|
-
- code-reviewer
|
|
217
|
-
- api-designer
|
|
218
|
-
inline:
|
|
219
|
-
model: claude-opus-4-6
|
|
220
|
-
prompt: |
|
|
221
|
-
You are a tech lead responsible for architecture decisions
|
|
222
|
-
and code quality.
|
|
223
|
-
|
|
224
|
-
- id: dev
|
|
225
|
-
name: Developer
|
|
226
|
-
provider: cli/copilot
|
|
227
|
-
inline:
|
|
228
|
-
prompt: |
|
|
229
|
-
You are a full-stack developer.
|
|
230
|
-
Follow the tech lead's guidance.
|
|
231
|
-
```
|
|
232
|
-
|
|
233
|
-
### CLI Commands
|
|
234
|
-
|
|
235
|
-
| Command | Description |
|
|
236
|
-
|---------|-------------|
|
|
237
|
-
| `npx crewx` | Launch web dashboard |
|
|
238
|
-
| `npx crewx init` | Initialize project with `crewx.yaml` |
|
|
239
|
-
| `npx crewx q "@agent message"` | Query an agent (read-only) |
|
|
240
|
-
| `npx crewx x "@agent message"` | Execute a task (can edit files) |
|
|
241
|
-
| `npx crewx agent list` | List configured agents |
|
|
242
|
-
| `npx crewx doctor` | Check system health |
|
|
243
|
-
| `npx crewx skill list` | List available skills |
|
|
244
|
-
| `npx crewx workflow list` | List workflows |
|
|
245
|
-
| `npx crewx memory index <agent>` | View agent memory |
|
|
246
|
-
| `npx crewx search "query"` | Full-text search |
|
|
247
|
-
|
|
248
|
-
## Documentation
|
|
249
|
-
|
|
250
|
-
- **Web Dashboard**: Launch with `npx crewx` and explore at `http://localhost:8150`
|
|
251
|
-
- **API Reference**: Swagger UI available at `http://localhost:8150/api/docs`
|
|
252
|
-
- **Contributing**: See [CONTRIBUTING.md](CONTRIBUTING.md)
|
|
253
|
-
|
|
254
|
-
## License
|
|
255
|
-
|
|
256
|
-
CrewX is built on an open-source CLI engine:
|
|
257
|
-
|
|
258
|
-
| Component | License | Notes |
|
|
259
|
-
|-----------|---------|-------|
|
|
260
|
-
| CLI Engine + SDK | Apache-2.0 | Open source — [sowonlabs/crewx](https://github.com/sowonlabs/crewx) |
|
|
261
|
-
| Built-in Tools (`@crewx/*`) | Proprietary | Free to use via npm, source not published |
|
|
262
|
-
| Web UI + Server | Proprietary | Included in this package |
|
|
263
|
-
|
|
264
|
-
The open-source CLI ([sowonlabs/crewx](https://github.com/sowonlabs/crewx)) is the foundation of this project. New CLI features are developed here first and periodically contributed back to the open-source repository.
|
|
265
|
-
|
|
266
|
-
---
|
|
267
|
-
|
|
268
|
-
**[SowonLabs](https://sowonlabs.com)** | [GitHub](https://github.com/sowonlabs/crewx) | hello@sowonlabs.com
|
|
1
|
+
# CrewX
|
|
2
|
+
|
|
3
|
+
> Build your AI agent team — bring any model, orchestrate any workflow
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/crewx)
|
|
6
|
+
[](https://nodejs.org/)
|
|
7
|
+
[](#license)
|
|
8
|
+
|
|
9
|
+
## What is CrewX?
|
|
10
|
+
|
|
11
|
+
CrewX is a developer tool for building and managing AI agent teams. Define agents in YAML, wire them into workflows, and let them collaborate using built-in tools — all from a single CLI or web dashboard.
|
|
12
|
+
|
|
13
|
+
- **Bring Your Own AI** — Claude, Gemini, Copilot, Codex, or any OpenAI-compatible model
|
|
14
|
+
- **One command to start** — `npx crewx` launches everything
|
|
15
|
+
- **Team orchestration** — agents work together through threads, workflows, and shared memory
|
|
16
|
+
|
|
17
|
+
## Quick Start
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
npx crewx
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
That's it. This launches the CrewX dashboard at `http://localhost:8150` where you can manage agents, create threads, and monitor workflows.
|
|
24
|
+
|
|
25
|
+
### Initialize a new project
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
npx crewx init
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
This creates a `crewx.yaml` in your project with default agents and settings.
|
|
32
|
+
|
|
33
|
+
### Talk to your agents
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
# Ask a question (query mode)
|
|
37
|
+
npx crewx q "@claude review this codebase"
|
|
38
|
+
|
|
39
|
+
# Execute a task (agents can edit files)
|
|
40
|
+
npx crewx x "@copilot implement login component"
|
|
41
|
+
|
|
42
|
+
# Multi-agent collaboration
|
|
43
|
+
npx crewx q "@claude @gemini compare approaches for caching"
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Key Features
|
|
47
|
+
|
|
48
|
+
### BYOA (Bring Your Own AI)
|
|
49
|
+
|
|
50
|
+
Use your existing AI subscriptions — or run fully local with Ollama. No vendor lock-in.
|
|
51
|
+
|
|
52
|
+
| Provider | CLI | Status |
|
|
53
|
+
|----------|-----|--------|
|
|
54
|
+
| Claude | `claude` | Supported |
|
|
55
|
+
| Gemini | `gemini` | Supported |
|
|
56
|
+
| GitHub Copilot | `copilot` | Supported |
|
|
57
|
+
| Codex | `codex` | Supported |
|
|
58
|
+
| Ollama (local LLM) | API provider | Supported |
|
|
59
|
+
| OpenAI-compatible | API provider | Supported |
|
|
60
|
+
|
|
61
|
+
Build a **fully local AI team** with Ollama — no cloud, no API costs, complete data privacy. Mix and match cloud and local models in the same team.
|
|
62
|
+
|
|
63
|
+
### Agent Teams
|
|
64
|
+
|
|
65
|
+
Define your team in `crewx.yaml`:
|
|
66
|
+
|
|
67
|
+
```yaml
|
|
68
|
+
agents:
|
|
69
|
+
- id: reviewer
|
|
70
|
+
name: Code Reviewer
|
|
71
|
+
provider: cli/claude
|
|
72
|
+
inline:
|
|
73
|
+
model: claude-sonnet-4-6
|
|
74
|
+
prompt: |
|
|
75
|
+
You are a senior code reviewer.
|
|
76
|
+
Focus on correctness, performance, and security.
|
|
77
|
+
|
|
78
|
+
- id: implementer
|
|
79
|
+
name: Implementer
|
|
80
|
+
provider: cli/copilot
|
|
81
|
+
inline:
|
|
82
|
+
prompt: |
|
|
83
|
+
You are a full-stack developer.
|
|
84
|
+
Write clean, tested code following project conventions.
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Thread Conversations
|
|
88
|
+
|
|
89
|
+
Thread-based conversations keep context across multiple interactions. Agents remember previous messages and can build on each other's work.
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
# Start a thread
|
|
93
|
+
npx crewx q "@reviewer review PR #42" --thread="pr-42-review"
|
|
94
|
+
|
|
95
|
+
# Continue the conversation
|
|
96
|
+
npx crewx q "@implementer fix the issues found" --thread="pr-42-review"
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### Semantic Workflows
|
|
100
|
+
|
|
101
|
+
Define agent collaboration as semantic workflow YAML — branching, parallel execution, approval gates, and loops:
|
|
102
|
+
|
|
103
|
+
```yaml
|
|
104
|
+
# workflows/code-review.yaml
|
|
105
|
+
workflows:
|
|
106
|
+
code-review:
|
|
107
|
+
metadata:
|
|
108
|
+
name: "Code Review Workflow"
|
|
109
|
+
nodes:
|
|
110
|
+
review:
|
|
111
|
+
type: agent_task
|
|
112
|
+
agent: reviewer
|
|
113
|
+
mode: query
|
|
114
|
+
input: "Review the latest changes for bugs and security issues"
|
|
115
|
+
output: review_result
|
|
116
|
+
next: fix
|
|
117
|
+
|
|
118
|
+
fix:
|
|
119
|
+
type: agent_task
|
|
120
|
+
agent: implementer
|
|
121
|
+
mode: execute
|
|
122
|
+
input: "Fix the issues found: {{review_result}}"
|
|
123
|
+
next: end
|
|
124
|
+
|
|
125
|
+
end:
|
|
126
|
+
type: end
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### Built-in Tools
|
|
130
|
+
|
|
131
|
+
Each tool is a standalone npm package — install individually or use all out of the box:
|
|
132
|
+
|
|
133
|
+
| Package | npm | Description |
|
|
134
|
+
|---------|-----|-------------|
|
|
135
|
+
| `@crewx/memory` | [](https://www.npmjs.com/package/@crewx/memory) | Persistent agent memory (markdown + frontmatter) |
|
|
136
|
+
| `@crewx/doc` | [](https://www.npmjs.com/package/@crewx/doc) | Document TOC extraction and section reader |
|
|
137
|
+
| `@crewx/search` | [](https://www.npmjs.com/package/@crewx/search) | BM25 full-text code/document search |
|
|
138
|
+
| `@crewx/cron` | [](https://www.npmjs.com/package/@crewx/cron) | Scheduled task execution |
|
|
139
|
+
| `@crewx/wbs` | [](https://www.npmjs.com/package/@crewx/wbs) | Work breakdown structure management |
|
|
140
|
+
| `@crewx/workflow` | [](https://www.npmjs.com/package/@crewx/workflow) | Semantic workflow engine (branch, parallel, approval) |
|
|
141
|
+
| `@crewx/skill` | [](https://www.npmjs.com/package/@crewx/skill) | Reusable skill system (Claude Code compatible) |
|
|
142
|
+
| `@crewx/knowledge-core` | [](https://www.npmjs.com/package/@crewx/knowledge-core) | Knowledge graph engine |
|
|
143
|
+
| `@crewx/shared` | [](https://www.npmjs.com/package/@crewx/shared) | Shared utilities for built-in tools |
|
|
144
|
+
|
|
145
|
+
### Desktop & Server
|
|
146
|
+
|
|
147
|
+
- **Web Dashboard** — `npx crewx` serves a full management UI
|
|
148
|
+
- **Electron Desktop App** — native app with the same features
|
|
149
|
+
- **MCP Server** — JSON-RPC 2.0 endpoint for IDE integration (Claude Code, Cursor, etc.)
|
|
150
|
+
|
|
151
|
+
## Use Cases
|
|
152
|
+
|
|
153
|
+
### Development Workflow Automation
|
|
154
|
+
Set up AI-powered code review, testing, and deployment pipelines. Multiple agents handle different stages of your development process.
|
|
155
|
+
|
|
156
|
+
### Team Productivity
|
|
157
|
+
Distribute tasks across specialized agents. A reviewer checks code quality while an implementer writes features — in parallel.
|
|
158
|
+
|
|
159
|
+
### AI-Powered Business Automation
|
|
160
|
+
Build agent teams that handle business processes end-to-end. From customer research to content generation, agents collaborate through workflows and shared knowledge.
|
|
161
|
+
|
|
162
|
+
## Supported Providers
|
|
163
|
+
|
|
164
|
+
### CLI Providers
|
|
165
|
+
Use AI tools you already have installed:
|
|
166
|
+
|
|
167
|
+
| Provider | CLI | Notes |
|
|
168
|
+
|----------|-----|-------|
|
|
169
|
+
| Claude (Anthropic) | `claude` | Complex reasoning, system design |
|
|
170
|
+
| Gemini (Google) | `gemini` | Research, data analysis |
|
|
171
|
+
| GitHub Copilot | `copilot` | Code generation |
|
|
172
|
+
| Codex (OpenAI) | `codex` | General-purpose coding |
|
|
173
|
+
|
|
174
|
+
### API Providers
|
|
175
|
+
Connect any API-compatible model — including local LLMs:
|
|
176
|
+
|
|
177
|
+
| Provider | Type | Notes |
|
|
178
|
+
|----------|------|-------|
|
|
179
|
+
| Ollama | Local LLM | Run fully local — zero cloud, zero cost, full privacy |
|
|
180
|
+
| OpenAI API | Cloud API | GPT-4o, o1, etc. |
|
|
181
|
+
| OpenAI-compatible | Cloud/Local | Any endpoint following OpenAI API spec |
|
|
182
|
+
|
|
183
|
+
Mix CLI and API providers in the same team. For example, Claude for planning + Ollama for execution — best of both worlds.
|
|
184
|
+
|
|
185
|
+
## Requirements
|
|
186
|
+
|
|
187
|
+
- **Node.js** >= 22 (required by Copilot CLI provider)
|
|
188
|
+
- **OS**: macOS, Windows, or Linux
|
|
189
|
+
- At least one AI CLI installed: `claude`, `gemini`, `copilot`, or `codex`
|
|
190
|
+
|
|
191
|
+
## Configuration
|
|
192
|
+
|
|
193
|
+
### Minimal `crewx.yaml`
|
|
194
|
+
|
|
195
|
+
```yaml
|
|
196
|
+
agents:
|
|
197
|
+
- id: assistant
|
|
198
|
+
provider: cli/claude
|
|
199
|
+
inline:
|
|
200
|
+
prompt: "You are a helpful coding assistant."
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
### Full example with skills and workflows
|
|
204
|
+
|
|
205
|
+
```yaml
|
|
206
|
+
skills:
|
|
207
|
+
paths:
|
|
208
|
+
- ./skills # Custom skill directory
|
|
209
|
+
|
|
210
|
+
agents:
|
|
211
|
+
- id: lead
|
|
212
|
+
name: Tech Lead
|
|
213
|
+
provider: cli/claude
|
|
214
|
+
skills:
|
|
215
|
+
include:
|
|
216
|
+
- code-reviewer
|
|
217
|
+
- api-designer
|
|
218
|
+
inline:
|
|
219
|
+
model: claude-opus-4-6
|
|
220
|
+
prompt: |
|
|
221
|
+
You are a tech lead responsible for architecture decisions
|
|
222
|
+
and code quality.
|
|
223
|
+
|
|
224
|
+
- id: dev
|
|
225
|
+
name: Developer
|
|
226
|
+
provider: cli/copilot
|
|
227
|
+
inline:
|
|
228
|
+
prompt: |
|
|
229
|
+
You are a full-stack developer.
|
|
230
|
+
Follow the tech lead's guidance.
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
### CLI Commands
|
|
234
|
+
|
|
235
|
+
| Command | Description |
|
|
236
|
+
|---------|-------------|
|
|
237
|
+
| `npx crewx` | Launch web dashboard |
|
|
238
|
+
| `npx crewx init` | Initialize project with `crewx.yaml` |
|
|
239
|
+
| `npx crewx q "@agent message"` | Query an agent (read-only) |
|
|
240
|
+
| `npx crewx x "@agent message"` | Execute a task (can edit files) |
|
|
241
|
+
| `npx crewx agent list` | List configured agents |
|
|
242
|
+
| `npx crewx doctor` | Check system health |
|
|
243
|
+
| `npx crewx skill list` | List available skills |
|
|
244
|
+
| `npx crewx workflow list` | List workflows |
|
|
245
|
+
| `npx crewx memory index <agent>` | View agent memory |
|
|
246
|
+
| `npx crewx search "query"` | Full-text search |
|
|
247
|
+
|
|
248
|
+
## Documentation
|
|
249
|
+
|
|
250
|
+
- **Web Dashboard**: Launch with `npx crewx` and explore at `http://localhost:8150`
|
|
251
|
+
- **API Reference**: Swagger UI available at `http://localhost:8150/api/docs`
|
|
252
|
+
- **Contributing**: See [CONTRIBUTING.md](CONTRIBUTING.md)
|
|
253
|
+
|
|
254
|
+
## License
|
|
255
|
+
|
|
256
|
+
CrewX is built on an open-source CLI engine:
|
|
257
|
+
|
|
258
|
+
| Component | License | Notes |
|
|
259
|
+
|-----------|---------|-------|
|
|
260
|
+
| CLI Engine + SDK | Apache-2.0 | Open source — [sowonlabs/crewx](https://github.com/sowonlabs/crewx) |
|
|
261
|
+
| Built-in Tools (`@crewx/*`) | Proprietary | Free to use via npm, source not published |
|
|
262
|
+
| Web UI + Server | Proprietary | Included in this package |
|
|
263
|
+
|
|
264
|
+
The open-source CLI ([sowonlabs/crewx](https://github.com/sowonlabs/crewx)) is the foundation of this project. New CLI features are developed here first and periodically contributed back to the open-source repository.
|
|
265
|
+
|
|
266
|
+
---
|
|
267
|
+
|
|
268
|
+
**[SowonLabs](https://sowonlabs.com)** | [GitHub](https://github.com/sowonlabs/crewx) | hello@sowonlabs.com
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SSOT for CLI subcommand whitelist.
|
|
3
|
+
*
|
|
4
|
+
* These are all commands that the launcher routes to the CLI engine (packages/cli).
|
|
5
|
+
* Must stay in sync with KNOWN_COMMANDS ∪ BUILTIN_COMMAND_NAMES ∪ NOT_YET_MIGRATED
|
|
6
|
+
* in packages/cli/src/commands/registry.ts.
|
|
7
|
+
*
|
|
8
|
+
* Verified by bin/__tests__/crewx-entrypoint.test.ts SSOT assertion test.
|
|
9
|
+
*/
|
|
10
|
+
export const CLI_SUBCOMMANDS = new Set([
|
|
11
|
+
// Query / Execute
|
|
12
|
+
'q', 'query',
|
|
13
|
+
'x', 'execute',
|
|
14
|
+
|
|
15
|
+
// Agent / Task
|
|
16
|
+
'agent',
|
|
17
|
+
'ps', 'kill', 'result', 'log',
|
|
18
|
+
|
|
19
|
+
// Diagnostics / Init
|
|
20
|
+
'doctor', 'init',
|
|
21
|
+
'help',
|
|
22
|
+
|
|
23
|
+
// Built-in tools
|
|
24
|
+
'memory', 'search', 'doc', 'wbs', 'cron', 'workflow', 'skill',
|
|
25
|
+
|
|
26
|
+
// Hook platform
|
|
27
|
+
'hook', 'hook-dispatch',
|
|
28
|
+
|
|
29
|
+
// Slack / Adapters
|
|
30
|
+
'slack', 'slack:files',
|
|
31
|
+
|
|
32
|
+
// Not-yet-migrated
|
|
33
|
+
'template', 'templates', 'chat', 'mcp',
|
|
34
|
+
]);
|