multimodel-dev-os 2.6.0 → 2.8.1

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 (51) hide show
  1. package/.ai/plugins/README.md +30 -0
  2. package/.ai/plugins/plugin.example.yaml +32 -0
  3. package/.ai/schema/plugin.schema.json +56 -0
  4. package/README.md +76 -219
  5. package/assets/adapter-sync-flow.svg +84 -0
  6. package/assets/architecture-preview.svg +46 -31
  7. package/assets/onboarding-flow.svg +79 -0
  8. package/assets/social-preview.svg +1 -1
  9. package/assets/terminal-demo.svg +22 -23
  10. package/bin/multimodel-dev-os.js +683 -2
  11. package/docs/.vitepress/config.js +25 -8
  12. package/docs/5-day-roadmap.md +9 -9
  13. package/docs/CLI.md +250 -111
  14. package/docs/architecture.md +31 -7
  15. package/docs/comparison.md +72 -25
  16. package/docs/compatibility.md +2 -2
  17. package/docs/dashboard.md +107 -0
  18. package/docs/demo.md +23 -60
  19. package/docs/demos/adapter-sync.md +103 -0
  20. package/docs/demos/existing-repo-onboarding.md +125 -0
  21. package/docs/demos/index.md +91 -0
  22. package/docs/demos/multi-agent-handoff.md +88 -0
  23. package/docs/demos/release-check.md +109 -0
  24. package/docs/demos/safe-improvement-loop.md +119 -0
  25. package/docs/distribution.md +195 -0
  26. package/docs/faq.md +91 -24
  27. package/docs/index.md +192 -81
  28. package/docs/installers.md +18 -4
  29. package/docs/launch-kit.md +97 -49
  30. package/docs/npm-publishing.md +6 -6
  31. package/docs/plugin-authoring.md +99 -0
  32. package/docs/plugin-hooks.md +89 -0
  33. package/docs/public/assets/adapter-sync-flow.svg +84 -0
  34. package/docs/public/assets/onboarding-flow.svg +79 -0
  35. package/docs/public/llms-full.txt +16 -3
  36. package/docs/public/llms.txt +13 -1
  37. package/docs/public/sitemap.xml +55 -0
  38. package/docs/quickstart.md +80 -26
  39. package/docs/repository-command-center.md +16 -0
  40. package/docs/tui-safety.md +59 -0
  41. package/docs/use-cases.md +21 -0
  42. package/docs/v2-roadmap.md +80 -88
  43. package/docs/workflow-orchestration.md +3 -0
  44. package/examples/adapter-sync/README.md +45 -0
  45. package/examples/command-center/README.md +59 -0
  46. package/examples/real-repo-onboarding/README.md +53 -0
  47. package/examples/safe-improvement-loop/README.md +48 -0
  48. package/package.json +1 -1
  49. package/scripts/install.ps1 +1 -1
  50. package/scripts/install.sh +1 -1
  51. package/scripts/verify.js +88 -0
