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.
- package/.ai/plugins/README.md +30 -0
- package/.ai/plugins/plugin.example.yaml +32 -0
- package/.ai/schema/plugin.schema.json +56 -0
- package/README.md +76 -219
- package/assets/adapter-sync-flow.svg +84 -0
- package/assets/architecture-preview.svg +46 -31
- package/assets/onboarding-flow.svg +79 -0
- package/assets/social-preview.svg +1 -1
- package/assets/terminal-demo.svg +22 -23
- package/bin/multimodel-dev-os.js +683 -2
- package/docs/.vitepress/config.js +25 -8
- package/docs/5-day-roadmap.md +9 -9
- package/docs/CLI.md +250 -111
- package/docs/architecture.md +31 -7
- package/docs/comparison.md +72 -25
- package/docs/compatibility.md +2 -2
- package/docs/dashboard.md +107 -0
- package/docs/demo.md +23 -60
- package/docs/demos/adapter-sync.md +103 -0
- package/docs/demos/existing-repo-onboarding.md +125 -0
- package/docs/demos/index.md +91 -0
- package/docs/demos/multi-agent-handoff.md +88 -0
- package/docs/demos/release-check.md +109 -0
- package/docs/demos/safe-improvement-loop.md +119 -0
- package/docs/distribution.md +195 -0
- package/docs/faq.md +91 -24
- package/docs/index.md +192 -81
- package/docs/installers.md +18 -4
- package/docs/launch-kit.md +97 -49
- package/docs/npm-publishing.md +6 -6
- package/docs/plugin-authoring.md +99 -0
- package/docs/plugin-hooks.md +89 -0
- package/docs/public/assets/adapter-sync-flow.svg +84 -0
- package/docs/public/assets/onboarding-flow.svg +79 -0
- package/docs/public/llms-full.txt +16 -3
- package/docs/public/llms.txt +13 -1
- package/docs/public/sitemap.xml +55 -0
- package/docs/quickstart.md +80 -26
- package/docs/repository-command-center.md +16 -0
- package/docs/tui-safety.md +59 -0
- package/docs/use-cases.md +21 -0
- package/docs/v2-roadmap.md +80 -88
- package/docs/workflow-orchestration.md +3 -0
- package/examples/adapter-sync/README.md +45 -0
- package/examples/command-center/README.md +59 -0
- package/examples/real-repo-onboarding/README.md +53 -0
- package/examples/safe-improvement-loop/README.md +48 -0
- package/package.json +1 -1
- package/scripts/install.ps1 +1 -1
- package/scripts/install.sh +1 -1
- 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.
|
|
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 &
|
|
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:
|
|
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
|
package/docs/public/llms.txt
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# MultiModel Dev OS (v2.
|
|
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
|
package/docs/public/sitemap.xml
CHANGED
|
@@ -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>
|