multimodel-dev-os 2.6.0 → 2.8.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 (50) 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 +601 -1
  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 +105 -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 +80 -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 +75 -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
@@ -1,4 +1,4 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 820 400" width="100%" height="100%" style="font-family: 'Outfit', 'Inter', -apple-system, sans-serif;">
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 820 420" width="100%" height="100%" style="font-family: 'Outfit', 'Inter', -apple-system, sans-serif;">
2
2
  <defs>
3
3
  <!-- Card Gradients -->
4
4
  <linearGradient id="rootCard" x1="0%" y1="0%" x2="100%" y2="100%">
@@ -9,6 +9,10 @@
9
9
  <stop offset="0%" stop-color="#111827" />
10
10
  <stop offset="100%" stop-color="#1f2937" />
11
11
  </linearGradient>
12
+ <linearGradient id="engineCard" x1="0%" y1="0%" x2="100%" y2="100%">
13
+ <stop offset="0%" stop-color="#064e3b" />
14
+ <stop offset="100%" stop-color="#022c22" />
15
+ </linearGradient>
12
16
 
13
17
  <!-- Flow Connector -->
14
18
  <linearGradient id="flowGrad" x1="0%" y1="0%" x2="0%" y2="100%">
@@ -18,75 +22,86 @@
18
22
  </defs>
19
23
 
20
24
  <!-- Canvas Container -->
21
- <rect width="820" height="400" rx="12" fill="#090d16" stroke="#1e293b" stroke-width="1.5"/>
25
+ <rect width="820" height="420" rx="12" fill="#090d16" stroke="#1e293b" stroke-width="1.5"/>
26
+
27
+ <!-- Layer 1: Central Root Contracts -->
28
+ <g transform="translate(110, 15)">
29
+ <rect width="600" height="60" rx="12" fill="url(#rootCard)" stroke="#4f46e5" stroke-width="2"/>
30
+ <text x="300" y="24" font-size="12" font-weight="800" fill="#a5b4fc" text-anchor="middle" letter-spacing="1">LAYER 1: CENTRAL ROOT CONTRACTS (SINGLE SOURCE)</text>
31
+ <text x="300" y="46" font-size="14" font-weight="700" fill="#f8fafc" text-anchor="middle">AGENTS.md • MEMORY.md • TASKS.md • RUNBOOK.md</text>
32
+ </g>
33
+
34
+ <!-- Flow Connector L1 -> L2 -->
35
+ <path d="M 410,75 L 410,95" stroke="url(#flowGrad)" stroke-width="3" stroke-dasharray="4,4" fill="none"/>
22
36
 
23
- <!-- Layer 1: Root Files Single Source of Truth -->
24
- <g transform="translate(110, 25)">
25
- <rect width="600" height="85" rx="12" fill="url(#rootCard)" stroke="#4f46e5" stroke-width="2"/>
26
- <text x="300" y="32" font-size="14" font-weight="800" fill="#a5b4fc" text-anchor="middle" letter-spacing="1">LAYER 1: CENTRAL ROOT CONTRACTS</text>
27
- <text x="300" y="62" font-size="16" font-weight="700" fill="#f8fafc" text-anchor="middle">AGENTS.mdMEMORY.mdTASKS.mdRUNBOOK.md</text>
37
+ <!-- Layer 2: Configuration & Intelligence (.ai/) -->
38
+ <g transform="translate(110, 95)">
39
+ <rect width="600" height="60" rx="12" fill="url(#aiCard)" stroke="#8b5cf6" stroke-width="1.5"/>
40
+ <text x="300" y="22" font-size="11" font-weight="800" fill="#c084fc" text-anchor="middle" letter-spacing="1">LAYER 2: .AI/ CONFIGURATION & INTELLIGENCE</text>
41
+ <text x="300" y="44" font-size="13" font-weight="700" fill="#e2e8f0" text-anchor="middle">contextagentsskillsprompts • checks • session logs</text>
28
42
  </g>