@@ -0,0 +1,99 @@
1
+ # Plugin Authoring Guide
2
+
3
+ MultiModel Dev OS declarative plugins allow you to share templates, rules, custom workflows, and adapters across different repositories. This guide walks you through authoring and packaging a compliant plugin.
4
+
5
+ ---
6
+
7
+ ## Plugin Manifest Schema
8
+
9
+ A plugin is defined by a single YAML or JSON file. The manifest schema structure is enforced by [.ai/schema/plugin.schema.json](file:///f:/multimodel-dev-os/.ai/schema/plugin.schema.json).
10
+
11
+ ### Required Fields
12
+
13
+ * **`name`** (string): The human-readable name of the plugin (e.g. `Git Integration Plugin`).
14
+ * **`slug`** (string): A unique, URL-friendly slug identifier. Must consist strictly of lowercase alphanumeric characters, dashes, or underscores (`/^[a-z0-9-_]+$/i`, e.g. `git-integration`). This slug determines the filename under `.ai/plugins/<slug>.yaml` after installation.
15
+ * **`version`** (string): Semantic version string (e.g. `1.0.0`).
16
+ * **`description`** (string): A brief summary of the capabilities introduced by the plugin.
17
+ * **`author`** (string): The creator's name or team.
18
+
19
+ ### Optional Config Fields
20
+
21
+ * **`allowed_file_patterns`** (array of strings): A list of relative paths within the whitelist directory boundaries (`.ai/` or `adapters/`) that this plugin plans to install.
22
+ * **`denied_file_patterns`** (array of strings): Explicit glob patterns of forbidden locations.
23
+ * **`templates`** (object): Custom project templates registered by the plugin.
24
+ * **`workflows`** (object): Custom workflows added by the plugin (reused by `multimodel-dev-os workflow run`).
25
+ * **`adapters`** (object): Custom adapter settings mappings.
26
+ * **`safety_notes`** (string): Security disclosures printed to the user before they approve installation.
27
+
28
+ ---
29
+
30
+ ## Example Manifest
31
+
32
+ Here is a standard example manifest mapping custom git operations and rules:
33
+
34
+ ```yaml
35
+ name: "Example Git Integration Plugin"
36
+ slug: "git-integration"
37
+ version: "1.0.0"
38
+ description: "Declarative plugin extending MultiModel Dev OS with custom git workflows and rules"
39
+ author: "MultiModel Dev OS Team"
40
+ allowed_file_patterns:
41
+ - ".ai/skills/git-operations.md"
42
+ - ".ai/checks/pre-push-audit.md"
43
+ denied_file_patterns:
44
+ - "src/**"
45
+ - ".env"
46
+ - "node_modules/**"
47
+ templates:
48
+ git-commit-helper:
49
+ name: "Git Commit Message Assistant"
50
+ description: "Generates semantic commit messages based on staged diffs"
51
+ workflows:
52
+ git-audit:
53
+ name: "Pre-Push Git Audit"
54
+ description: "Scan branch status and verify all local commits pass verification before pushing code"
55
+ steps:
56
+ - name: "Status Check"
57
+ command: "status"
58
+ - name: "Doctor Pre-flight Audit"
59
+ command: "doctor"
60
+ - name: "Integrity Verify"
61
+ command: "verify"
62
+ adapters:
63
+ git-rules:
64
+ name: "Git Rules Configuration"
65
+ targetFile: ".gitattributes"
66
+ safety_notes: "This plugin only writes configurations to .ai/skills/ and .ai/checks/ to aid developer git workflows. No binary code is executed."
67
+ ```
68
+
69
+ ---
70
+
71
+ ## Local Validation
72
+
73
+ Before distributing your plugin, always validate the manifest structure using the built-in validation CLI:
74
+
75
+ ```bash
76
+ npx multimodel-dev-os@latest plugin validate path/to/your-plugin.yaml
77
+ ```
78
+
79
+ If the validation fails, it outputs detailed error reports indicating which schema constraint was violated.
80
+
81
+ ---
82
+
83
+ ## Packaging Guidelines
84
+
85
+ A packaged plugin folder should mirror the workspace directory structure. For example, if a plugin copies `.ai/skills/git-operations.md`, the folder layout must look like:
86
+
87
+ ```txt
88
+ your-plugin-folder/
89
+ ├── plugin.yaml
90
+ └── .ai/
91
+ └── skills/
92
+ └── git-operations.md
93
+ ```
94
+
95
+ To install this plugin locally, users run:
96
+
97
+ ```bash
98
+ npx multimodel-dev-os@latest plugin install your-plugin-folder/plugin.yaml --approved
99
+ ```
@@ -0,0 +1,89 @@
1
+ # Declarative Plugin Hooks System
2
+
3
+ MultiModel Dev OS features a secure, registry-based **Declarative Plugin System** designed to extend workspace templates, rules, workflows, and skills without exposing repositories to arbitrary third-party code execution or dependency vulnerabilities.
4
+
5
+ ---
6
+
7
+ ## Safety & Security Boundaries
8
+
9
+ To maintain absolute containment, plugins in MMDO are **strictly declarative configs (YAML)**.
10
+
11
+ | Allowed Operations | Forbidden Operations (Hard Blocked) |
12
+ |:---|:---|
13
+ | Copying markdown templates into `.ai/templates/` | Arbitrary JavaScript execution (`eval` or `vm`) |
14
+ | Injecting custom skills into `.ai/skills/` | Running external shell scripts, npm install, or binaries |
15
+ | Registering advisory checks in `.ai/checks/` | Writing files to source directories (e.g. `src/`, `lib/`) |
16
+ | Mapping adapter rules in `adapters/` | Modifying `.env`, `.git/`, `.npmrc`, or `package.json` |
17
+ | Setting up custom read-only workflow lists | Fetching remote packages or making network calls |
18
+
19
+ Every file copy operation requested by a plugin must match against a strict whitelist of safe directories:
20
+ * `.ai/plugins/`
21
+ * `.ai/registries/`
22
+ * `.ai/templates/`
23
+ * `.ai/skills/`
24
+ * `.ai/checks/`
25
+ * `.ai/prompts/`
26
+ * `.ai/adapters/`
27
+
28
+ ---
29
+
30
+ ## Plugin Commands
31
+
32
+ ### 1. `plugin list`
33
+ Lists all plugins currently installed in the workspace directory.
34
+
35
+ ```bash
36
+ npx multimodel-dev-os@latest plugin list [--json]
37
+ ```
38
+
39
+ ### 2. `plugin show`
40
+ Inspect the specifications, capabilities, and safety notes of an installed plugin.
41
+
42
+ ```bash
43
+ npx multimodel-dev-os@latest plugin show <slug>
44
+ ```
45
+
46
+ ### 3. `plugin validate`
47
+ Validate a plugin manifest YAML file locally before submitting it to a repository. Ensures the manifest conforms to the JSON Schema and contains no safety violations.
48
+
49
+ ```bash
50
+ npx multimodel-dev-os@latest plugin validate <path-to-yaml>
51
+ ```
52
+
53
+ ### 4. `plugin install`
54
+ Install a plugin from a local manifest file.
55
+
56
+ ```bash
57
+ # Preview the planned copy actions (Dry Run)
58
+ npx multimodel-dev-os@latest plugin install <path-to-yaml>
59
+
60
+ # Apply the copy actions (Execution Gate)
61
+ npx multimodel-dev-os@latest plugin install <path-to-yaml> --approved
62
+
63
+ # Force overwrite of conflicting files (creates .bak backups)
64
+ npx multimodel-dev-os@latest plugin install <path-to-yaml> --approved --force
65
+ ```
66
+
67
+ ### 5. `plugin status`
68
+ Check the health status of installed plugins. Verifies if all declared templates, skills, or rules are present in their target `.ai/` directories.
69
+
70
+ ```bash
71
+ npx multimodel-dev-os@latest plugin status [--target <path>]
72
+ ```
73
+
74
+ ---
75
+
76
+ ## Overwrite Protection & Backup System
77
+
78
+ When a plugin installation causes file conflicts:
79
+ * By default, the installer aborts and prints a list of conflicting files.
80
+ * Running with `--force` overwrites the destination files but automatically copies the existing file to `<filename>.bak` in the same directory.
81
+
82
+ ---
83
+
84
+ ## Validation & Safe Execution Gates
85
+
86
+ To prevent path traversal and enforce robust script auditing:
87
+ * **Alphanumeric Slug Constraints**: Slugs are validated against `/^[a-z0-9-_]+$/i` to block directory escapes when writing to `.ai/plugins/<slug>.yaml`.
88
+ * **Path Boundary checks**: The `plugin validate` CLI command automatically parses `allowed_file_patterns` to assert they fit within whitelisted `.ai/` and `adapters/` folders, checking that no `..` traversal or blacklisted files are referenced.
89
+ * **Non-zero CI exit codes**: If `plugin install` is called without the `--approved` flag, it prints planned actions and exits with **exit code 1** to abort scripting pipelines safely.
@@ -0,0 +1,84 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 900 320" width="100%" height="100%" style="font-family: 'Outfit', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;">
2
+ <defs>
3
+ <linearGradient id="bg" x1="0%" y1="0%" x2="100%" y2="100%">
4
+ <stop offset="0%" stop-color="#070a13" />
5
+ <stop offset="100%" stop-color="#0d111d" />
6
+ </linearGradient>
7
+ <linearGradient id="accent" x1="0%" y1="0%" x2="100%" y2="0%">
8
+ <stop offset="0%" stop-color="#6366f1" />
9
+ <stop offset="100%" stop-color="#10b981" />
10
+ </linearGradient>
11
+ <linearGradient id="card" x1="0%" y1="0%" x2="0%" y2="100%">
12
+ <stop offset="0%" stop-color="#ffffff" stop-opacity="0.06" />
13
+ <stop offset="100%" stop-color="#ffffff" stop-opacity="0.02" />
14
+ </linearGradient>
15
+ </defs>
16
+
17
+ <!-- Background -->
18
+ <rect width="900" height="320" rx="16" fill="url(#bg)" />
19
+ <rect x="1" y="1" width="898" height="318" rx="15" fill="none" stroke="#1e293b" stroke-width="1" />
20
+
21
+ <!-- Title -->
22
+ <text x="450" y="38" text-anchor="middle" font-size="18" font-weight="800" fill="#e2e8f0" letter-spacing="0.5">ADAPTER SYNC FLOW</text>
23
+ <rect x="200" y="48" width="500" height="2" rx="1" fill="url(#accent)" opacity="0.4" />
24
+
25
+ <!-- Source: AGENTS.md -->
26
+ <rect x="30" y="75" width="180" height="90" rx="12" fill="url(#card)" stroke="#4f46e5" stroke-width="1.5" />
27
+ <text x="120" y="105" text-anchor="middle" font-size="15" font-weight="800" fill="#a78bfa">AGENTS.md</text>
28
+ <text x="120" y="125" text-anchor="middle" font-size="10" fill="#94a3b8">Single source of truth</text>
29
+ <text x="120" y="140" text-anchor="middle" font-size="10" fill="#94a3b8">for all AI coding rules</text>
30
+ <text x="120" y="155" text-anchor="middle" font-size="9" fill="#10b981" font-weight="600">YOUR RULES</text>
31
+
32
+ <!-- Arrow source → adapter sync -->
33
+ <line x1="215" y1="120" x2="275" y2="120" stroke="url(#accent)" stroke-width="2" />
34
+ <polygon points="275,115 285,120 275,125" fill="#10b981" />
35
+
36
+ <!-- Adapter Sync Engine -->
37
+ <rect x="290" y="70" width="160" height="100" rx="12" fill="url(#card)" stroke="#10b981" stroke-width="1.5" />
38
+ <text x="370" y="100" text-anchor="middle" font-size="28">🔄</text>
39
+ <text x="370" y="125" text-anchor="middle" font-size="13" font-weight="700" fill="#f8fafc">adapter sync</text>
40
+ <text x="370" y="143" text-anchor="middle" font-size="10" fill="#94a3b8">Diff + copy with</text>
41
+ <text x="370" y="156" text-anchor="middle" font-size="10" fill="#94a3b8">backup protection</text>
42
+
43
+ <!-- Arrows to targets -->
44
+ <line x1="455" y1="95" x2="540" y2="55" stroke="#6366f1" stroke-width="1.5" />
45
+ <line x1="455" y1="110" x2="540" y2="95" stroke="#6366f1" stroke-width="1.5" />
46
+ <line x1="455" y1="125" x2="540" y2="135" stroke="#6366f1" stroke-width="1.5" />
47
+ <line x1="455" y1="140" x2="540" y2="175" stroke="#6366f1" stroke-width="1.5" />
48
+ <line x1="455" y1="155" x2="540" y2="215" stroke="#6366f1" stroke-width="1.5" />
49
+ <line x1="455" y1="165" x2="540" y2="255" stroke="#6366f1" stroke-width="1.5" />
50
+
51
+ <!-- Target: Cursor -->
52
+ <rect x="545" y="35" width="160" height="36" rx="8" fill="url(#card)" stroke="#334155" stroke-width="1" />
53
+ <text x="555" y="58" font-size="14">🎯</text>
54
+ <text x="578" y="58" font-size="12" font-weight="600" fill="#f8fafc">.cursorrules</text>
55
+
56
+ <!-- Target: Claude -->
57
+ <rect x="545" y="78" width="160" height="36" rx="8" fill="url(#card)" stroke="#334155" stroke-width="1" />
58
+ <text x="555" y="101" font-size="14">⚡</text>
59
+ <text x="578" y="101" font-size="12" font-weight="600" fill="#f8fafc">CLAUDE.md</text>
60
+
61
+ <!-- Target: VS Code -->
62
+ <rect x="545" y="121" width="160" height="36" rx="8" fill="url(#card)" stroke="#334155" stroke-width="1" />
63
+ <text x="555" y="144" font-size="14">💻</text>
64
+ <text x="578" y="144" font-size="12" font-weight="600" fill="#f8fafc">.vscode/settings.json</text>
65
+
66
+ <!-- Target: Gemini -->
67
+ <rect x="545" y="164" width="160" height="36" rx="8" fill="url(#card)" stroke="#334155" stroke-width="1" />
68
+ <text x="555" y="187" font-size="14">🧠</text>
69
+ <text x="578" y="187" font-size="12" font-weight="600" fill="#f8fafc">GEMINI.md</text>
70
+
71
+ <!-- Target: Antigravity -->
72
+ <rect x="545" y="207" width="160" height="36" rx="8" fill="url(#card)" stroke="#334155" stroke-width="1" />
73
+ <text x="555" y="230" font-size="14">🪐</text>
74
+ <text x="578" y="230" font-size="12" font-weight="600" fill="#f8fafc">.gemini/settings.json</text>
75
+
76
+ <!-- Target: More -->
77
+ <rect x="545" y="250" width="160" height="36" rx="8" fill="url(#card)" stroke="#334155" stroke-width="1" />
78
+ <text x="555" y="273" font-size="14">🔌</text>
79
+ <text x="578" y="273" font-size="12" font-weight="600" fill="#94a3b8">+ Cline, Aider, ...</text>
80
+
81
+ <!-- Footer command -->
82
+ <rect x="30" y="280" width="500" height="30" rx="8" fill="#090d16" stroke="#1e293b" stroke-width="1" />
83
+ <text x="45" y="300" font-family="'Fira Code', 'JetBrains Mono', monospace" font-size="12" fill="#34d399">$ <tspan fill="#e2e8f0">npx multimodel-dev-os@latest adapter sync all --approved</tspan></text>
84
+ </svg>
@@ -0,0 +1,79 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 900 340" width="100%" height="100%" style="font-family: 'Outfit', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;">
2
+ <defs>
3
+ <linearGradient id="bg" x1="0%" y1="0%" x2="100%" y2="100%">
4
+ <stop offset="0%" stop-color="#070a13" />
5
+ <stop offset="100%" stop-color="#0d111d" />
6
+ </linearGradient>
7
+ <linearGradient id="accent" x1="0%" y1="0%" x2="100%" y2="0%">
8
+ <stop offset="0%" stop-color="#6366f1" />
9
+ <stop offset="100%" stop-color="#10b981" />
10
+ </linearGradient>
11
+ <linearGradient id="card" x1="0%" y1="0%" x2="0%" y2="100%">
12
+ <stop offset="0%" stop-color="#ffffff" stop-opacity="0.06" />
13
+ <stop offset="100%" stop-color="#ffffff" stop-opacity="0.02" />
14
+ </linearGradient>
15
+ </defs>
16
+
17
+ <!-- Background -->
18
+ <rect width="900" height="340" rx="16" fill="url(#bg)" />
19
+ <rect x="1" y="1" width="898" height="338" rx="15" fill="none" stroke="#1e293b" stroke-width="1" />
20
+
21
+ <!-- Title -->
22
+ <text x="450" y="38" text-anchor="middle" font-size="18" font-weight="800" fill="#e2e8f0" letter-spacing="0.5">EXISTING REPO ONBOARDING FLOW</text>
23
+ <rect x="150" y="48" width="600" height="2" rx="1" fill="url(#accent)" opacity="0.4" />
24
+
25
+ <!-- Step 1 -->
26
+ <rect x="30" y="75" width="160" height="100" rx="12" fill="url(#card)" stroke="#334155" stroke-width="1" />
27
+ <text x="110" y="100" text-anchor="middle" font-size="28">🔍</text>
28
+ <text x="110" y="124" text-anchor="middle" font-size="13" font-weight="700" fill="#f8fafc">1. Analyze</text>
29
+ <text x="110" y="142" text-anchor="middle" font-size="10" fill="#94a3b8">Scan frameworks,</text>
30
+ <text x="110" y="155" text-anchor="middle" font-size="10" fill="#94a3b8">languages, config</text>
31
+ <text x="110" y="168" text-anchor="middle" font-size="9" fill="#10b981" font-weight="600">READ-ONLY</text>
32
+
33
+ <!-- Arrow 1→2 -->
34
+ <line x1="195" y1="125" x2="225" y2="125" stroke="#6366f1" stroke-width="2" />
35
+ <polygon points="225,120 235,125 225,130" fill="#6366f1" />
36
+
37
+ <!-- Step 2 -->
38
+ <rect x="240" y="75" width="160" height="100" rx="12" fill="url(#card)" stroke="#334155" stroke-width="1" />
39
+ <text x="320" y="100" text-anchor="middle" font-size="28">📋</text>
40
+ <text x="320" y="124" text-anchor="middle" font-size="13" font-weight="700" fill="#f8fafc">2. Recommend</text>
41
+ <text x="320" y="142" text-anchor="middle" font-size="10" fill="#94a3b8">Template match,</text>
42
+ <text x="320" y="155" text-anchor="middle" font-size="10" fill="#94a3b8">adapter suggestions</text>
43
+ <text x="320" y="168" text-anchor="middle" font-size="9" fill="#10b981" font-weight="600">READ-ONLY</text>
44
+
45
+ <!-- Arrow 2→3 -->
46
+ <line x1="405" y1="125" x2="435" y2="125" stroke="#6366f1" stroke-width="2" />
47
+ <polygon points="435,120 445,125 435,130" fill="#6366f1" />
48
+
49
+ <!-- Step 3 -->
50
+ <rect x="450" y="75" width="160" height="100" rx="12" fill="url(#card)" stroke="#334155" stroke-width="1" />
51
+ <text x="530" y="100" text-anchor="middle" font-size="28">📝</text>
52
+ <text x="530" y="124" text-anchor="middle" font-size="13" font-weight="700" fill="#f8fafc">3. Plan</text>
53
+ <text x="530" y="142" text-anchor="middle" font-size="10" fill="#94a3b8">Generate onboarding</text>
54
+ <text x="530" y="155" text-anchor="middle" font-size="10" fill="#94a3b8">plan + report</text>
55
+ <text x="530" y="168" text-anchor="middle" font-size="9" fill="#10b981" font-weight="600">GITIGNORED OUTPUT</text>
56
+
57
+ <!-- Arrow 3→4 -->
58
+ <line x1="615" y1="125" x2="645" y2="125" stroke="#6366f1" stroke-width="2" />
59
+ <polygon points="645,120 655,125 645,130" fill="#6366f1" />
60
+
61
+ <!-- Step 4 -->
62
+ <rect x="660" y="75" width="210" height="100" rx="12" fill="url(#card)" stroke="#4f46e5" stroke-width="1.5" />
63
+ <text x="765" y="100" text-anchor="middle" font-size="28">✅</text>
64
+ <text x="765" y="124" text-anchor="middle" font-size="13" font-weight="700" fill="#f8fafc">4. Apply + Status</text>
65
+ <text x="765" y="142" text-anchor="middle" font-size="10" fill="#94a3b8">Bootstrap configs,</text>
66
+ <text x="765" y="155" text-anchor="middle" font-size="10" fill="#94a3b8">auto-backups, verify</text>
67
+ <text x="765" y="168" text-anchor="middle" font-size="9" fill="#f59e0b" font-weight="600">REQUIRES --approved</text>
68
+
69
+ <!-- Command examples -->
70
+ <rect x="30" y="200" width="840" height="120" rx="12" fill="#090d16" stroke="#1e293b" stroke-width="1" />
71
+ <text x="50" y="228" font-family="'Fira Code', 'JetBrains Mono', monospace" font-size="13" fill="#34d399">$</text>
72
+ <text x="68" y="228" font-family="'Fira Code', 'JetBrains Mono', monospace" font-size="13" fill="#e2e8f0">npx multimodel-dev-os@latest onboard analyze</text>
73
+ <text x="50" y="252" font-family="'Fira Code', 'JetBrains Mono', monospace" font-size="13" fill="#34d399">$</text>
74
+ <text x="68" y="252" font-family="'Fira Code', 'JetBrains Mono', monospace" font-size="13" fill="#e2e8f0">npx multimodel-dev-os@latest onboard recommend</text>
75
+ <text x="50" y="276" font-family="'Fira Code', 'JetBrains Mono', monospace" font-size="13" fill="#34d399">$</text>
76
+ <text x="68" y="276" font-family="'Fira Code', 'JetBrains Mono', monospace" font-size="13" fill="#e2e8f0">npx multimodel-dev-os@latest onboard plan</text>
77
+ <text x="50" y="300" font-family="'Fira Code', 'JetBrains Mono', monospace" font-size="13" fill="#34d399">$</text>
78
+ <text x="68" y="300" font-family="'Fira Code', 'JetBrains Mono', monospace" font-size="13" fill="#e2e8f0">npx multimodel-dev-os@latest onboard apply --approved</text>
79
+ </svg>
@@ -1,4 +1,4 @@
1
- # MultiModel Dev OS — Comprehensive AI Assistant Discoverability Guide (v2.6.0 Stable Release)
1
+ # MultiModel Dev OS — Comprehensive AI Assistant Discoverability Guide (v2.8.1 Stable Release)
2
2
 
3
3
  MultiModel Dev OS is a repository-level porting specification designed to align context and instructions across diverse developer tools and AI models.
4
4
 
@@ -16,12 +16,17 @@ The protocol decouples the centralized workspace context from the individual too
16
16
  └──────────────────────────┬─────────────────────────────┘
17
17
  │ Centralizes project context
18
18
  ┌──────────────────────────▼─────────────────────────────┐
19
- │ LAYER 2: Configuration & Modules (.ai/)
19
+ │ LAYER 2: Configuration & Intelligence (.ai/)
20
20
  │ context/ • agents/ • skills/ • prompts/ • checks/ │
21
21
  └──────────────────────────┬─────────────────────────────┘
22
22
  │ Routes files dynamically
23
23
  ┌──────────────────────────▼─────────────────────────────┐
24
- │ LAYER 3: Tool & IDE Adapters
24
+ │ LAYER 3: Engine Workflows & Safety Gates
25
+ │ onboard • adapter sync • improve • verify doctor │
26
+ └──────────────────────────┬─────────────────────────────┘
27
+ │ Runs compliance checkups
28
+ ┌──────────────────────────▼─────────────────────────────┐
29
+ │ LAYER 4: Tool & IDE Adapters │
25
30
  │ .cursorrules • CLAUDE.md • .vscode/ • .gemini/ • etc. │
26
31
  └────────────────────────────────────────────────────────┘
27
32
  ```
@@ -68,6 +73,13 @@ All compliant MultiModel Dev OS CLIs strictly enforce the following command cont
68
73
  - `log`: Display Applied Proposals Audit Log execution history.
69
74
  - **`workflow`**: Orchestrate read-only development workflows (list, show, plan, run). Steps are restricted to safe, non-destructive CLI functions.
70
75
  - **`handoff`**: Compile token-compressed session context (build, show) at `.ai/intelligence/handoff.md` to transfer state to a new agent or model session.
76
+ - **`dashboard`** (alias **`ui`**): Launches the zero-dependency interactive TUI dashboard. Automatically falls back to a clean list of equivalent commands when stdin/stdout are non-TTY.
77
+ - **`plugin`**: Manage declarative plugins. Subcommands:
78
+ - `list`: Lists installed plugins.
79
+ - `show <slug>`: Shows detailed capabilities and safety notes of the plugin.
80
+ - `validate <path>`: Validates a YAML config file against the plugin JSON schema.
81
+ - `install <path>`: Previews file copy actions, and copies them to whitelisted paths under `.ai/` or `adapters/` if `--approved` is specified.
82
+ - `status`: Audits target directory to ensure all declared plugin assets are present.
71
83
  - **`verify`**: Automated release script that checks structure integrity.
72
84
  - **`templates`**: Lists built-in template profiles (supports overrides via `--registry <path>`).
73
85
  - **`validate`**: Strict Quality Gate checking the layout rules on disk (supports `--all-registries`).
@@ -105,6 +117,7 @@ npx multimodel-dev-os@latest init --caveman
105
117
 
106
118
  ## 5. Canonical Links
107
119
  - **Documentation site**: https://rizvee.github.io/multimodel-dev-os/
120
+ - **Guided Demo Workflows**: https://rizvee.github.io/multimodel-dev-os/demos/
108
121
  - **GitHub Codebase**: https://github.com/rizvee/multimodel-dev-os
109
122
  - **v2.0.0 Roadmap**: https://rizvee.github.io/multimodel-dev-os/v2-roadmap
110
123
  - **Release Policies**: https://rizvee.github.io/multimodel-dev-os/release-policy
@@ -1,4 +1,4 @@
1
- # MultiModel Dev OS (v2.6.0 Stable Release)
1
+ # MultiModel Dev OS (v2.8.1 Stable Release)
2
2
 
3
3
  Portable, vendor-neutral workspace configuration standard for multi-agent AI pair-programming workflows.
4
4
 
@@ -7,6 +7,17 @@ Portable, vendor-neutral workspace configuration standard for multi-agent AI pai
7
7
  # Initialize workspace
8
8
  npx multimodel-dev-os@latest init
9
9
 
10
+ # Launch interactive terminal command center (TUI Dashboard)
11
+ npx multimodel-dev-os@latest dashboard
12
+ npx multimodel-dev-os@latest ui
13
+
14
+ # Manage declarative plugins securely
15
+ npx multimodel-dev-os@latest plugin list
16
+ npx multimodel-dev-os@latest plugin show git-integration
17
+ npx multimodel-dev-os@latest plugin validate path/to/plugin.yaml
18
+ npx multimodel-dev-os@latest plugin install path/to/plugin.yaml --approved
19
+ npx multimodel-dev-os@latest plugin status
20
+
10
21
  # Scan codebase signals & check status
11
22
  npx multimodel-dev-os@latest scan
12
23
  npx multimodel-dev-os@latest status
@@ -64,6 +75,7 @@ npx multimodel-dev-os@latest improve log
64
75
  - **Canonical Website**: https://rizvee.github.io/multimodel-dev-os/
65
76
  - **GitHub Repository**: https://github.com/rizvee/multimodel-dev-os
66
77
  - **NPM Package**: https://www.npmjs.com/package/multimodel-dev-os
78
+ - **Guided Demo Workflows**: https://rizvee.github.io/multimodel-dev-os/demos/
67
79
  - **Stable Protocol Specification**: https://rizvee.github.io/multimodel-dev-os/stable-protocol
68
80
  - **Model Compatibility & Routing Guide**: https://rizvee.github.io/multimodel-dev-os/model-compatibility
69
81
  - **Cost/Context Optimization Playbook**: https://rizvee.github.io/multimodel-dev-os/cost-optimization
@@ -145,4 +145,59 @@
145
145
  <changefreq>weekly</changefreq>
146
146
  <priority>0.7</priority>
147
147
  </url>
148
+ <url>
149
+ <loc>https://rizvee.github.io/multimodel-dev-os/demos/</loc>
150
+ <changefreq>weekly</changefreq>
151
+ <priority>0.8</priority>
152
+ </url>
153
+ <url>
154
+ <loc>https://rizvee.github.io/multimodel-dev-os/demos/existing-repo-onboarding</loc>
155
+ <changefreq>weekly</changefreq>
156
+ <priority>0.8</priority>
157
+ </url>
158
+ <url>
159
+ <loc>https://rizvee.github.io/multimodel-dev-os/demos/multi-agent-handoff</loc>
160
+ <changefreq>weekly</changefreq>
161
+ <priority>0.8</priority>
162
+ </url>
163
+ <url>
164
+ <loc>https://rizvee.github.io/multimodel-dev-os/demos/safe-improvement-loop</loc>
165
+ <changefreq>weekly</changefreq>
166
+ <priority>0.8</priority>
167
+ </url>
168
+ <url>
169
+ <loc>https://rizvee.github.io/multimodel-dev-os/demos/adapter-sync</loc>
170
+ <changefreq>weekly</changefreq>
171
+ <priority>0.8</priority>
172
+ </url>
173
+ <url>
174
+ <loc>https://rizvee.github.io/multimodel-dev-os/demos/release-check</loc>
175
+ <changefreq>weekly</changefreq>
176
+ <priority>0.8</priority>
177
+ </url>
178
+ <url>
179
+ <loc>https://rizvee.github.io/multimodel-dev-os/distribution</loc>
180
+ <changefreq>weekly</changefreq>
181
+ <priority>0.8</priority>
182
+ </url>
183
+ <url>
184
+ <loc>https://rizvee.github.io/multimodel-dev-os/dashboard</loc>
185
+ <changefreq>weekly</changefreq>
186
+ <priority>0.7</priority>
187
+ </url>
188
+ <url>
189
+ <loc>https://rizvee.github.io/multimodel-dev-os/plugin-hooks</loc>
190
+ <changefreq>weekly</changefreq>
191
+ <priority>0.7</priority>
192
+ </url>
193
+ <url>
194
+ <loc>https://rizvee.github.io/multimodel-dev-os/plugin-authoring</loc>
195
+ <changefreq>weekly</changefreq>
196
+ <priority>0.7</priority>
197
+ </url>
198
+ <url>
199
+ <loc>https://rizvee.github.io/multimodel-dev-os/tui-safety</loc>
200
+ <changefreq>weekly</changefreq>
201
+ <priority>0.7</priority>
202
+ </url>
148
203
  </urlset>