ctx-cc 3.5.0 → 4.1.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 (74) hide show
  1. package/README.md +375 -676
  2. package/agents/ctx-arch-mapper.md +5 -3
  3. package/agents/ctx-auditor.md +5 -3
  4. package/agents/ctx-codex-reviewer.md +214 -0
  5. package/agents/ctx-concerns-mapper.md +5 -3
  6. package/agents/ctx-criteria-suggester.md +6 -4
  7. package/agents/ctx-debugger.md +5 -3
  8. package/agents/ctx-designer.md +488 -114
  9. package/agents/ctx-discusser.md +5 -3
  10. package/agents/ctx-executor.md +5 -3
  11. package/agents/ctx-handoff.md +6 -4
  12. package/agents/ctx-learner.md +5 -3
  13. package/agents/ctx-mapper.md +4 -3
  14. package/agents/ctx-ml-analyst.md +600 -0
  15. package/agents/ctx-ml-engineer.md +933 -0
  16. package/agents/ctx-ml-reviewer.md +485 -0
  17. package/agents/ctx-ml-scientist.md +626 -0
  18. package/agents/ctx-parallelizer.md +4 -3
  19. package/agents/ctx-planner.md +5 -3
  20. package/agents/ctx-predictor.md +4 -3
  21. package/agents/ctx-qa.md +5 -3
  22. package/agents/ctx-quality-mapper.md +5 -3
  23. package/agents/ctx-researcher.md +5 -3
  24. package/agents/ctx-reviewer.md +6 -4
  25. package/agents/ctx-team-coordinator.md +5 -3
  26. package/agents/ctx-tech-mapper.md +5 -3
  27. package/agents/ctx-verifier.md +5 -3
  28. package/bin/ctx.js +199 -27
  29. package/commands/brand.md +309 -0
  30. package/commands/ctx.md +10 -10
  31. package/commands/design.md +304 -0
  32. package/commands/experiment.md +251 -0
  33. package/commands/help.md +57 -7
  34. package/commands/init.md +25 -0
  35. package/commands/metrics.md +1 -1
  36. package/commands/milestone.md +1 -1
  37. package/commands/ml-status.md +197 -0
  38. package/commands/monitor.md +1 -1
  39. package/commands/train.md +266 -0
  40. package/commands/visual-qa.md +559 -0
  41. package/commands/voice.md +1 -1
  42. package/hooks/post-tool-use.js +39 -0
  43. package/hooks/pre-tool-use.js +94 -0
  44. package/hooks/subagent-stop.js +32 -0
  45. package/package.json +9 -3
  46. package/plugin.json +46 -0
  47. package/skills/ctx-design-system/SKILL.md +572 -0
  48. package/skills/ctx-ml-experiment/SKILL.md +334 -0
  49. package/skills/ctx-ml-pipeline/SKILL.md +437 -0
  50. package/skills/ctx-orchestrator/SKILL.md +91 -0
  51. package/skills/ctx-review-gate/SKILL.md +147 -0
  52. package/skills/ctx-state/SKILL.md +100 -0
  53. package/skills/ctx-visual-qa/SKILL.md +587 -0
  54. package/src/agents.js +109 -0
  55. package/src/auto.js +287 -0
  56. package/src/capabilities.js +226 -0
  57. package/src/commits.js +94 -0
  58. package/src/config.js +112 -0
  59. package/src/context.js +241 -0
  60. package/src/handoff.js +156 -0
  61. package/src/hooks.js +218 -0
  62. package/src/install.js +125 -50
  63. package/src/lifecycle.js +194 -0
  64. package/src/metrics.js +198 -0
  65. package/src/pipeline.js +269 -0
  66. package/src/review-gate.js +338 -0
  67. package/src/runner.js +120 -0
  68. package/src/skills.js +143 -0
  69. package/src/state.js +267 -0
  70. package/src/worktree.js +244 -0
  71. package/templates/PRD.json +1 -1
  72. package/templates/config.json +4 -237
  73. package/workflows/ctx-router.md +0 -485
  74. package/workflows/map-codebase.md +0 -329
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://ctx.dev/schemas/config.json",
3
- "version": "3.3",
3
+ "version": "3.5",
4
4
 