29
43
 
30
- <!-- Flow Connector 1 -->
31
- <path d="M 410,110 L 410,140" stroke="url(#flowGrad)" stroke-width="3" stroke-dasharray="4,4" fill="none"/>
44
+ <!-- Flow Connector L2 -> L3 -->
45
+ <path d="M 410,155 L 410,175" stroke="url(#flowGrad)" stroke-width="3" fill="none"/>
46
+ <polygon points="410,175 405,165 415,165" fill="#10b981"/>
32
47
 
33
- <!-- Layer 2: The .ai/ Config Layer -->
34
- <g transform="translate(110, 140)">
35
- <rect width="600" height="85" rx="12" fill="url(#aiCard)" stroke="#8b5cf6" stroke-width="1.5"/>
36
- <text x="300" y="30" font-size="13" font-weight="800" fill="#c084fc" text-anchor="middle" letter-spacing="1">LAYER 2: .AI/ CONFIGURATION DIRECTORY</text>
37
- <text x="300" y="60" font-size="15" font-weight="700" fill="#e2e8f0" text-anchor="middle">contextagents skills prompts checks session logs</text>
48
+ <!-- Layer 3: Dev OS Engine & Safety -->
49
+ <g transform="translate(110, 175)">
50
+ <rect width="600" height="60" rx="12" fill="url(#engineCard)" stroke="#10b981" stroke-width="1.5"/>
51
+ <text x="300" y="22" font-size="11" font-weight="800" fill="#34d399" text-anchor="middle" letter-spacing="1">LAYER 3: ENGINE WORKFLOWS & SAFETY GATES</text>
52
+ <text x="300" y="44" font-size="13" font-weight="700" fill="#e2e8f0" text-anchor="middle">onboard analyze adapter syncimprove proposeverify doctor</text>
38
53
  </g>
39
54
 
40
- <!-- Flow Connector 2 -->
41
- <path d="M 410,225 L 410,255" stroke="url(#flowGrad)" stroke-width="3" fill="none"/>
42
- <polygon points="410,260 405,250 415,250" fill="#10b981"/>
55
+ <!-- Flow Connector L3 -> L4 -->
56
+ <path d="M 410,235 L 410,260" stroke="#334155" stroke-width="3" fill="none"/>
57
+ <polygon points="410,260 405,250 415,250" fill="#334155"/>
43
58
 
44
- <!-- Layer 3: Adapters Connection Tree -->
45
- <path d="M 100,265 L 720,265 L 720,280" stroke="#334155" stroke-width="2" fill="none"/>
46
- <path d="M 100,265 L 100,280" stroke="#334155" stroke-width="2" fill="none"/>
47
- <path d="M 224,265 L 224,280" stroke="#334155" stroke-width="2" fill="none"/>
48
- <path d="M 348,265 L 348,280" stroke="#334155" stroke-width="2" fill="none"/>
49
- <path d="M 472,265 L 472,280" stroke="#334155" stroke-width="2" fill="none"/>
50
- <path d="M 596,265 L 596,280" stroke="#334155" stroke-width="2" fill="none"/>
59
+ <!-- Layer 4: Target Tools Connection Tree -->
60
+ <path d="M 100,265 L 725,265 L 725,285" stroke="#334155" stroke-width="2" fill="none"/>
61
+ <path d="M 100,265 L 100,285" stroke="#334155" stroke-width="2" fill="none"/>
62
+ <path d="M 225,265 L 225,285" stroke="#334155" stroke-width="2" fill="none"/>
63
+ <path d="M 350,265 L 350,285" stroke="#334155" stroke-width="2" fill="none"/>
64
+ <path d="M 475,265 L 475,285" stroke="#334155" stroke-width="2" fill="none"/>
65
+ <path d="M 600,265 L 600,285" stroke="#334155" stroke-width="2" fill="none"/>
51
66
 
52
- <!-- Adapter Output Nodes -->
67
+ <!-- Universal Adapter Nodes -->
53
68
  <!-- Node 1: Codex -->
