crewx 0.3.0 → 0.4.0-dev.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.
Files changed (233) hide show
  1. package/bin/crewx.js +6 -0
  2. package/package.json +9 -107
  3. package/LICENSE +0 -201
  4. package/README.md +0 -234
  5. package/crewx.yaml +0 -2069
  6. package/dist/agent.types.d.ts +0 -117
  7. package/dist/agent.types.js +0 -16
  8. package/dist/agent.types.js.map +0 -1
  9. package/dist/ai-provider.service.d.ts +0 -36
  10. package/dist/ai-provider.service.js +0 -191
  11. package/dist/ai-provider.service.js.map +0 -1
  12. package/dist/ai.service.d.ts +0 -57
  13. package/dist/ai.service.js +0 -629
  14. package/dist/ai.service.js.map +0 -1
  15. package/dist/app.module.d.ts +0 -5
  16. package/dist/app.module.js +0 -103
  17. package/dist/app.module.js.map +0 -1
  18. package/dist/cli/agent.handler.d.ts +0 -2
  19. package/dist/cli/agent.handler.js +0 -140
  20. package/dist/cli/agent.handler.js.map +0 -1
  21. package/dist/cli/chat.handler.d.ts +0 -19
  22. package/dist/cli/chat.handler.js +0 -431
  23. package/dist/cli/chat.handler.js.map +0 -1
  24. package/dist/cli/cli.handler.d.ts +0 -4
  25. package/dist/cli/cli.handler.js +0 -97
  26. package/dist/cli/cli.handler.js.map +0 -1
  27. package/dist/cli/doctor.handler.d.ts +0 -36
  28. package/dist/cli/doctor.handler.js +0 -382
  29. package/dist/cli/doctor.handler.js.map +0 -1
  30. package/dist/cli/execute.handler.d.ts +0 -2
  31. package/dist/cli/execute.handler.js +0 -319
  32. package/dist/cli/execute.handler.js.map +0 -1
  33. package/dist/cli/help.handler.d.ts +0 -2
  34. package/dist/cli/help.handler.js +0 -10
  35. package/dist/cli/help.handler.js.map +0 -1
  36. package/dist/cli/init.handler.d.ts +0 -26
  37. package/dist/cli/init.handler.js +0 -450
  38. package/dist/cli/init.handler.js.map +0 -1
  39. package/dist/cli/mcp.handler.d.ts +0 -3
  40. package/dist/cli/mcp.handler.js +0 -121
  41. package/dist/cli/mcp.handler.js.map +0 -1
  42. package/dist/cli/query.handler.d.ts +0 -2
  43. package/dist/cli/query.handler.js +0 -380
  44. package/dist/cli/query.handler.js.map +0 -1
  45. package/dist/cli/templates.handler.d.ts +0 -2
  46. package/dist/cli/templates.handler.js +0 -100
  47. package/dist/cli/templates.handler.js.map +0 -1
  48. package/dist/cli-options.d.ts +0 -29
  49. package/dist/cli-options.js +0 -234
  50. package/dist/cli-options.js.map +0 -1
  51. package/dist/config/timeout.config.d.ts +0 -14
  52. package/dist/config/timeout.config.js +0 -34
  53. package/dist/config/timeout.config.js.map +0 -1
  54. package/dist/constants.d.ts +0 -4
  55. package/dist/constants.js +0 -8
  56. package/dist/constants.js.map +0 -1
  57. package/dist/conversation/base-conversation-history.provider.d.ts +0 -12
  58. package/dist/conversation/base-conversation-history.provider.js +0 -45
  59. package/dist/conversation/base-conversation-history.provider.js.map +0 -1
  60. package/dist/conversation/cli-conversation-history.provider.d.ts +0 -16
  61. package/dist/conversation/cli-conversation-history.provider.js +0 -111
  62. package/dist/conversation/cli-conversation-history.provider.js.map +0 -1
  63. package/dist/conversation/conversation-config.d.ts +0 -9
  64. package/dist/conversation/conversation-config.js +0 -25
  65. package/dist/conversation/conversation-config.js.map +0 -1
  66. package/dist/conversation/conversation-history.interface.d.ts +0 -25
  67. package/dist/conversation/conversation-history.interface.js +0 -3
  68. package/dist/conversation/conversation-history.interface.js.map +0 -1
  69. package/dist/conversation/conversation-provider.factory.d.ts +0 -10
  70. package/dist/conversation/conversation-provider.factory.js +0 -50
  71. package/dist/conversation/conversation-provider.factory.js.map +0 -1
  72. package/dist/conversation/conversation-storage.service.d.ts +0 -16
  73. package/dist/conversation/conversation-storage.service.js +0 -220
  74. package/dist/conversation/conversation-storage.service.js.map +0 -1
  75. package/dist/conversation/index.d.ts +0 -7
  76. package/dist/conversation/index.js +0 -24
  77. package/dist/conversation/index.js.map +0 -1
  78. package/dist/conversation/slack-conversation-history.provider.d.ts +0 -28
  79. package/dist/conversation/slack-conversation-history.provider.js +0 -278
  80. package/dist/conversation/slack-conversation-history.provider.js.map +0 -1
  81. package/dist/crewx.tool.d.ts +0 -332
  82. package/dist/crewx.tool.js +0 -1463
  83. package/dist/crewx.tool.js.map +0 -1
  84. package/dist/guards/bearer-auth.guard.d.ts +0 -7
  85. package/dist/guards/bearer-auth.guard.js +0 -44
  86. package/dist/guards/bearer-auth.guard.js.map +0 -1
  87. package/dist/health.controller.d.ts +0 -6
  88. package/dist/health.controller.js +0 -32
  89. package/dist/health.controller.js.map +0 -1
  90. package/dist/knowledge/DocumentManager.d.ts +0 -4
  91. package/dist/knowledge/DocumentManager.js +0 -119
  92. package/dist/knowledge/DocumentManager.js.map +0 -1
  93. package/dist/main.d.ts +0 -1
  94. package/dist/main.js +0 -268
  95. package/dist/main.js.map +0 -1
  96. package/dist/mcp.controller.d.ts +0 -8
  97. package/dist/mcp.controller.js +0 -62
  98. package/dist/mcp.controller.js.map +0 -1
  99. package/dist/project.service.d.ts +0 -44
  100. package/dist/project.service.js +0 -299
  101. package/dist/project.service.js.map +0 -1
  102. package/dist/providers/ai-provider.interface.d.ts +0 -50
  103. package/dist/providers/ai-provider.interface.js +0 -23
  104. package/dist/providers/ai-provider.interface.js.map +0 -1
  105. package/dist/providers/base-ai.provider.d.ts +0 -50
  106. package/dist/providers/base-ai.provider.js +0 -624
  107. package/dist/providers/base-ai.provider.js.map +0 -1
  108. package/dist/providers/claude.provider.d.ts +0 -25
  109. package/dist/providers/claude.provider.js +0 -362
  110. package/dist/providers/claude.provider.js.map +0 -1
  111. package/dist/providers/codex.provider.d.ts +0 -17
  112. package/dist/providers/codex.provider.js +0 -99
  113. package/dist/providers/codex.provider.js.map +0 -1
  114. package/dist/providers/copilot.provider.d.ts +0 -25
  115. package/dist/providers/copilot.provider.js +0 -266
  116. package/dist/providers/copilot.provider.js.map +0 -1
  117. package/dist/providers/dynamic-provider.factory.d.ts +0 -55
  118. package/dist/providers/dynamic-provider.factory.js +0 -587
  119. package/dist/providers/dynamic-provider.factory.js.map +0 -1
  120. package/dist/providers/gemini.provider.d.ts +0 -22
  121. package/dist/providers/gemini.provider.js +0 -147
  122. package/dist/providers/gemini.provider.js.map +0 -1
  123. package/dist/services/agent-loader.service.d.ts +0 -29
  124. package/dist/services/agent-loader.service.js +0 -370
  125. package/dist/services/agent-loader.service.js.map +0 -1
  126. package/dist/services/auth.service.d.ts +0 -9
  127. package/dist/services/auth.service.js +0 -47
  128. package/dist/services/auth.service.js.map +0 -1
  129. package/dist/services/config-validator.service.d.ts +0 -28
  130. package/dist/services/config-validator.service.js +0 -467
  131. package/dist/services/config-validator.service.js.map +0 -1
  132. package/dist/services/config.service.d.ts +0 -45
  133. package/dist/services/config.service.js +0 -180
  134. package/dist/services/config.service.js.map +0 -1
  135. package/dist/services/context-enhancement.service.d.ts +0 -13
  136. package/dist/services/context-enhancement.service.js +0 -169
  137. package/dist/services/context-enhancement.service.js.map +0 -1
  138. package/dist/services/document-loader.service.d.ts +0 -16
  139. package/dist/services/document-loader.service.js +0 -137
  140. package/dist/services/document-loader.service.js.map +0 -1
  141. package/dist/services/help.service.d.ts +0 -5
  142. package/dist/services/help.service.js +0 -117
  143. package/dist/services/help.service.js.map +0 -1
  144. package/dist/services/intelligent-compression.service.d.ts +0 -20
  145. package/dist/services/intelligent-compression.service.js +0 -179
  146. package/dist/services/intelligent-compression.service.js.map +0 -1
  147. package/dist/services/mcp-client.service.d.ts +0 -26
  148. package/dist/services/mcp-client.service.js +0 -81
  149. package/dist/services/mcp-client.service.js.map +0 -1
  150. package/dist/services/parallel-processing.service.d.ts +0 -108
  151. package/dist/services/parallel-processing.service.js +0 -268
  152. package/dist/services/parallel-processing.service.js.map +0 -1
  153. package/dist/services/remote-agent.service.d.ts +0 -49
  154. package/dist/services/remote-agent.service.js +0 -215
  155. package/dist/services/remote-agent.service.js.map +0 -1
  156. package/dist/services/result-formatter.service.d.ts +0 -27
  157. package/dist/services/result-formatter.service.js +0 -126
  158. package/dist/services/result-formatter.service.js.map +0 -1
  159. package/dist/services/task-management.service.d.ts +0 -63
  160. package/dist/services/task-management.service.js +0 -272
  161. package/dist/services/task-management.service.js.map +0 -1
  162. package/dist/services/template.service.d.ts +0 -36
  163. package/dist/services/template.service.js +0 -195
  164. package/dist/services/template.service.js.map +0 -1
  165. package/dist/services/tool-call.service.d.ts +0 -53
  166. package/dist/services/tool-call.service.js +0 -1061
  167. package/dist/services/tool-call.service.js.map +0 -1
  168. package/dist/slack/formatters/message.formatter.d.ts +0 -25
  169. package/dist/slack/formatters/message.formatter.js +0 -246
  170. package/dist/slack/formatters/message.formatter.js.map +0 -1
  171. package/dist/slack/slack-bot.d.ts +0 -24
  172. package/dist/slack/slack-bot.js +0 -467
  173. package/dist/slack/slack-bot.js.map +0 -1
  174. package/dist/stderr.logger.d.ts +0 -8
  175. package/dist/stderr.logger.js +0 -26
  176. package/dist/stderr.logger.js.map +0 -1
  177. package/dist/tsconfig.tsbuildinfo +0 -1
  178. package/dist/utils/config-utils.d.ts +0 -15
  179. package/dist/utils/config-utils.js +0 -69
  180. package/dist/utils/config-utils.js.map +0 -1
  181. package/dist/utils/error-utils.d.ts +0 -3
  182. package/dist/utils/error-utils.js +0 -27
  183. package/dist/utils/error-utils.js.map +0 -1
  184. package/dist/utils/math-utils.d.ts +0 -3
  185. package/dist/utils/math-utils.js +0 -10
  186. package/dist/utils/math-utils.js.map +0 -1
  187. package/dist/utils/mcp-installer.d.ts +0 -20
  188. package/dist/utils/mcp-installer.js +0 -199
  189. package/dist/utils/mcp-installer.js.map +0 -1
  190. package/dist/utils/mention-parser.d.ts +0 -18
  191. package/dist/utils/mention-parser.js +0 -136
  192. package/dist/utils/mention-parser.js.map +0 -1
  193. package/dist/utils/simple-security.d.ts +0 -3
  194. package/dist/utils/simple-security.js +0 -20
  195. package/dist/utils/simple-security.js.map +0 -1
  196. package/dist/utils/stdin-utils.d.ts +0 -27
  197. package/dist/utils/stdin-utils.js +0 -130
  198. package/dist/utils/stdin-utils.js.map +0 -1
  199. package/dist/utils/string-utils.d.ts +0 -1
  200. package/dist/utils/string-utils.js +0 -10
  201. package/dist/utils/string-utils.js.map +0 -1
  202. package/dist/utils/template-processor.d.ts +0 -32
  203. package/dist/utils/template-processor.js +0 -202
  204. package/dist/utils/template-processor.js.map +0 -1
  205. package/dist/version.d.ts +0 -1
  206. package/dist/version.js +0 -17
  207. package/dist/version.js.map +0 -1
  208. package/docs/CLA.md +0 -88
  209. package/docs/agent-configuration.md +0 -364
  210. package/docs/agent-registry-strategy.md +0 -348
  211. package/docs/branding-decision-crewx.md +0 -395
  212. package/docs/claude-code-docker-guide.md +0 -264
  213. package/docs/cli-guide.md +0 -439
  214. package/docs/development.md +0 -595
  215. package/docs/diagram1.svg +0 -1
  216. package/docs/guides/agent-best-practices.md +0 -97
  217. package/docs/guides/bug-management.md +0 -600
  218. package/docs/guides/git-bug-reference.md +0 -366
  219. package/docs/mcp-integration.md +0 -187
  220. package/docs/process/development-workflow.md +0 -84
  221. package/docs/remote-agents.md +0 -555
  222. package/docs/roadmap.md +0 -528
  223. package/docs/rules/branch-protection.md +0 -40
  224. package/docs/standards/rc-versioning.md +0 -60
  225. package/docs/standards/report-structure.md +0 -67
  226. package/docs/template-variables.md +0 -382
  227. package/docs/templates.md +0 -517
  228. package/docs/tools.md +0 -583
  229. package/docs/troubleshooting.md +0 -611
  230. package/templates/agents/default.yaml +0 -938
  231. package/templates/agents/minimal.yaml +0 -25
  232. package/templates/documents/crewcode-manual.md +0 -292
  233. package/templates/versions.json +0 -19