5
5
  "models": {
6
6
  "architect": {
@@ -91,6 +91,9 @@
91
91
 
92
92
  "activeProfile": "balanced",
93
93
 
94
+ "reviewGate": true,
95
+ "codexReview": true,
96
+
94
97
  "git": {
95
98
  "autoCommit": true,
96
99
  "commitPerTask": true,
@@ -109,38 +112,6 @@
109
112
  "forceCheckpointThreshold": 0.7
110
113
  },
111
114
 
112
- "parallelization": {
113
- "enabled": true,
114
- "maxParallelTasks": 3,
115
- "requireDependencyAnalysis": true,
116
- "fileLocking": true
117
- },
118
-
119
- "review": {
120
- "enabled": true,
121
- "beforeCommit": true,
122
- "blockOnCritical": true,
123
- "blockOnHigh": true,
124
- "warnOnMedium": true,
125
- "autoFix": false,
126
- "checks": {
127
- "typeErrors": true,
128
- "importResolution": true,
129
- "circularDeps": true,
130
- "security": true,
131
- "bestPractices": true,
132
- "consoleLogs": true,
133
- "emptyBlocks": true
134
- }
135
- },
136
-
137
- "criteria": {
138
- "autoSuggest": true,
139
- "minCriteria": 5,
140
- "maxCriteria": 15,
141
- "categories": ["happy_path", "validation", "error_states", "security", "performance"]
142
- },
143
-
144
115
  "debug": {
145
116
  "maxAttempts": 10,
146
117
  "persistSessions": true,
@@ -148,214 +119,10 @@
148
119
  "autoResume": true
149
120
  },
150
121
 
151
- "integrations": {
152
- "linear": {
153
- "enabled": false,
154
- "apiKey": "env:LINEAR_API_KEY",
155
- "teamId": null,
156
- "projectId": null,
157
- "syncOnCreate": true,
158
- "syncOnVerify": true,
159
- "closeOnComplete": true,
160
- "statusMapping": {
161
- "pending": "Todo",
162
- "executing": "In Progress",
163
- "verifying": "In Review",
164
- "complete": "Done"
165
- }
166
- },
167
- "jira": {
168
- "enabled": false,
169
- "baseUrl": null,
170
- "email": "env:JIRA_EMAIL",
171
- "apiToken": "env:JIRA_API_TOKEN",
172
- "projectKey": null,
173
- "issueType": "Story",
174
- "syncOnCreate": true,
175
- "syncOnVerify": true,
176
- "transitionMapping": {
177
- "executing": "In Progress",
178
- "verifying": "In Review",
179
- "complete": "Done"
180
- }
181
- },
182
- "github": {
183
- "enabled": false,
184
- "repository": null,
185
- "token": "env:GITHUB_TOKEN",
186
- "syncIssues": true,
187
- "closeOnComplete": true,
188
- "createPROnComplete": false,
189
- "labels": {
190
- "feature": "enhancement",
191
- "bug": "bug",
192
- "design": "design"
193
- }
194
- },
195
- "slack": {
196
- "enabled": false,
197
- "webhookUrl": "env:SLACK_WEBHOOK_URL",
198
- "notifyOnPhaseComplete": false,
199
- "notifyOnVerifyFail": true,
200
- "notifyOnHandoff": false
201
- }
202
- },
203
-
204
122
  "ui": {
205
123
  "showTokenUsage": true,
206
124
  "showModelInfo": true,
207
125
  "showWaveProgress": true,
208
126
  "verboseOutput": false
209
- },
210
-
211
- "team": {
212
- "enabled": false,
213
- "members": [],
214
- "fileLocking": {
215
- "enabled": true,
216
- "expiryMinutes": 60,
217
- "autoRelease": true
218
- },
219
- "notifications": {
220
- "onPhaseStart": false,
221
- "onPhaseComplete": true,
222
- "onVerifyFail": true,
223
- "onConflict": true,
224
- "onMilestoneComplete": true
225
- },
226
- "branching": {
227
- "strategy": "feature",
228
- "prefix": "ctx"
229
- }
230
- },
231
-
232
- "audit": {
233
- "enabled": true,
234
- "retention": {
235
- "daily": "90d",
236
- "weekly": "1y",
237
- "monthly": "3y"
238
- },
239
- "logging": {
240
- "tokens": true,
241
- "costs": true,
242
- "decisions": true,
243
- "fileAccess": true,
244
- "externalCalls": true
245
- },
246
- "compliance": {
247
- "soc2": false,
248
- "hipaa": false,
249
- "gdpr": false
250
- },
251
- "reports": {
252
- "dailySummary": true,
253
- "weeklySummary": true,
254
- "exportFormat": "json"
255
- }
256
- },
257
-
258
- "metrics": {
259
- "enabled": true,
260
- "collection": {
261
- "tokens": true,
262
- "costs": true,
263
- "timing": true,
264
- "quality": true
265
- },
266
- "aggregation": {
267
- "daily": true,
268
- "weekly": true,
269
- "monthly": true
270
- },
271
- "costRates": {
272
- "opus": {"input": 0.015, "output": 0.075},
273
- "sonnet": {"input": 0.003, "output": 0.015},
274
- "haiku": {"input": 0.00025, "output": 0.00125}
275
- },
276
- "roi": {
277
- "developerHourlyRate": 150,
278
- "hoursPerStoryManual": 4
279
- },
280
- "alerts": {
281
- "dailyCostThreshold": 10,
282
- "weeklyStoriesTarget": 10
283
- }
284
- },
285
-
286
- "milestone": {
287
- "autoTag": true,
288
- "tagFormat": "v{version}",
289
- "archiveOnComplete": true,
290
- "requireAudit": true,
291
- "gapPhasesEnabled": true
292
- },
293
-
294
- "learning": {
295
- "enabled": true,
296
- "observePatterns": true,
297
- "observeDecisions": true,
298
- "observeFailures": true,
299
- "minConfidence": 0.7,
300
- "applyPatterns": true,
301
- "enforceConventions": true,
302
- "memoryPath": ".ctx/memory/"
303
- },
304
-
305
- "predict": {
306
- "enabled": true,
307
- "autoSuggest": {
308
- "onMilestoneComplete": true,
309
- "onAllStoriesPass": true,
310
- "weeklyDigest": false
311
- },
312
- "categories": ["revenue", "engagement", "retention", "operations", "performance", "security"],
313
- "maxSuggestions": 10,
314
- "minROI": 5,
315
- "includeQuickWins": true,
316
- "researchDepth": "balanced"
317
- },
318
-
319
- "monitor": {
320
- "enabled": false,
321
- "pollInterval": "5m",
322
- "autoFix": {
323
- "enabled": false,
324
- "safePatterns": ["null-check", "import-missing", "type-mismatch"],
325
- "requireReview": true,
326
- "createPR": true
327
- },
328
- "sentry": {
329
- "enabled": false,
330
- "token": "env:SENTRY_AUTH_TOKEN",
331
- "organization": null,
332
- "project": null,
333
- "environment": "production"
334
- },
335
- "logrocket": {
336
- "enabled": false,
337
- "appId": null,
338
- "apiKey": "env:LOGROCKET_API_KEY"
339
- },
340
- "alerts": {
341
- "errorSpike": {
342
- "threshold": 50,
343
- "window": "5m"
344
- },
345
- "slack": true,
346
- "pagerduty": false
347
- }
348
- },
349
-
350
- "voice": {
351
- "enabled": false,
352
- "engine": "auto",
353
- "language": "en-US",
354
- "wakeWord": "Hey CTX",
355
- "confirmCommands": true,
356
- "dictationEndPhrase": "done",
357
- "dictationPauseSeconds": 3,
358
- "noiseReduction": true,
359
- "minConfidence": 0.7
360
127
  }
361
128
  }