54
- <g transform="translate(40, 280)">
69
+ <g transform="translate(40, 285)">
55
70
  <rect width="120" height="50" rx="8" fill="#0f172a" stroke="#334155" stroke-width="1"/>
56
71
  <text x="60" y="24" font-size="12" font-weight="700" fill="#f8fafc" text-anchor="middle">Codex</text>
57
72
  <text x="60" y="40" font-size="10" fill="#94a3b8" text-anchor="middle">adapters/codex/</text>
58
73
  </g>
59
74
 
60
75
  <!-- Node 2: Antigravity -->
61
- <g transform="translate(165, 280)">
76
+ <g transform="translate(165, 285)">
62
77
  <rect width="120" height="50" rx="8" fill="#0f172a" stroke="#334155" stroke-width="1"/>
63
78
  <text x="60" y="24" font-size="12" font-weight="700" fill="#f8fafc" text-anchor="middle">Antigravity</text>
64
79
  <text x="60" y="40" font-size="10" fill="#94a3b8" text-anchor="middle">.gemini/settings</text>
65
80
  </g>
66
81
 
67
82
  <!-- Node 3: Cursor -->
68
- <g transform="translate(290, 280)">
83
+ <g transform="translate(290, 285)">
69
84
  <rect width="120" height="50" rx="8" fill="#0f172a" stroke="#334155" stroke-width="1"/>
70
85
  <text x="60" y="24" font-size="12" font-weight="700" fill="#f8fafc" text-anchor="middle">Cursor</text>
71
86
  <text x="60" y="40" font-size="10" fill="#94a3b8" text-anchor="middle">.cursorrules</text>
72
87
  </g>
73
88
 
74
89
  <!-- Node 4: Claude -->
75
- <g transform="translate(415, 280)">
90
+ <g transform="translate(415, 285)">
76
91
  <rect width="120" height="50" rx="8" fill="#0f172a" stroke="#334155" stroke-width="1"/>
77
92
  <text x="60" y="24" font-size="12" font-weight="700" fill="#f8fafc" text-anchor="middle">Claude</text>
78
93
  <text x="60" y="40" font-size="10" fill="#94a3b8" text-anchor="middle">CLAUDE.md</text>
79
94
  </g>
80
95
 
81
96
  <!-- Node 5: Gemini -->
82
- <g transform="translate(540, 280)">
97
+ <g transform="translate(540, 285)">
83
98
  <rect width="120" height="50" rx="8" fill="#0f172a" stroke="#334155" stroke-width="1"/>
84
99
  <text x="60" y="24" font-size="12" font-weight="700" fill="#f8fafc" text-anchor="middle">Gemini</text>
85
100
  <text x="60" y="40" font-size="10" fill="#94a3b8" text-anchor="middle">GEMINI.md</text>
86
101
  </g>
87
102
 
88
103
  <!-- Node 6: VS Code -->
89
- <g transform="translate(665, 280)">
104
+ <g transform="translate(665, 285)">
90
105
  <rect width="120" height="50" rx="8" fill="#0f172a" stroke="#334155" stroke-width="1"/>
91
106
  <text x="60" y="24" font-size="12" font-weight="700" fill="#f8fafc" text-anchor="middle">VS Code</text>
92
107
  <text x="60" y="40" font-size="10" fill="#94a3b8" text-anchor="middle">.vscode/settings</text>
@@ -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>
@@ -50,7 +50,7 @@
50
50
 
51
51
  <!-- Titles -->
52
52
  <text x="260" y="205" font-size="68" font-weight="900" fill="#ffffff" letter-spacing="-1.5">MultiModel Dev OS</text>
53
- <text x="260" y="252" font-size="28" font-weight="700" fill="#a78bfa" letter-spacing="-0.5">One project brain for every AI coding agent</text>
53
+ <text x="260" y="252" font-size="28" font-weight="700" fill="#a78bfa" letter-spacing="-0.5">One config. Every AI tool. Zero lock-in.</text>
54
54
 
