opencode-matrixx 2.6.0 → 2.6.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 +15 -10
- package/dist/cli/doctor/checks/context-mode.d.ts +2 -0
- package/dist/cli/doctor/checks/dcp.d.ts +2 -0
- package/dist/cli/doctor/checks/docker.d.ts +2 -0
- package/dist/cli/doctor/checks/headroom.d.ts +2 -0
- package/dist/cli/doctor/checks/helpers.d.ts +2 -0
- package/dist/cli/doctor/checks/index.d.ts +6 -0
- package/dist/cli/doctor/checks/rtk.d.ts +2 -0
- package/dist/cli/doctor/checks/tmux.d.ts +2 -0
- package/dist/cli/doctor/types.d.ts +1 -1
- package/dist/cli/index.d.ts +1 -0
- package/dist/cli/setup/config-writer.d.ts +12 -0
- package/dist/cli/setup/config-writer.test.d.ts +1 -0
- package/dist/cli/setup/constants.d.ts +8 -0
- package/dist/cli/setup/deps.d.ts +8 -0
- package/dist/cli/setup/deps.test.d.ts +1 -0
- package/dist/cli/setup/index.d.ts +8 -0
- package/dist/cli/setup/index.test.d.ts +1 -0
- package/dist/cli/setup/opencode-sync.d.ts +9 -0
- package/dist/cli/setup/opencode-sync.test.d.ts +1 -0
- package/dist/cli/setup/prompts.d.ts +4 -0
- package/dist/cli/setup/prompts.test.d.ts +1 -0
- package/dist/cli/setup/types.d.ts +26 -0
- package/dist/cli.js +18759 -663
- package/dist/config/schema/context-mode.d.ts +7 -0
- package/dist/config/schema/experimental.d.ts +1 -1
- package/dist/config/schema/hooks.d.ts +3 -2
- package/dist/config/schema/matrixx-config.d.ts +13 -3
- package/dist/config/schema/morpheus.d.ts +8 -0
- package/dist/config/schema.d.ts +1 -0
- package/dist/create-hooks.d.ts +3 -2
- package/dist/features/builtin-commands/templates/cleanup-tasks.d.ts +1 -0
- package/dist/features/builtin-commands/templates/task-list.d.ts +1 -0
- package/dist/features/builtin-commands/types.d.ts +1 -1
- package/dist/features/task-storage/storage.d.ts +12 -2
- package/dist/features/task-storage/types.d.ts +1 -0
- package/dist/hooks/compaction-todo-preserver/hook.d.ts +13 -0
- package/dist/hooks/compaction-todo-preserver/index.d.ts +1 -1
- package/dist/hooks/context-mode-enforcer/constants.d.ts +6 -0
- package/dist/hooks/context-mode-enforcer/hook.d.ts +3 -0
- package/dist/hooks/context-mode-enforcer/index.d.ts +1 -0
- package/dist/hooks/index.d.ts +3 -2
- package/dist/hooks/task-continuation-enforcer/abort-detection.d.ts +4 -0
- package/dist/hooks/task-continuation-enforcer/constants.d.ts +10 -0
- package/dist/hooks/task-continuation-enforcer/continuation-injection.d.ts +12 -0
- package/dist/hooks/task-continuation-enforcer/countdown.d.ts +14 -0
- package/dist/hooks/task-continuation-enforcer/countdown.test.d.ts +1 -0
- package/dist/hooks/task-continuation-enforcer/handler.d.ts +16 -0
- package/dist/hooks/task-continuation-enforcer/idle-event.d.ts +11 -0
- package/dist/hooks/task-continuation-enforcer/idle-event.test.d.ts +1 -0
- package/dist/hooks/task-continuation-enforcer/index.d.ts +6 -0
- package/dist/hooks/task-continuation-enforcer/message-directory.d.ts +1 -0
- package/dist/hooks/task-continuation-enforcer/non-idle-events.d.ts +6 -0
- package/dist/hooks/task-continuation-enforcer/session-state.d.ts +10 -0
- package/dist/hooks/task-continuation-enforcer/todo.d.ts +5 -0
- package/dist/hooks/task-continuation-enforcer/types.d.ts +60 -0
- package/dist/hooks/task-edit-guard/constants.d.ts +2 -0
- package/dist/hooks/task-edit-guard/hook.d.ts +2 -0
- package/dist/hooks/task-edit-guard/index.d.ts +2 -0
- package/dist/hooks/todo-continuation-enforcer/countdown.test.d.ts +1 -0
- package/dist/hooks/todo-continuation-enforcer/idle-event.test.d.ts +1 -0
- package/dist/index.js +1647 -926
- package/dist/matrixx.schema.json +47 -3
- package/dist/plugin/hooks/create-continuation-hooks.d.ts +2 -1
- package/dist/plugin/hooks/create-core-hooks.d.ts +2 -2
- package/dist/plugin/hooks/create-tool-guard-hooks.d.ts +3 -3
- package/dist/shared/system-directive.d.ts +1 -0
- package/dist/shared/task-system-gating.d.ts +3 -0
- package/dist/shared/task-system-gating.test.d.ts +1 -0
- package/dist/tools/index.d.ts +1 -1
- package/dist/tools/task/index.d.ts +1 -1
- package/dist/tools/task/task-cleanup.d.ts +4 -0
- package/dist/tools/task/task-cleanup.test.d.ts +1 -0
- package/dist/tools/task/task-get.d.ts +2 -1
- package/dist/tools/task/task-list.d.ts +2 -1
- package/dist/tools/task/types.d.ts +2 -0
- package/package.json +3 -2
- package/dist/hooks/task-todo-mirror/constants.d.ts +0 -3
- package/dist/hooks/task-todo-mirror/hook.d.ts +0 -43
- package/dist/hooks/task-todo-mirror/index.d.ts +0 -2
- package/dist/hooks/todo-description-override/description.d.ts +0 -1
- package/dist/hooks/todo-description-override/hook.d.ts +0 -8
- package/dist/hooks/todo-description-override/index.d.ts +0 -1
- package/dist/tools/task/todo-sync.d.ts +0 -16
package/README.md
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
[](https://github.com/klpanagi/opencode-matrixx/blob/master/LICENSE)
|
|
14
14
|
|
|
15
15
|
**Multi-model agent orchestration for [OpenCode](https://github.com/sst/opencode).**<br/>
|
|
16
|
-
**14 specialized agents.
|
|
16
|
+
**14 specialized agents. 64 lifecycle hooks. 22 tools. 36 skills. One plugin.**
|
|
17
17
|
|
|
18
18
|
</div>
|
|
19
19
|
|
|
@@ -43,7 +43,7 @@ Morpheus (Claude Opus) → Plans the implementation
|
|
|
43
43
|
| Problem | Matrixx Solution |
|
|
44
44
|
|---------|------------------|
|
|
45
45
|
| One model does everything poorly | **14 specialists** — right model for the right job |
|
|
46
|
-
| Agent forgets what it was doing | **
|
|
46
|
+
| Agent forgets what it was doing | **Task Continuation** — `task-continuation-enforcer` (file-backed `.matrixx/tasks`, survives `/clear`, project-scoped) — forces completion |
|
|
47
47
|
| Slow sequential tool calls | **Parallel background agents** — 5+ running simultaneously |
|
|
48
48
|
| AI-generated code looks like AI | **Comment Checker** — code indistinguishable from human-written |
|
|
49
49
|
| Context window fills up fast | **Aggressive delegation** — subagents carry the load |
|
|
@@ -100,6 +100,9 @@ Create `matrixx.jsonc` in your project root:
|
|
|
100
100
|
}
|
|
101
101
|
```
|
|
102
102
|
|
|
103
|
+
> **Full example:** See [`matrixx.example.jsonc`](./matrixx.example.jsonc) — a fully annotated reference covering every configuration parameter (agents, categories, **headroom**, **context-mode** (external), DCP, RTK, security, tmux, assembly, evolution, and more) with inline comments and defaults. Copy the sections you need into your project `.opencode/matrixx.jsonc` or user `~/.config/opencode/matrixx.jsonc` (both support JSONC comments).
|
|
104
|
+
> Full guide: [Configuration →](docs/configurations.md) · [Context Management (5 layers) →](docs/context-management.md)
|
|
105
|
+
|
|
103
106
|
### Authenticate
|
|
104
107
|
|
|
105
108
|
```bash
|
|
@@ -157,7 +160,7 @@ Use `--json` for machine-readable output or `--category <name>` for a specific c
|
|
|
157
160
|
|
|
158
161
|
**Model:** Claude Opus 4.6 · `temperature: 0.1`
|
|
159
162
|
|
|
160
|
-
Plans, delegates, and executes. Fires background agents in parallel, leverages LSP and AST-Grep for surgical refactoring, and never stops until the
|
|
163
|
+
Plans, delegates, and executes. Fires background agents in parallel, leverages LSP and AST-Grep for surgical refactoring, and never stops until the task list is empty. Morpheus sees the code for what it truly is — and routes every task to the agent best suited for it.
|
|
161
164
|
|
|
162
165
|
---
|
|
163
166
|
|
|
@@ -352,10 +355,10 @@ Every agent, model, temperature, and permission is fully customizable. [**Meet t
|
|
|
352
355
|
|
|
353
356
|
| | |
|
|
354
357
|
|---|---|
|
|
355
|
-
| **Agent Orchestration** |
|
|
358
|
+
| **Agent Orchestration** | 14 agents (incl. **Mouse** task executor, **Sati** frontend specialist, **Sentinel** security auditor, **Cipher** DSL expert), parallel background execution, category-based routing (`source`/`deep-jack`/…), session continuity, file-backed tasks |
|
|
356
359
|
| **Developer Tools** | LSP (goto def, rename, diagnostics), AST-Grep (search & replace), Tmux terminal |
|
|
357
|
-
|
|
|
358
|
-
|
|
360
|
+
| **64 Lifecycle Hooks** | Context injection, think mode, comment checking, task/todo continuation enforcement, error recovery, quality gate, preemptive compaction, session recovery |
|
|
361
|
+
| **36 Built-in Skills** | DSL engineering (11), security (9), browser, git, frontend (7 via **Sati**), BDD (4: `bdd-contract`/`backend`/`frontend`/`tests` + pipeline), saturation research, AI slop detection, TDD (`tdd-enforcer` opt-in), software dev pipeline |
|
|
359
362
|
| **Curated MCPs** | Exa (web search), Context7 (official docs), Grep.app (GitHub code search), Document Reader |
|
|
360
363
|
| **Claude Code Compat** | Full compatibility — commands, agents, skills, MCPs, hooks from `settings.json` |
|
|
361
364
|
| **Software Dev Pipeline** | 6-phase TDD workflow (PLAN→BUILD→VERIFY→REVIEW→SECURE→SHIP), 5 team roles, adaptive phases |
|
|
@@ -376,9 +379,9 @@ Matrixx includes a structured **6-phase development pipeline** that coordinates
|
|
|
376
379
|
|
|
377
380
|
| Role | Agent | Skills | Purpose |
|
|
378
381
|
|------|-------|--------|---------|
|
|
379
|
-
| **Architect** | Oracle (
|
|
380
|
-
| **Developer** |
|
|
381
|
-
| **Tester** |
|
|
382
|
+
| **Architect** | Oracle (`claude-sonnet-4-6`) | — | System design, architecture decisions, plan (`/.matrixx/plans/*.md`) breakdown |
|
|
383
|
+
| **Developer** | `category="source"` (Mouse) | `git-master`, `tdd-enforcer` (opt-in `tdd_enforcer.enabled=true`) | Implementation — RED→GREEN→REFACTOR per task |
|
|
384
|
+
| **Tester** | `category="source"` (Mouse) | `tdd-enforcer`, `quality-gate` | Test authoring (`src/**/*.test.ts`, `//#given//#when//#then`), coverage |
|
|
382
385
|
| **Quality Evaluator** | Red-pill category | `quality-gate`, `review-work` | Lint, typecheck, 5-agent code review |
|
|
383
386
|
| **Security Expert** | Sentinel (Claude Opus) | `security-core`, `security-sast`, `security-api`, `security-dependencies` | Vulnerability scanning, CVE checks |
|
|
384
387
|
|
|
@@ -386,7 +389,7 @@ Matrixx includes a structured **6-phase development pipeline** that coordinates
|
|
|
386
389
|
|
|
387
390
|
| Phase | Skip? | Role | Exit Criteria |
|
|
388
391
|
|-------|-------|------|---------------|
|
|
389
|
-
| **PLAN** | Small tasks | Architect | Approach defined, files listed, edge cases documented |
|
|
392
|
+
| **PLAN** | Small tasks | Architect (Oracle) | Approach defined, files listed, edge cases + test decision (`TDD/tests-after/none`) documented |
|
|
390
393
|
| **BUILD** | Never | Developer | TDD (RED→GREEN→REFACTOR), `bun test` passes |
|
|
391
394
|
| **VERIFY** | Never | Quality | `lint` + `typecheck` + `test` + `build` — all pass |
|
|
392
395
|
| **REVIEW** | Small tasks | Quality (5-agent) | All reviewers PASS, no CRITICAL/MAJOR issues |
|
|
@@ -662,6 +665,8 @@ To disable, set `headroom.enabled: false` or run OpenCode without `headroom wrap
|
|
|
662
665
|
| [Orchestration](docs/orchestration-guide.md) | How agents coordinate, delegate, and recover |
|
|
663
666
|
| [Categories & Skills](docs/category-skill-guide.md) | Task categories, skill injection, delegation patterns |
|
|
664
667
|
| [Context Management](docs/context-management.md) | 5-layer context stack (Native, RTK, context-mode, DCP, Headroom) — setup, config, verification |
|
|
668
|
+
| [Task System](docs/task-system.md) | File-backed execution substrate (`.matrixx/tasks/T-{uuid}.json`), dependency graph, `task-continuation-enforcer` |
|
|
669
|
+
| [TDD](docs/tdd.md) | RED→GREEN→REFACTOR planning (Oracle) + enforcement (`tdd-enforcer` opt-in) |
|
|
665
670
|
|
|
666
671
|
---
|
|
667
672
|
|
|
@@ -4,7 +4,13 @@ export declare function getChecksByCategory(category: string): DoctorCheck[];
|
|
|
4
4
|
export declare function getCategories(): string[];
|
|
5
5
|
export { authCheck } from "./auth";
|
|
6
6
|
export { configValidationCheck } from "./config";
|
|
7
|
+
export { contextModeCheck } from "./context-mode";
|
|
8
|
+
export { dcpCheck } from "./dcp";
|
|
9
|
+
export { dockerCheck } from "./docker";
|
|
10
|
+
export { headroomCheck } from "./headroom";
|
|
7
11
|
export { mcpPrerequisitesCheck } from "./mcp";
|
|
8
12
|
export { optionalToolsCheck } from "./optional";
|
|
9
13
|
export { pluginInstallationCheck } from "./plugin";
|
|
14
|
+
export { rtkCheck } from "./rtk";
|
|
10
15
|
export { runtimeDepsCheck } from "./runtime";
|
|
16
|
+
export { tmuxCheck } from "./tmux";
|
|
@@ -6,7 +6,7 @@ export interface CheckResult {
|
|
|
6
6
|
category?: string;
|
|
7
7
|
detail?: string;
|
|
8
8
|
}
|
|
9
|
-
export type CheckCategory = "installation" | "configuration" | "authentication" | "dependencies" | "tools" | "updates";
|
|
9
|
+
export type CheckCategory = "installation" | "configuration" | "authentication" | "dependencies" | "tools" | "integrations" | "updates";
|
|
10
10
|
export interface DoctorCheck {
|
|
11
11
|
name: string;
|
|
12
12
|
category: CheckCategory;
|
package/dist/cli/index.d.ts
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* Commands:
|
|
6
6
|
* doctor - Environment diagnostics and health checks
|
|
7
7
|
* install - Interactive setup wizard (--no-tui for CI)
|
|
8
|
+
* setup - Standalone setup wizard for deps + matrixx.jsonc generation
|
|
8
9
|
* version - Display version information
|
|
9
10
|
* help - Display help information
|
|
10
11
|
*/
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type MatrixxConfig } from "../../config/schema/matrixx-config";
|
|
2
|
+
import type { SetupState } from "./types";
|
|
3
|
+
export declare function resolveMatrixxConfigPath(): {
|
|
4
|
+
format: "json" | "jsonc" | "none";
|
|
5
|
+
path: string;
|
|
6
|
+
};
|
|
7
|
+
export declare function buildMatrixxConfig(state: SetupState, existing: MatrixxConfig | null): MatrixxConfig;
|
|
8
|
+
export declare function previewDiff(existing: string, next: string): string;
|
|
9
|
+
export declare function writeMatrixxConfig(targetPath: string, config: MatrixxConfig, opts: {
|
|
10
|
+
dryRun: boolean;
|
|
11
|
+
backup: boolean;
|
|
12
|
+
}): Promise<void>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Platform } from "./types";
|
|
2
|
+
export declare const REQUIRED_DEPS: readonly ["bun", "opencode", "git"];
|
|
3
|
+
export declare const OPTIONAL_DEPS: readonly ["headroom", "rtk", "dcp", "gitleaks", "ast-grep", "playwright"];
|
|
4
|
+
export type InstallCommandMap = Record<string, Record<Platform | "all", string> | Record<string, string>>;
|
|
5
|
+
export declare const PLATFORM_INSTALL_COMMANDS: Record<string, Partial<Record<Platform | "all", string>>>;
|
|
6
|
+
export declare function getDcpInstallHint(): string;
|
|
7
|
+
export declare function configDirHint(): string;
|
|
8
|
+
export declare function dcpPluginDirHint(): string;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type DepStatus, type Platform } from "./types";
|
|
2
|
+
export declare function isBunVersionOk(found: string): boolean;
|
|
3
|
+
export declare function isOpenCodeVersionOk(found: string): boolean;
|
|
4
|
+
export declare function getPlatform(): Platform;
|
|
5
|
+
export declare function getInstallCommand(dep: string, platform: Platform): string;
|
|
6
|
+
export declare function checkRequiredDeps(): DepStatus[];
|
|
7
|
+
export declare function checkOptionalDeps(): DepStatus[];
|
|
8
|
+
export declare function formatDepReport(statuses: DepStatus[]): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { PLATFORM_INSTALL_COMMANDS } from "./constants";
|
|
2
|
+
export { checkOptionalDeps, checkRequiredDeps, formatDepReport, getInstallCommand, getPlatform, isBunVersionOk, isOpenCodeVersionOk } from "./deps";
|
|
3
|
+
export { runSetupPrompts } from "./prompts";
|
|
4
|
+
export type { DepStatus, Platform, SetupState } from "./types";
|
|
5
|
+
export declare function executeSetup(opts: {
|
|
6
|
+
dryRun: boolean;
|
|
7
|
+
yes: boolean;
|
|
8
|
+
}): Promise<string>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { SetupState } from "./types";
|
|
2
|
+
export declare function resolveOpencodeConfigPath(): {
|
|
3
|
+
format: "json" | "jsonc" | "none";
|
|
4
|
+
path: string;
|
|
5
|
+
};
|
|
6
|
+
export declare function syncOpencodePlugins(state: SetupState, opts: {
|
|
7
|
+
dryRun: boolean;
|
|
8
|
+
}): Promise<void>;
|
|
9
|
+
export declare function hasContextModePlugin(plugins: string[]): boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export type Platform = "darwin" | "linux" | "win32";
|
|
2
|
+
export type DepStatus = {
|
|
3
|
+
name: string;
|
|
4
|
+
required: boolean;
|
|
5
|
+
found: boolean;
|
|
6
|
+
version?: string;
|
|
7
|
+
installHint: string;
|
|
8
|
+
};
|
|
9
|
+
export type SetupState = {
|
|
10
|
+
taskSystem: boolean;
|
|
11
|
+
headroom: {
|
|
12
|
+
enabled: boolean;
|
|
13
|
+
proxyUrl?: string;
|
|
14
|
+
project?: string;
|
|
15
|
+
};
|
|
16
|
+
rtk: {
|
|
17
|
+
enabled: boolean;
|
|
18
|
+
binaryPath?: string;
|
|
19
|
+
};
|
|
20
|
+
dcp: {
|
|
21
|
+
enabled: boolean;
|
|
22
|
+
};
|
|
23
|
+
contextMode: boolean;
|
|
24
|
+
};
|
|
25
|
+
export declare const BUN_REQUIRED = "1.4.0";
|
|
26
|
+
export declare const OPENCODE_MIN = "1.0.150";
|