package/docs/cli-guide.md DELETED
@@ -1,439 +0,0 @@
1
- # CLI Guide
2
-
3
- Complete reference for CrewX's command-line interface.
4
-
5
- ## Core Commands
6
-
7
- ### `crewx` (default)
8
- Shows help and available commands.
9
-
10
- ```bash
11
- crewx
12
- ```
13
-
14
- ### `crewx init`
15
- Initialize project with `crewx.yaml` configuration.
16
-
17
- ```bash
18
- crewx init # Initialize with default configuration
19
- crewx init --config custom.yaml # Use custom config filename
20
- crewx init --force # Overwrite existing configuration
21
- ```
22
-
23
- **Features:**
24
- - Creates `crewx.yaml` with default agents (Claude, Gemini, Copilot)
25
- - Sets up `.crewx/logs` directory
26
- - Prevents accidental overwrites (use `--force` to override)
27
-
28
- > **Note:** For backward compatibility, `agents.yaml` is still supported, but `crewx.yaml` is preferred.
29
-
30
- ### `crewx doctor`
31
- System health check and diagnostics.
32
-
33
- ```bash
34
- crewx doctor # Full system diagnosis
35
- crewx doctor --config path/to/config.yaml # Use custom config
36
- ```
37
-
38
- **Checks:**
39
- - Configuration file (`crewx.yaml` or `agents.yaml`) validity
40
- - AI CLI tool availability (Claude, Gemini, Copilot)
41
- - Real test queries to verify responses
42
- - Session limits and performance
43
- - Provides troubleshooting recommendations
44
-
45
- ### `crewx query`
46
- Read-only analysis and queries.
47
-
48
- ```bash
49
- # Basic queries
50
- crewx query "@claude analyze this function"
51
- crewx query "@gemini explain the algorithm"
52
-
53
- # Multiple agents in parallel
54
- crewx query "@claude @gemini @copilot review security"
55
-
56
- # With model selection
57
- crewx query "@claude:opus detailed code review"
58
- crewx query "@gemini:gemini-2.5-pro optimize algorithm"
59
- crewx query "@copilot:gpt-5 suggest best practices"
60
-
61
- # With conversation history
62
- crewx query "@claude explain auth" --thread "auth-session"
63
-
64
- # Pipeline input
65
- echo "user auth code" | crewx query "@claude explain this"
66
- ```
67
-
68
- **Available Models:**
69
- - **Claude**: `opus`, `sonnet`, `haiku`, `claude-sonnet-4-5`, `claude-sonnet-4-5-20250929`
70
- - **Gemini**: `gemini-2.5-pro` (default), `gemini-2.5-flash`
71
- - **Copilot**: `gpt-5`, `claude-sonnet-4`, `claude-sonnet-4.5`
72
- - **Codex**: `gpt-5-codex`, `gpt-5`
73
-
74
- > **Codex reasoning effort:**
75
- > When invoking `cli/codex`, you can override reasoning depth on the fly with `-c model_reasoning_effort="..."`.
76
- > - `gpt-5-codex`: supports `low`, `medium`, `high`
77
- > - `gpt-5`: supports `minimal`, `low`, `medium`, `high`
78
-
79
- Example:
80
-
81
- ```bash
82
- codex exec --experimental-json \
83
- -c model="gpt-5-codex" \
84
- -c model_reasoning_effort="medium" \
85
- "Respond with OK."
86
- ```
87
-
88
- Unsupported combinations return a 400 error (e.g., `gpt-5-codex` + `minimal`).
89
-
90
- ### `crewx execute`
91
- Execute tasks with file creation/modification.
92
-
93
- ```bash
94
- # Basic execution
95
- crewx execute "@claude create a React component"
96
-
97
- # Multiple agents in parallel
98
- crewx execute "@claude @gemini implement different sorting algorithms"
99
-
100
- # With model selection
101
- crewx execute "@claude:opus implement complex auth system"
102
- crewx execute "@gemini:gemini-2.5-pro optimize critical code"
103
-
104
- # With conversation history
105
- crewx execute "@claude implement login" --thread "auth-feature"
106
-
107
- # Pipeline workflows
108
- crewx query "@architect design API" | \
109
- crewx execute "@backend implement the design"
110
- ```
111
-
112
- ## Pipeline Workflows
113
-
114
- Chain commands for complex multi-step workflows:
115
-
116
- ```bash
117
- # Multi-step development
118
- crewx query "@architect design user auth system" | \
119
- crewx execute "@backend implement API endpoints" | \
120
- crewx execute "@frontend create UI components"
121
-
122
- # Code review and improvement
123
- crewx query "@claude analyze code quality" | \
124
- crewx execute "@gemini implement improvements"
125
-
126
- # Design, implement, test
127
- crewx query "@architect design feature" | \
128
- crewx execute "@developer build it" | \
129
- crewx query "@tester verify implementation"
130
- ```
131
-
132
- ## Conversation History with `--thread`
133
-
134
- Maintain context across multiple queries and executions:
135
-
136
- ```bash
137
- # Start a thread
138
- crewx query "@claude design a login system" --thread "auth-feature"
139
-
140
- # Continue in same thread (Claude remembers previous context)
141
- crewx query "@claude add 2FA support" --thread "auth-feature"
142
-
143
- # Execute with thread context
144
- crewx execute "@claude implement the design" --thread "auth-feature"
145
- ```
146
-
147
- **Features:**
148
- - **Persistent context** - Stored in `.crewx/conversations/`
149
- - **Cross-session** - Available after restart
150
- - **Thread isolation** - Different threads maintain separate contexts
151
- - **Works with all commands** - `query`, `execute`, `chat`
152
-
153
- **Example workflow:**
154
- ```bash
155
- # Design phase
156
- crewx query "@architect design REST API" --thread "api-project"
157
-
158
- # Implementation (remembers design)
159
- crewx execute "@backend implement endpoints" --thread "api-project"
160
-
161
- # Testing (remembers design + implementation)
162
- crewx query "@tester review implementation" --thread "api-project"
163
- ```
164
-
165
- ## Slack Bot Integration
166
-
167
- Run CrewX as a Slack bot:
168
-
169
- ```bash
170
- crewx slack # Query-only mode with Claude (default)
171
- crewx slack --mode execute # Allow execute tasks from Slack
172
- crewx slack --agent gemini # Use Gemini
173
- crewx slack --agent copilot # Use GitHub Copilot
174
- crewx slack --agent custom_agent # Use custom agent
175
- ```
176
-
177
- **Features:**
178
- - Natural conversation with chosen AI agent
179
- - Thread history maintenance
180
- - @mentions and DMs
181
- - Clean responses
182
- - Reaction indicators (👀 processing, ✅ completed, ❌ error)
183
-
184
- **Mode selection:**
185
- - `--mode query` *(default)*: Read-only responses, safe for general Q&A
186
- - `--mode execute`: Agents can modify files, run commands, and apply changes
187
-
188
- **Setup:**
189
- 1. Create Slack App and configure bot tokens
190
- 2. Set environment variables in `.env.slack`:
191
- ```bash
192
- SLACK_BOT_TOKEN=xoxb-...
193
- SLACK_APP_TOKEN=xapp-...
194
- SLACK_SIGNING_SECRET=...
195
- SLACK_MAX_RESPONSE_LENGTH=400000 # Optional
196
- ```
197
- 3. Start: `npm run start:slack`
198
- 4. *(Optional)* Persist Slack conversations locally for evaluation by enabling logging:
199
- ```yaml
200
- # crewx.yaml
201
- settings:
202
- slack:
203
- log_conversations: true
204
- ```
205
- Or set an environment variable: `CREWX_SLACK_LOG_CONVERSATIONS=true`.
206
- When enabled, Slack threads are mirrored to `.crewx/conversations/` just like CLI sessions, which is useful for agent performance reviews.
207
-
208
- See [SLACK_INSTALL.md](../SLACK_INSTALL.md) for full setup guide.
209
-
210
- ## MCP Server Mode
211
-
212
- Run CrewX as an MCP (Model Context Protocol) server for remote access:
213
-
214
- ```bash
215
- # Basic MCP server (stdio only)
216
- crewx mcp
217
-
218
- # MCP server with HTTP support
219
- crewx mcp server --http
220
-
221
- # Full configuration
222
- crewx mcp server \
223
- --http \
224
- --host 0.0.0.0 \
225
- --port 3000 \
226
- --key "sk-secret-key" \
227
- --log
228
- ```
229
-
230
- **Options:**
231
- - `--http` - Enable HTTP transport (in addition to stdio)
232
- - `--host` - Server hostname (default: localhost)
233
- - `--port` - Server port (default: 3000)
234
- - `--key` - API key for bearer authentication
235
- - `--log` - Enable request logging
236
-
237
- **Use cases:**
238
- - IDE integration (VS Code, Cursor, Claude Desktop)
239
- - Remote agent access (see [Remote Agents Guide](./remote-agents.md))
240
- - Team collaboration via HTTP
241
-
242
- **Exposed MCP tools:**
243
- - `crewx_queryAgent` - Read-only agent queries
244
- - `crewx_executeAgent` - Agent execution with file operations
245
-
246
- See [MCP Integration Guide](./mcp-integration.md) for IDE setup and [Remote Agents Guide](./remote-agents.md) for remote access configuration.
247
-
248
- ## Advanced Features
249
-
250
- ### Task Tracking
251
- Every operation is logged with unique task IDs:
252
-
253
- ```bash
254
- # Operations automatically create logs
255
- crewx execute "@claude create component"
256
- # Output includes: Task ID: abc123
257
-
258
- # View task logs
259
- crewx logs abc123
260
- ```
261
-
262
- ### Performance Metrics
263
- - Execution time tracking
264
- - Success/failure rates
265
- - Parallel vs sequential comparison
266
-
267
- ### Error Recovery
268
- - Detailed error messages
269
- - Resolution suggestions
270
- - Session limit handling
271
-
272
- ### Configuration Validation
273
- Validates agent configurations before execution:
274
- - Provider availability
275
- - Required options
276
- - Working directory existence
277
-
278
- ## Environment Variables
279
-
280
- Customize behavior via `.env` or environment variables:
281
-
282
- ### Timeout Configuration
283
-
284
- **All timeouts are unified to 30 minutes (1800000ms) by default** for consistent behavior across all operations.
285
-
286
- ```bash
287
- # All Providers (unified to 30 minutes)
288
- CODECREW_TIMEOUT_CLAUDE_QUERY=1800000 # 30 min (default)
289
- CODECREW_TIMEOUT_CLAUDE_EXECUTE=1800000 # 30 min (default)
290
- CODECREW_TIMEOUT_GEMINI_QUERY=1800000 # 30 min (default)
291
- CODECREW_TIMEOUT_GEMINI_EXECUTE=1800000 # 30 min (default)
292
- CODECREW_TIMEOUT_COPILOT_QUERY=1800000 # 30 min (default)
293
- CODECREW_TIMEOUT_COPILOT_EXECUTE=1800000 # 30 min (default)
294
-
295
- # System
296
- CODECREW_TIMEOUT_PARALLEL=1800000 # 30 min (default)
297
- CODECREW_TIMEOUT_STDIN_INITIAL=30000 # 30 sec
298
- CODECREW_TIMEOUT_STDIN_CHUNK=1800000 # 30 min (default)
299
- CODECREW_TIMEOUT_STDIN_COMPLETE=100 # 100ms
300
- ```
301
-
302
- **Why 30 minutes?**
303
- - Handles complex AI operations (code generation, analysis, refactoring)
304
- - Supports long-running tasks without interruption
305
- - Consistent across all providers and modes
306
- - Can be overridden per-command with `--timeout` flag
307
-
308
- **Usage:**
309
- ```bash
310
- # Using .env file (customize if needed)
311
- echo "CODECREW_TIMEOUT_CLAUDE_QUERY=3600000" >> .env # 60 min
312
- crewx query "@claude complex analysis"
313
-
314
- # Inline override
315
- CODECREW_TIMEOUT_CLAUDE_QUERY=900000 crewx query "@claude quick check" # 15 min
316
-
317
- # Per-command timeout flag (recommended)
318
- crewx query "@claude analyze" --timeout 3600000 # 60 min
319
- ```
320
-
321
- ### Plugin Provider Environment Variables
322
-
323
- Plugin providers can use environment variables for configuration:
324
-
325
- ```yaml
326
- providers:
327
- - id: remote_ollama
328
- type: plugin
329
- cli_command: ollama
330
- env:
331
- OLLAMA_HOST: "${OLLAMA_REMOTE_HOST}" # Reference env var
332
- OLLAMA_API_KEY: "${OLLAMA_API_KEY}"
333
-
334
- - id: custom_tool
335
- type: plugin
336
- cli_command: mytool
337
- env:
338
- API_ENDPOINT: "https://api.example.com"
339
- API_TOKEN: "${MY_API_TOKEN}" # From environment
340
- ```
341
-
342
- **Example .env:**
343
- ```bash
344
- OLLAMA_REMOTE_HOST=http://192.168.1.100:11434
345
- OLLAMA_API_KEY=sk-ollama-key-123
346
- MY_API_TOKEN=custom-api-token-456
347
- ```
348
-
349
- ### Remote Agent Configuration
350
-
351
- ```bash
352
- # Remote server connection
353
- CREWX_REMOTE_URL=http://production.example.com:3000
354
- CREWX_REMOTE_AGENT=backend_prod
355
- CREWX_REMOTE_TOKEN=sk-prod-secret-key
356
- ```
357
-
358
- Use in `crewx.yaml`:
359
- ```yaml
360
- providers:
361
- - id: prod_server
362
- type: remote
363
- location: "${CREWX_REMOTE_URL}"
364
- external_agent_id: "${CREWX_REMOTE_AGENT}"
365
- auth:
366
- type: bearer
367
- token: "${CREWX_REMOTE_TOKEN}"
368
- ```
369
-
370
- ## Examples
371
-
372
- ### Basic Analysis
373
- ```bash
374
- # Single agent query
375
- crewx query "@claude explain this function"
376
-
377
- # Multiple agents compare
378
- crewx query "@claude @gemini @copilot which approach is better?"
379
- ```
380
-
381
- ### File Operations
382
- ```bash
383
- # Create files
384
- crewx execute "@claude create a login component"
385
-
386
- # Modify files
387
- crewx execute "@claude refactor authentication"
388
-
389
- # Multiple tasks
390
- crewx execute "@claude create tests" "@gemini write docs"
391
- ```
392
-
393
- ### Complex Workflows
394
- ```bash
395
- # Design → Implement → Test
396
- crewx query "@architect design user management" --thread "user-mgmt" && \
397
- crewx execute "@backend implement it" --thread "user-mgmt" && \
398
- crewx query "@tester create test plan" --thread "user-mgmt"
399
-
400
- # Code review pipeline
401
- git diff | crewx query "@claude review these changes" | \
402
- crewx execute "@refactor improve code quality"
403
- ```
404
-
405
- ### Model Selection
406
- ```bash
407
- # Use specific models for different tasks
408
- crewx query "@claude:haiku quick analysis" # Fast, concise
409
- crewx query "@claude:opus comprehensive review" # Detailed, thorough
410
- crewx execute "@gemini:gemini-2.5-flash rapid prototyping" # Fast execution
411
- crewx execute "@gemini:gemini-2.5-pro production code" # High quality
412
- ```
413
-
414
- ### Remote Agents
415
- ```bash
416
- # Connect to remote CrewX instance
417
- crewx query "@remote_backend check API status"
418
-
419
- # Distribute work across projects
420
- crewx execute "@frontend_team create UI" "@backend_team create API"
421
-
422
- # Coordinate multi-project feature
423
- crewx query "@coordinator design cross-service authentication"
424
-
425
- # Access specialized resources
426
- crewx execute "@ml_server train recommendation model"
427
- ```
428
-
429
- See [Remote Agents Guide](./remote-agents.md) for setup and configuration.
430
-
431
- ## Tips
432
-
433
- 1. **Use `query` for analysis** - Safe, read-only, no file changes
434
- 2. **Use `execute` for implementation** - Can modify files, create new ones
435
- 3. **Leverage `--thread`** - Maintain context across commands
436
- 4. **Combine agents** - Use strengths of different AI models
437
- 5. **Pipeline complex tasks** - Chain commands for multi-step workflows
438
- 6. **Check with `doctor`** - Diagnose issues before running tasks
439
- 7. **Use specific models** - Choose right model for the task complexity