55
55
  <!-- Scaffolding Highlight Commands -->
56
56
  <g transform="translate(130, 320)">
@@ -31,40 +31,39 @@
31
31
 
32
32
  <!-- Terminal Content Console -->
33
33
  <g font-size="13.5" fill="#e2e8f0" xml:space="preserve">
34
- <!-- COMMAND 1: init -->
34
+ <!-- COMMAND 1: onboard analyze -->
35
35
  <text x="30" y="70" font-weight="bold">
36
- <tspan fill="#38bdf8">~</tspan> <tspan fill="#f43f5e">❯</tspan> <tspan fill="#818cf8">npx</tspan> <tspan fill="#f472b6">multimodel-dev-os@latest</tspan> <tspan fill="#34d399">init</tspan> <tspan fill="#94a3b8">--template nextjs-saas --adapter codex</tspan>
36
+ <tspan fill="#38bdf8">~</tspan> <tspan fill="#f43f5e">❯</tspan> <tspan fill="#818cf8">npx</tspan> <tspan fill="#f472b6">multimodel-dev-os@latest</tspan> <tspan fill="#34d399">onboard analyze</tspan>
37
37
  </text>
38
38
 
39
- <!-- Scaffolding Output -->
40
- <text x="30" y="95" fill="#a78bfa" font-weight="600">🧠 Scaffolding MultiModel Dev OS environment...</text>
41
- <text x="50" y="115" fill="#34d399">✓ <tspan fill="#e2e8f0">Scaffolded root files</tspan> <tspan fill="#64748b">(AGENTS.md, MEMORY.md, TASKS.md, RUNBOOK.md)</tspan></text>
42
- <text x="50" y="132" fill="#34d399">✓ <tspan fill="#e2e8f0">Enabled adapter</tspan> <tspan fill="#fb7185">codex</tspan> <tspan fill="#64748b">(.ai/config.yaml status = true)</tspan></text>
39
+ <!-- Onboard Analyze Output -->
40
+ <text x="30" y="95" fill="#a78bfa" font-weight="600">🔍 Analyzing repository structure...</text>
41
+ <text x="50" y="115" fill="#34d399">✓ <tspan fill="#e2e8f0">Detected stack:</tspan> <tspan fill="#818cf8">Next.js + TypeScript</tspan></text>
42
+ <text x="50" y="132" fill="#34d399">✓ <tspan fill="#e2e8f0">Recommended template:</tspan> <tspan fill="#fb7185">nextjs-saas</tspan></text>
43
43
 
44
- <!-- COMMAND 2: validate -->
44
+ <!-- COMMAND 2: init -->
45
45
  <text x="30" y="175" font-weight="bold">
46
- <tspan fill="#38bdf8">~</tspan> <tspan fill="#f43f5e">❯</tspan> <tspan fill="#818cf8">npx</tspan> <tspan fill="#f472b6">multimodel-dev-os@latest</tspan> <tspan fill="#34d399">validate</tspan> <tspan fill="#94a3b8">--target ./my-app</tspan>
46
+ <tspan fill="#38bdf8">~</tspan> <tspan fill="#f43f5e">❯</tspan> <tspan fill="#818cf8">npx</tspan> <tspan fill="#f472b6">multimodel-dev-os@latest</tspan> <tspan fill="#34d399">init</tspan> <tspan fill="#94a3b8">--template nextjs-saas</tspan>
47
47
  </text>
48
48
 
