multimodel-dev-os 0.6.1 → 0.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.
package/README.md CHANGED
@@ -1,202 +1,97 @@
1
- # multimodel-dev-os
1
+ # MultiModel Dev OS
2
2
 
3
- > Portable, vendor-neutral project configuration and CLI tool for AI coding agents.
4
-
5
- [![npm version](https://img.shields.io/npm/v/multimodel-dev-os.svg?color=blue)](https://www.npmjs.com/package/multimodel-dev-os)
6
- [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
7
- [![GitHub release](https://img.shields.io/github/v/release/rizvee/multimodel-dev-os?include_prereleases)](https://github.com/rizvee/multimodel-dev-os/releases)
8
- [![Build Status](https://img.shields.io/github/actions/workflow/status/rizvee/multimodel-dev-os/verify.yml?branch=main)](https://github.com/rizvee/multimodel-dev-os/actions)
9
- [![npm downloads](https://img.shields.io/npm/dm/multimodel-dev-os.svg?color=green)](https://www.npmjs.com/package/multimodel-dev-os)
10
- [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](CONTRIBUTING.md)
3
+ Portable, vendor-neutral workspace configuration layer for multi-agent coding loops.
11
4
 
12
5
  ---
13
6
 
14
- ## 10-Second Quickstart
15
-
16
- Bootstrap your project instantly via `npx`:
17
-
18
- ```bash
19
- npx multimodel-dev-os@latest init
20
- ```
21
-
22
- `multimodel-dev-os` is a lightweight, vendor-neutral configuration specification and local CLI utility that scaffolds a standardized operational context layout for your AI pair-programmers (such as Codex, Antigravity, Cursor, Claude Code, Gemini, or VS Code). It acts like `.editorconfig` but is optimized for multi-model AI coding agents.
7
+ <p align="center">
8
+ <img src="https://raw.githubusercontent.com/rizvee/multimodel-dev-os/main/assets/social-preview.svg" alt="MultiModel Dev OS Banner" width="100%">
9
+ </p>
23
10
 
24
11
  ---
25
12
 
26
- ## Why This Exists
27
-
28
- AI coding tools are incredibly fast, but switching between them introduces context fragmentation:
29
- 1. **Context Loss:** You use **Cursor** for quick code completions, **Claude Code** for command-line implementations, and **Gemini/Antigravity** for auditing large code volumes. Every context switch drops your operational parameters.
30
- 2. **Instruction Drift:** Different tools look for different files (`.cursorrules`, `CLAUDE.md`, `.vscode/settings.json`, `.gemini/settings.json`). If you modify build scripts or styling rules in one place, they quickly drift across others, causing confusing compile failures.
13
+ ## Quickstart
31
14
 
32
- `multimodel-dev-os` establishes a single source of truth inside your repository using a standardized root structure (`AGENTS.md`, `MEMORY.md`, `TASKS.md`, `RUNBOOK.md`) and a `.ai/` context configuration directory.
33
-
34
- ---
35
-
36
- ## Why Not Just AGENTS.md?
37
-
38
- While you can write a raw instruction file manually, `multimodel-dev-os` provides a robust, standardized context-management architecture:
39
-
40
- | Feature | AGENTS.md Only | Tool-Specific Prompt Packs | MultiModel Dev OS |
41
- | :--- | :--- | :--- | :--- |
42
- | **Portability** | Hard to coordinate across different IDEs/CLIs | None (locked to one platform) | **Universal** (Single source of truth) |
43
- | **Drift Prevention** | Manual copy-pasting of rules | None | **Automated** (Adapters sync root rules instantly) |
44
- | **Token Optimization** | Read entire file every turn | Basic prompts | **Caveman Mode** (cuts token consumption by **~79%**) |
45
- | **Tool Translation** | None (IDE files must be managed manually) | None | **Zero-Duplication** (Dynamic reference generation) |
46
- | **Quality Gates** | None | None | **Verify checkup** (`npx multimodel-dev-os verify`) |
47
-
48
- ---
49
-
50
- ## Supported Tool Matrix
51
-
52
- | Tool | Adapter File | Reads Source of Truth From | Status |
53
- |------|--------------|----------------------------|--------|
54
- | OpenAI Codex | `adapters/codex/AGENTS.md` | `/AGENTS.md` | ✅ Production-Ready |
55
- | Google Antigravity | `adapters/antigravity/AGENTS.md` | `/AGENTS.md` | ✅ Production-Ready |
56
- | Cursor | `adapters/cursor/.cursorrules` | `/AGENTS.md`, `/MEMORY.md`, `/TASKS.md` | ✅ Production-Ready |
57
- | Claude Code | `adapters/claude/CLAUDE.md` | `/AGENTS.md`, `/MEMORY.md`, `/TASKS.md` | ✅ Production-Ready |
58
- | Gemini | `adapters/gemini/GEMINI.md` | `/AGENTS.md` | ✅ Production-Ready |
59
- | VS Code | `adapters/vscode/.vscode/settings.json` | `/AGENTS.md` (via exclusions) | ✅ Production-Ready |
60
-
61
- ---
62
-
63
- ## Extended Quickstart Options
64
-
65
- Customize your scaffolding instantly via CLI argument flags:
15
+ Initialize a unified, tool-neutral AI developer workspace instantly:
66
16
 
67
17
  ```bash
68
- # 1. Scaffolding with standard template profile
69
18
  npx multimodel-dev-os@latest init
70
-
71
- # 2. Scaffolding for a specific tech stack (e.g. Next.js App Router)
72
- npx multimodel-dev-os@latest init --template nextjs-saas
73
-
74
- # 3. Injecting a specific tool adapter profile (e.g. OpenAI Codex)
75
- npx multimodel-dev-os@latest init --adapter codex
76
-
77
- # 4. Bootstrapping with Caveman Mode (slashes token footprints by ~79%)
78
- npx multimodel-dev-os@latest init --caveman
79
-
80
- # 5. Verifying the structural health of your workspace directories
81
- npx multimodel-dev-os@latest verify
82
-
83
- # 6. Strict validation check for structural compliance
84
- npx multimodel-dev-os@latest validate
85
-
86
- # 7. Run advisory doctor checkup on target workspace
87
- npx multimodel-dev-os@latest doctor
88
-
89
- # 8. List all built-in template profiles with details
90
- npx multimodel-dev-os@latest templates
91
19
  ```
92
20
 
93
21
  ---
94
22
 
95
- ## Architecture Layout
23
+ ## See It in Action
96
24
 
97
- ```
98
- ┌─────────────────────────────────────────────┐
99
- │ SOURCE OF TRUTH (root) │
100
- │ │
101
- │ AGENTS.md MEMORY.md TASKS.md RUNBOOK.md │
102
- │ .ai/ │
103
- │ config · agents · skills · checks · ... │
104
- └──────────────────┬──────────────────────────┘
105
-
106
- Adapters read from ↑
107
-
108
- ┌────────┬───────┼───────┬────────┬─────────┐
109
- │ │ │ │ │ │
110
- ▼ ▼ ▼ ▼ ▼ ▼
111
- Codex Antigrav Cursor Claude Gemini VS Code
112
- ```
25
+ `multimodel-dev-os` runs completely on native Node.js libraries, keeping execution speeds lightning-fast with **zero third-party NPM runtime dependencies**. Here is the clean interactive terminal sequence executing `init`, `validate`, and `doctor` commands:
113
26
 
114
- Adapters are **readers, not writers.** The root markdown files are the single source of truth. Adapters translate these into tool-native formats without duplicating instructions.
27
+ <p align="center">
28
+ <img src="https://raw.githubusercontent.com/rizvee/multimodel-dev-os/main/assets/terminal-demo.svg" alt="Terminal Demo Sequence" width="100%">
29
+ </p>
115
30
 
116
31
  ---
117
32
 
118
- ## Core Operational Files
33
+ ## Before vs. After
34
+
35
+ ### Before: Chaotic Prompting & Instruction Drift
36
+ - Switching between agents (like Cursor, Claude Code, Gemini, Codex, Antigravity) requires maintaining duplicate instruction files (`.cursorrules`, `CLAUDE.md`, `.vscode/settings.json`, etc.).
37
+ - Modifying guidelines in one place results in immediate **Instruction Drift**, where one agent operates on outdated conventions, causing compile crashes.
38
+ - Duplicate instructions bloat prompts, wasting **1,500+ tokens** of model context budget on every single turn.
119
39
 
120
- | File | Purpose | Audience |
121
- |------|---------|----------|
122
- | [`AGENTS.md`](AGENTS.md) | Project rules, build commands, conventions | AI agents |
123
- | [`MEMORY.md`](MEMORY.md) | Architecture decisions, patterns, session notes | AI agents |
124
- | [`TASKS.md`](TASKS.md) | Current sprint, backlog, completed work | AI + humans |
125
- | [`RUNBOOK.md`](RUNBOOK.md) | Deploy, rollback, incident response | AI + humans |
126
- | [`.ai/config.yaml`](.ai/config.yaml) | Mode, orchestrator, adapter settings | System |
40
+ ### After: Standardized Zero-Drift Sync
41
+ - Rules are defined once in a central root document (`AGENTS.md` and `.ai/`).
42
+ - MultiModel Dev OS dynamically routes the root contract directly to Cursor, Claude Code, Gemini, and VS Code. All agents operate on matching build specifications instantly.
43
+ - Toggling **Caveman Mode** dynamically strips descriptions and examples, saving **~79% of token context** per chat turn.
127
44
 
128
45
  ---
129
46
 
130
- ## Multimodel Orchestrator
47
+ ## Cost & Context Optimization
131
48
 
132
- Coordinate multiple AI agents on one project. Define roles in `.ai/config.yaml`, detail coordination in `.ai/agents/multimodel-orchestrator.md`.
49
+ Minimize prompt overhead and API billing by mapping key context-reduction techniques to MultiModel Dev OS features:
133
50
 
134
- ```yaml
135
- orchestrator:
136
- mode: "sequential"
137
- agents:
138
- - name: "architect"
139
- tool: "claude"
140
- files: ["docs/**"]
141
- - name: "implementer"
142
- tool: "cursor"
143
- files: ["src/**"]
144
- ```
51
+ <p align="center">
52
+ <img src="https://raw.githubusercontent.com/rizvee/multimodel-dev-os/main/assets/cost-optimization.svg" alt="Cost Optimization Funnel" width="100%">
53
+ </p>
54
+
55
+ - 🧠 **Choose Right Model:** Configured in `model-map.md`.
56
+ - ⚡ **Caveman Mode:** Cuts rule context sizes down by **~79%**.
57
+ - 📦 **RAG Scoping:** Modular context files in `.ai/context/` prevent token waste.
145
58
 
146
- See [docs/multimodel-workflow.md](docs/multimodel-workflow.md).
59
+ For a full deep dive, see our [Cost Optimization Playbook](https://rizvee.github.io/multimodel-dev-os/cost-optimization).
147
60
 
148
61
  ---
149
62
 
150
- ## Caveman Mode
63
+ ## 5-Day Adoption Roadmap
151
64
 
152
- Minimal-token templates. Same structure, ~79% fewer tokens.
65
+ Deploying MultiModel Dev OS across your team is straightforward and tool-neutral:
153
66
 
154
- | Mode | AGENTS.md | Total |
155
- |------|-----------|-------|
156
- | Standard | ~500 tokens | ~1,600 tokens |
157
- | Caveman | ~120 tokens | ~340 tokens |
67
+ <p align="center">
68
+ <img src="https://raw.githubusercontent.com/rizvee/multimodel-dev-os/main/assets/ai-dev-os-roadmap.svg" alt="5-Day Adoption Roadmap" width="100%">
69
+ </p>
158
70
 
159
- See [docs/caveman-mode.md](docs/caveman-mode.md).
71
+ See our step-by-step timeline: [5-Day Adoption Roadmap Playbook](https://rizvee.github.io/multimodel-dev-os/5-day-roadmap).
160
72
 
161
73
  ---
162
74
 
163
- ## Scaffolding Templates
164
-
165
- We provide target-specific layouts for common application architectures:
166
- * [Next.js SaaS Stack](examples/nextjs-saas/) (TypeScript, Prisma, Tailwind)
167
- * [WordPress Custom Plugin/Site](examples/wordpress-site/) (PHP, standard blocks)
168
- * [Headless E-commerce Store](examples/ecommerce-store/) (Payment processing, Webhooks)
169
- * [SEO Static Landing Page](examples/seo-landing-page/) (Astro, static optimizations)
170
- * [General Application](examples/general-app/) (Default baseline configuration)
171
-
172
- See [docs/use-cases.md](docs/use-cases.md) for full stack examples.
173
-
174
- ---
75
+ ## Real-World Case Studies
175
76
 
176
- ## Documentation
177
-
178
- * [Quickstart Guide](docs/quickstart.md)
179
- * [Templates Upgrade Guide](docs/templates-guide.md)
180
- * [Comparison Matrix](docs/comparison.md)
181
- * [Use Cases & Stack Templates](docs/use-cases.md)
182
- * [Social Launch Kit](docs/launch-kit.md)
183
- * [Architecture Overview](docs/architecture.md)
184
- * [Adapters Guide](docs/adapters.md)
185
- * [Multi-agent Workflows](docs/multimodel-workflow.md)
186
- * [Caveman Mode](docs/caveman-mode.md)
187
- * [Script Installers Guide](docs/installers.md)
188
- * [CLI Development Roadmap](docs/cli-roadmap.md)
189
- * [NPM Publishing Runbook](docs/npm-publishing.md)
190
- * [Frequently Asked Questions (FAQ)](docs/faq.md)
77
+ Discover how engineering teams deploy MultiModel Dev OS:
78
+ - 📦 [Full-Stack Next.js SaaS: Database Schema Synchronization](https://rizvee.github.io/multimodel-dev-os/case-studies/nextjs-saas)
79
+ - 🔌 [WordPress Theme Scaffolding: Folder Boundary Protections](https://rizvee.github.io/multimodel-dev-os/case-studies/wordpress-site)
80
+ - 🛒 [E-Commerce Webhooks: State Verification Alignment](https://rizvee.github.io/multimodel-dev-os/case-studies/ecommerce-store)
81
+ - 📈 [SEO Landing Pages: Core Web Vitals Linter Budgets](https://rizvee.github.io/multimodel-dev-os/case-studies/seo-landing-page)
82
+ - 🚀 [Multi-Model Handoff: Sequential Session Logging](https://rizvee.github.io/multimodel-dev-os/case-studies/multimodel-handoff)
191
83
 
192
84
  ---
193
85
 
194
- ## Contributing
86
+ ## Core Navigation Guides
195
87
 
196
- See [`CONTRIBUTING.md`](CONTRIBUTING.md) and [`CODE_OF_CONDUCT.md`](CODE_OF_CONDUCT.md).
88
+ Explore our detailed manuals directly:
89
+ - 📖 [CLI Terminal Demo Guide](https://rizvee.github.io/multimodel-dev-os/demo)
90
+ - 💡 [Before/After Workflow Case Studies](https://rizvee.github.io/multimodel-dev-os/workflow-examples)
91
+ - 🛡️ [Public Release & Staging Checklist](https://rizvee.github.io/multimodel-dev-os/launch-checklist)
197
92
 
198
93
  ---
199
94
 
200
95
  ## License
201
96
 
202
- This project is licensed under the [MIT License](LICENSE).
97
+ MIT License.
@@ -0,0 +1,66 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 250" width="100%" height="100%" style="border-radius: 12px; font-family: 'Outfit', 'Inter', -apple-system, sans-serif; box-shadow: 0 20px 50px rgba(0,0,0,0.4);">
2
+ <defs>
3
+ <!-- Background Gradient -->
4
+ <linearGradient id="roadmapBg" x1="0%" y1="0%" x2="100%" y2="100%">
5
+ <stop offset="0%" stop-color="#070a13" />
6
+ <stop offset="100%" stop-color="#0c101b" />
7
+ </linearGradient>
8
+
9
+ <!-- Roadmap Accent Line -->
10
+ <linearGradient id="lineGrad" x1="0%" y1="0%" x2="100%" y2="0%">
11
+ <stop offset="0%" stop-color="#6366f1" />
12
+ <stop offset="50%" stop-color="#8b5cf6" />
13
+ <stop offset="100%" stop-color="#10b981" />
14
+ </linearGradient>
15
+ </defs>
16
+
17
+ <!-- Frame Background -->
18
+ <rect width="800" height="250" rx="12" fill="url(#roadmapBg)" stroke="#1e293b" stroke-width="1.5"/>
19
+
20
+ <!-- Title -->
21
+ <text x="400" y="45" font-size="20" font-weight="800" fill="#ffffff" text-anchor="middle" letter-spacing="1">5-DAY AI DEV OS ADOPTION ROADMAP</text>
22
+ <text x="400" y="68" font-size="13" font-weight="500" fill="#94a3b8" text-anchor="middle">Milestones to achieve structured multi-agent workflow reuse inside teams</text>
23
+
24
+ <!-- Connection Line -->
25
+ <line x1="80" y1="140" x2="720" y2="140" stroke="url(#lineGrad)" stroke-width="4"/>
26
+
27
+ <!-- Day 1 Node -->
28
+ <g transform="translate(100, 140)">
29
+ <circle cx="0" cy="0" r="14" fill="#6366f1" stroke="#ffffff" stroke-width="2"/>
30
+ <text x="0" y="30" font-size="12" font-weight="800" fill="#a5b4fc" text-anchor="middle">DAY 1</text>
31
+ <text x="0" y="45" font-size="11" font-weight="700" fill="#ffffff" text-anchor="middle">Scaffold CLI</text>
32
+ <text x="0" y="58" font-size="9" fill="#94a3b8" text-anchor="middle">npx init</text>
33
+ </g>
34
+
35
+ <!-- Day 2 Node -->
36
+ <g transform="translate(250, 140)">
37
+ <circle cx="0" cy="0" r="14" fill="#4f46e5" stroke="#ffffff" stroke-width="2"/>
38
+ <text x="0" y="30" font-size="12" font-weight="800" fill="#a5b4fc" text-anchor="middle">DAY 2</text>
39
+ <text x="0" y="45" font-size="11" font-weight="700" fill="#ffffff" text-anchor="middle">Project Memory</text>
40
+ <text x="0" y="58" font-size="9" fill="#94a3b8" text-anchor="middle">AGENTS.md core</text>
41
+ </g>
42
+
43
+ <!-- Day 3 Node -->
44
+ <g transform="translate(400, 140)">
45
+ <circle cx="0" cy="0" r="14" fill="#8b5cf6" stroke="#ffffff" stroke-width="2"/>
46
+ <text x="0" y="30" font-size="12" font-weight="800" fill="#d8b4fe" text-anchor="middle">DAY 3</text>
47
+ <text x="0" y="45" font-size="11" font-weight="700" fill="#ffffff" text-anchor="middle">Skills &amp; Checks</text>
48
+ <text x="0" y="58" font-size="9" fill="#94a3b8" text-anchor="middle">Custom prompt packs</text>
49
+ </g>
50
+
51
+ <!-- Day 4 Node -->
52
+ <g transform="translate(550, 140)">
53
+ <circle cx="0" cy="0" r="14" fill="#a855f7" stroke="#ffffff" stroke-width="2"/>
54
+ <text x="0" y="30" font-size="12" font-weight="800" fill="#d8b4fe" text-anchor="middle">DAY 4</text>
55
+ <text x="0" y="45" font-size="11" font-weight="700" fill="#ffffff" text-anchor="middle">Mount Adapters</text>
56
+ <text x="0" y="58" font-size="9" fill="#94a3b8" text-anchor="middle">Claude/Cursor sync</text>
57
+ </g>
58
+
59
+ <!-- Day 5 Node -->
60
+ <g transform="translate(700, 140)">
61
+ <circle cx="0" cy="0" r="14" fill="#10b981" stroke="#ffffff" stroke-width="2"/>
62
+ <text x="0" y="30" font-size="12" font-weight="800" fill="#34d399" text-anchor="middle">DAY 5</text>
63
+ <text x="0" y="45" font-size="11" font-weight="700" fill="#ffffff" text-anchor="middle">Audit &amp; Verify</text>
64
+ <text x="0" y="58" font-size="9" fill="#94a3b8" text-anchor="middle">Linter in CI/CD</text>
65
+ </g>
66
+ </svg>
@@ -0,0 +1,94 @@
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;">
2
+ <defs>
3
+ <!-- Card Gradients -->
4
+ <linearGradient id="rootCard" x1="0%" y1="0%" x2="100%" y2="100%">
5
+ <stop offset="0%" stop-color="#1e1b4b" />
6
+ <stop offset="100%" stop-color="#0f172a" />
7
+ </linearGradient>
8
+ <linearGradient id="aiCard" x1="0%" y1="0%" x2="100%" y2="100%">
9
+ <stop offset="0%" stop-color="#111827" />
10
+ <stop offset="100%" stop-color="#1f2937" />
11
+ </linearGradient>
12
+
13
+ <!-- Flow Connector -->
14
+ <linearGradient id="flowGrad" x1="0%" y1="0%" x2="0%" y2="100%">
15
+ <stop offset="0%" stop-color="#8b5cf6" />
16
+ <stop offset="100%" stop-color="#10b981" />
17
+ </linearGradient>
18
+ </defs>
19
+
20
+ <!-- Canvas Container -->
21
+ <rect width="820" height="400" rx="12" fill="#090d16" stroke="#1e293b" stroke-width="1.5"/>
22
+
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.md • MEMORY.md • TASKS.md • RUNBOOK.md</text>
28
+ </g>
29
+
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"/>
32
+
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">context • agents • skills • prompts • checks • session logs</text>
38
+ </g>
39
+
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"/>
43
+
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"/>
51
+
52
+ <!-- Adapter Output Nodes -->
53
+ <!-- Node 1: Codex -->
54
+ <g transform="translate(40, 280)">
55
+ <rect width="120" height="50" rx="8" fill="#0f172a" stroke="#334155" stroke-width="1"/>
56
+ <text x="60" y="24" font-size="12" font-weight="700" fill="#f8fafc" text-anchor="middle">Codex</text>
57
+ <text x="60" y="40" font-size="10" fill="#94a3b8" text-anchor="middle">adapters/codex/</text>
58
+ </g>
59
+
60
+ <!-- Node 2: Antigravity -->
61
+ <g transform="translate(165, 280)">
62
+ <rect width="120" height="50" rx="8" fill="#0f172a" stroke="#334155" stroke-width="1"/>
63
+ <text x="60" y="24" font-size="12" font-weight="700" fill="#f8fafc" text-anchor="middle">Antigravity</text>
64
+ <text x="60" y="40" font-size="10" fill="#94a3b8" text-anchor="middle">.gemini/settings</text>
65
+ </g>
66
+
67
+ <!-- Node 3: Cursor -->
68
+ <g transform="translate(290, 280)">
69
+ <rect width="120" height="50" rx="8" fill="#0f172a" stroke="#334155" stroke-width="1"/>
70
+ <text x="60" y="24" font-size="12" font-weight="700" fill="#f8fafc" text-anchor="middle">Cursor</text>
71
+ <text x="60" y="40" font-size="10" fill="#94a3b8" text-anchor="middle">.cursorrules</text>
72
+ </g>
73
+
74
+ <!-- Node 4: Claude -->
75
+ <g transform="translate(415, 280)">
76
+ <rect width="120" height="50" rx="8" fill="#0f172a" stroke="#334155" stroke-width="1"/>
77
+ <text x="60" y="24" font-size="12" font-weight="700" fill="#f8fafc" text-anchor="middle">Claude</text>
78
+ <text x="60" y="40" font-size="10" fill="#94a3b8" text-anchor="middle">CLAUDE.md</text>
79
+ </g>
80
+
81
+ <!-- Node 5: Gemini -->
82
+ <g transform="translate(540, 280)">
83
+ <rect width="120" height="50" rx="8" fill="#0f172a" stroke="#334155" stroke-width="1"/>
84
+ <text x="60" y="24" font-size="12" font-weight="700" fill="#f8fafc" text-anchor="middle">Gemini</text>
85
+ <text x="60" y="40" font-size="10" fill="#94a3b8" text-anchor="middle">GEMINI.md</text>
86
+ </g>
87
+
88
+ <!-- Node 6: VS Code -->
89
+ <g transform="translate(665, 280)">
90
+ <rect width="120" height="50" rx="8" fill="#0f172a" stroke="#334155" stroke-width="1"/>
91
+ <text x="60" y="24" font-size="12" font-weight="700" fill="#f8fafc" text-anchor="middle">VS Code</text>
92
+ <text x="60" y="40" font-size="10" fill="#94a3b8" text-anchor="middle">.vscode/settings</text>
93
+ </g>
94
+ </svg>
@@ -0,0 +1,155 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 950 550" width="100%" height="100%" style="border-radius: 12px; font-family: 'Outfit', 'Inter', -apple-system, sans-serif; box-shadow: 0 20px 50px rgba(0,0,0,0.45);">
2
+ <defs>
3
+ <!-- Background Gradient -->
4
+ <linearGradient id="chartBg" x1="0%" y1="0%" x2="100%" y2="100%">
5
+ <stop offset="0%" stop-color="#0a0e17" />
6
+ <stop offset="100%" stop-color="#0f1626" />
7
+ </linearGradient>
8
+
9
+ <!-- Card Backgrounds -->
10
+ <linearGradient id="cardGrad" x1="0%" y1="0%" x2="100%" y2="100%">
11
+ <stop offset="0%" stop-color="#ffffff" stop-opacity="0.06" />
12
+ <stop offset="100%" stop-color="#ffffff" stop-opacity="0.01" />
13
+ </linearGradient>
14
+
15
+ <!-- Accent line -->
16
+ <linearGradient id="glowG" x1="0%" y1="0%" x2="100%" y2="0%">
17
+ <stop offset="0%" stop-color="#6366f1" />
18
+ <stop offset="50%" stop-color="#8b5cf6" />
19
+ <stop offset="100%" stop-color="#10b981" />
20
+ </linearGradient>
21
+ </defs>
22
+
23
+ <!-- Frame Background -->
24
+ <rect width="950" height="550" rx="12" fill="url(#chartBg)" stroke="#1e293b" stroke-width="1.5"/>
25
+ <rect x="0" y="0" width="950" height="2.5" fill="url(#glowG)"/>
26
+
27
+ <!-- Title Section -->
28
+ <text x="475" y="40" font-size="22" font-weight="900" fill="#ffffff" text-anchor="middle" letter-spacing="1">12 LLM COST &amp; CONTEXT OPTIMIZATION STRATEGIES</text>
29
+ <text x="475" y="60" font-size="12" font-weight="500" fill="#94a3b8" text-anchor="middle">Pragmatic mappings directly integrated into the MultiModel Dev OS workspace layer</text>
30
+
31
+ <!-- 12-Card Grid Layout (4 columns x 3 rows) -->
32
+ <!-- Column width = 205, Row height = 110. Spacing X = 15, Spacing Y = 15. Start X = 40, Start Y = 80 -->
33
+
34
+ <!-- ROW 1 -->
35
+ <!-- Card 1: Right Model -->
36
+ <g transform="translate(40, 80)">
37
+ <rect width="205" height="110" rx="8" fill="url(#cardGrad)" stroke="#334155" stroke-width="1" />
38
+ <text x="15" y="25" font-size="12" font-weight="800" fill="#818cf8">1. CHOOSE RIGHT MODEL</text>
39
+ <text x="15" y="48" font-size="11" font-weight="700" fill="#ffffff">Mapped: model-map.md</text>
40
+ <text x="15" y="70" font-size="9.5" fill="#94a3b8">Matches task complexity to</text>
41
+ <text x="15" y="85" font-size="9.5" fill="#94a3b8">the ideal cost-efficient LLM.</text>
42
+ </g>
43
+
44
+ <!-- Card 2: Reduce Input -->
45
+ <g transform="translate(260, 80)">
46
+ <rect width="205" height="110" rx="8" fill="url(#cardGrad)" stroke="#334155" stroke-width="1" />
47
+ <text x="15" y="25" font-size="12" font-weight="800" fill="#a78bfa">2. REDUCE INPUT TOKENS</text>
48
+ <text x="15" y="48" font-size="11" font-weight="700" fill="#ffffff">Mapped: Caveman Mode</text>
49
+ <text x="15" y="70" font-size="9.5" fill="#94a3b8">Strips descriptors to save</text>
50
+ <text x="15" y="85" font-size="9.5" fill="#34d399" font-weight="700">~79% token context footprint.</text>
51
+ </g>
52
+
53
+ <!-- Card 3: Limit Output -->
54
+ <g transform="translate(480, 80)">
55
+ <rect width="205" height="110" rx="8" fill="url(#cardGrad)" stroke="#334155" stroke-width="1" />
56
+ <text x="15" y="25" font-size="12" font-weight="800" fill="#f472b6">3. LIMIT OUTPUT TOKENS</text>
57
+ <text x="15" y="48" font-size="11" font-weight="700" fill="#ffffff">Mapped: Output contracts</text>
58
+ <text x="15" y="70" font-size="9.5" fill="#94a3b8">Enforces concise formatting</text>
59
+ <text x="15" y="85" font-size="9.5" fill="#94a3b8">rules inside prompts folder.</text>
60
+ </g>
61
+
62
+ <!-- Card 4: Reusable Prompts -->
63
+ <g transform="translate(700, 80)">
64
+ <rect width="205" height="110" rx="8" fill="url(#cardGrad)" stroke="#334155" stroke-width="1" />
65
+ <text x="15" y="25" font-size="12" font-weight="800" fill="#38bdf8">4. REUSABLE PROMPTS</text>
66
+ <text x="15" y="48" font-size="11" font-weight="700" fill="#ffffff">Mapped: .ai/prompts/</text>
67
+ <text x="15" y="70" font-size="9.5" fill="#94a3b8">Deploy plug-and-play</text>
68
+ <text x="15" y="85" font-size="9.5" fill="#94a3b8">system instruction templates.</text>
69
+ </g>
70
+
71
+ <!-- ROW 2 -->
72
+ <!-- Card 5: Scoped Context -->
73
+ <g transform="translate(40, 205)">
74
+ <rect width="205" height="110" rx="8" fill="url(#cardGrad)" stroke="#334155" stroke-width="1" />
75
+ <text x="15" y="25" font-size="12" font-weight="800" fill="#fb7185">5. SCOPED CONTEXT (RAG)</text>
76
+ <text x="15" y="48" font-size="11" font-weight="700" fill="#ffffff">Mapped: .ai/context/</text>
77
+ <text x="15" y="70" font-size="9.5" fill="#94a3b8">Segments files into isolated</text>
78
+ <text x="15" y="85" font-size="9.5" fill="#94a3b8">scoped project briefs.</text>
79
+ </g>
80
+
81
+ <!-- Card 6: Batch Requests -->
82
+ <g transform="translate(260, 205)">
83
+ <rect width="205" height="110" rx="8" fill="url(#cardGrad)" stroke="#334155" stroke-width="1" />
84
+ <text x="15" y="25" font-size="12" font-weight="800" fill="#34d399">6. BATCH REQUESTS</text>
85
+ <text x="15" y="48" font-size="11" font-weight="700" fill="#ffffff">Mapped: TASKS.md</text>
86
+ <text x="15" y="70" font-size="9.5" fill="#94a3b8">Groups simple subtasks so</text>
87
+ <text x="15" y="85" font-size="9.5" fill="#94a3b8">agents build in single turns.</text>
88
+ </g>
89
+
90
+ <!-- Card 7: Structured Outputs -->
91
+ <g transform="translate(480, 205)">
92
+ <rect width="205" height="110" rx="8" fill="url(#cardGrad)" stroke="#334155" stroke-width="1" />
93
+ <text x="15" y="25" font-size="12" font-weight="800" fill="#fbbf24">7. STRUCTURED OUTPUTS</text>
94
+ <text x="15" y="48" font-size="11" font-weight="700" fill="#ffffff">Mapped: .ai/templates/</text>
95
+ <text x="15" y="70" font-size="9.5" fill="#94a3b8">Strict markdown structures</text>
96
+ <text x="15" y="85" font-size="9.5" fill="#94a3b8">prevent repetitive regenerations.</text>
97
+ </g>
98
+
99
+ <!-- Card 8: Templates & Skills -->
100
+ <g transform="translate(700, 205)">
101
+ <rect width="205" height="110" rx="8" fill="url(#cardGrad)" stroke="#334155" stroke-width="1" />
102
+ <text x="15" y="25" font-size="12" font-weight="800" fill="#a78bfa">8. REUSE SKILLS</text>
103
+ <text x="15" y="48" font-size="11" font-weight="700" fill="#ffffff">Mapped: .ai/skills/</text>
104
+ <text x="15" y="70" font-size="9.5" fill="#94a3b8">Reusable commands packs</text>
105
+ <text x="15" y="85" font-size="9.5" fill="#94a3b8">standardize developer steps.</text>
106
+ </g>
107
+
108
+ <!-- ROW 3 -->
109
+ <!-- Card 9: Two-Step Workflows -->
110
+ <g transform="translate(40, 330)">
111
+ <rect width="205" height="110" rx="8" fill="url(#cardGrad)" stroke="#334155" stroke-width="1" />
112
+ <text x="15" y="25" font-size="12" font-weight="800" fill="#34d399">9. TWO-STEP AGENTS</text>
113
+ <text x="15" y="48" font-size="11" font-weight="700" fill="#ffffff">Mapped: Planner/Coder</text>
114
+ <text x="15" y="70" font-size="9.5" fill="#94a3b8">Decouples layout design from</text>
115
+ <text x="15" y="85" font-size="9.5" fill="#94a3b8">low-cost iterative code write.</text>
116
+ </g>
117
+
118
+ <!-- Card 10: Monitor Token Sinks -->
119
+ <g transform="translate(260, 330)">
120
+ <rect width="205" height="110" rx="8" fill="url(#cardGrad)" stroke="#334155" stroke-width="1" />
121
+ <text x="15" y="25" font-size="12" font-weight="800" fill="#fb7185">10. MONITOR TOKENS</text>
122
+ <text x="15" y="48" font-size="11" font-weight="700" fill="#ffffff">Mapped: doctor / validate</text>
123
+ <text x="15" y="70" font-size="9.5" fill="#94a3b8">CLI linter assertions check</text>
124
+ <text x="15" y="85" font-size="9.5" fill="#94a3b8">and warn on bloated rule lists.</text>
125
+ </g>
126
+
127
+ <!-- Card 11: Task Strength -->
128
+ <g transform="translate(480, 330)">
129
+ <rect width="205" height="110" rx="8" fill="url(#cardGrad)" stroke="#334155" stroke-width="1" />
130
+ <text x="15" y="25" font-size="12" font-weight="800" fill="#818cf8">11. STRENGTH ROUTING</text>
131
+ <text x="15" y="48" font-size="11" font-weight="700" fill="#ffffff">Mapped: model-map.md</text>
132
+ <text x="15" y="70" font-size="9.5" fill="#94a3b8">Matches auditor tasks to</text>
133
+ <text x="15" y="85" font-size="9.5" fill="#94a3b8">specific specialized LLMs.</text>
134
+ </g>
135
+
136
+ <!-- Card 12: Compact Summaries -->
137
+ <g transform="translate(700, 330)">
138
+ <rect width="205" height="110" rx="8" fill="url(#cardGrad)" stroke="#334155" stroke-width="1" />
139
+ <text x="15" y="25" font-size="12" font-weight="800" fill="#c084fc">12. COMPACT SUMMARIES</text>
140
+ <text x="15" y="48" font-size="11" font-weight="700" fill="#ffffff">Mapped: Handoff templates</text>
141
+ <text x="15" y="70" font-size="9.5" fill="#94a3b8">Structured session logs pass</text>
142
+ <text x="15" y="85" font-size="9.5" fill="#34d399" font-weight="700">clean state, reducing drift.</text>
143
+ </g>
144
+
145
+ <!-- Footer Shell Area -->
146
+ <g transform="translate(40, 465)">
147
+ <rect width="870" height="50" rx="10" fill="#090d16" stroke="#334155" stroke-width="1" />
148
+ <!-- Window controls Mac-style inside footer -->
149
+ <circle cx="20" cy="25" r="4.5" fill="#ff5f56" />
150
+ <circle cx="32" cy="25" r="4.5" fill="#ffbd2e" />
151
+ <circle cx="44" cy="25" r="4.5" fill="#27c93f" />
152
+ <!-- Command text -->
153
+ <text x="70" y="30" font-family="'Fira Code', 'JetBrains Mono', monospace" font-size="14" fill="#34d399" font-weight="bold">$ <tspan fill="#e2e8f0">npx multimodel-dev-os@latest validate --target ./my-app</tspan></text>
154
+ </g>
155
+ </svg>