49
- <!-- Validate Output -->
50
- <text x="30" y="200" fill="#a78bfa" font-weight="600">🛡️ Validating workspace structure compliance...</text>
51
- <text x="50" y="220" fill="#34d399">✓ <tspan fill="#e2e8f0">Checked primary contract documents: 4/4 exist</tspan></text>
52
- <text x="50" y="237" fill="#34d399">✓ <tspan fill="#e2e8f0">Validated .ai/config.yaml adapter constraints</tspan></text>
53
- <text x="50" y="254" fill="#34d399">✓ <tspan fill="#34d399">Success:</tspan> <tspan fill="#e2e8f0">Workspace structure conforms to specifications</tspan></text>
54
-
55
- <!-- COMMAND 3: doctor -->
56
- <text x="30" y="295" font-weight="bold">
57
- <tspan fill="#38bdf8">~</tspan> <tspan fill="#f43f5e">❯</tspan> <tspan fill="#818cf8">npx</tspan> <tspan fill="#f472b6">multimodel-dev-os@latest</tspan> <tspan fill="#34d399">doctor</tspan> <tspan fill="#94a3b8">--target ./my-app</tspan>
49
+ <!-- Scaffolding Output -->
50
+ <text x="30" y="200" fill="#a78bfa" font-weight="600">🧠 Scaffolding MultiModel Dev OS environment...</text>
51
+ <text x="50" y="220" fill="#34d399">✓ <tspan fill="#e2e8f0">Created root contracts</tspan> <tspan fill="#64748b">(AGENTS.md, MEMORY.md, TASKS.md)</tspan></text>
52
+ <text x="50" y="237" fill="#34d399">✓ <tspan fill="#e2e8f0">Configured adapters</tspan> <tspan fill="#64748b">(.cursorrules, CLAUDE.md, .gemini/)</tspan></text>
53
+
54
+ <!-- COMMAND 3: adapter sync -->
55
+ <text x="30" y="280" font-weight="bold">
56
+ <tspan fill="#38bdf8">~</tspan> <tspan fill="#f43f5e">❯</tspan> <tspan fill="#818cf8">npx</tspan> <tspan fill="#f472b6">multimodel-dev-os@latest</tspan> <tspan fill="#34d399">adapter sync</tspan>
58
57
  </text>
59
58
 
60
- <!-- Doctor Output -->
61
- <text x="30" y="320" fill="#a78bfa" font-weight="600">🩺 Executing advisory checkups...</text>
62
- <text x="50" y="340" fill="#34d399">✓ <tspan fill="#e2e8f0">Gitignore audit: Ignored cache folders (.vitepress/dist)</tspan></text>
63
- <text x="50" y="357" fill="#34d399">✓ <tspan fill="#e2e8f0">Active adapters verify: Physical rule files mapped</tspan></text>
64
- <text x="50" y="374" fill="#38bdf8">ℹ <tspan fill="#e2e8f0">Advisory: 0 warnings, workspace is operating at 100% efficiency</tspan></text>
59
+ <!-- Adapter Sync Output -->
60
+ <text x="30" y="305" fill="#a78bfa" font-weight="600">🔄 Synchronizing workspace adapters...</text>
61
+ <text x="50" y="325" fill="#34d399">✓ <tspan fill="#e2e8f0">Synced Cursor rules</tspan> <tspan fill="#64748b">(→ .cursorrules)</tspan></text>
62
+ <text x="50" y="342" fill="#34d399">✓ <tspan fill="#e2e8f0">Synced Claude instructions</tspan> <tspan fill="#64748b">(→ CLAUDE.md)</tspan></text>
63
+ <text x="50" y="359" fill="#34d399">✓ <tspan fill="#e2e8f0">Synced Gemini configuration</tspan> <tspan fill="#64748b">(→ .gemini/settings)</tspan></text>
65
64
 
66
65
  <!-- Success banner -->
67
- <text x="30" y="415" fill="#34d399" font-weight="bold">🚀 All Dev OS pipeline checkups completed successfully!</text>
66
+ <text x="30" y="415" fill="#34d399" font-weight="bold">🚀 Workspace synchronized and secured successfully!</text>
68
67
 
69
68
  <!-- Next Active Prompt Cursor -->
70
69
  <text x="30" y="455" fill="#f43f5e">❯ <tspan fill="#e2e8f0">█</tspan></text>