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 +51 -156
- package/assets/ai-dev-os-roadmap.svg +66 -0
- package/assets/architecture-preview.svg +94 -0
- package/assets/cost-optimization.svg +155 -0
- package/assets/social-preview.svg +72 -0
- package/assets/terminal-demo.svg +72 -0
- package/docs/.vitepress/config.js +22 -0
- package/docs/5-day-roadmap.md +72 -0
- package/docs/case-studies/ecommerce-store.md +46 -0
- package/docs/case-studies/index.md +24 -0
- package/docs/case-studies/multimodel-handoff.md +46 -0
- package/docs/case-studies/nextjs-saas.md +48 -0
- package/docs/case-studies/seo-landing-page.md +46 -0
- package/docs/case-studies/wordpress-site.md +47 -0
- package/docs/comparison.md +7 -6
- package/docs/cost-optimization.md +61 -0
- package/docs/demo.md +79 -0
- package/docs/index.md +27 -9
- package/docs/launch-checklist.md +47 -0
- package/docs/launch-kit.md +42 -60
- package/docs/public/assets/ai-dev-os-roadmap.svg +66 -0
- package/docs/public/assets/architecture-preview.svg +94 -0
- package/docs/public/assets/cost-optimization.svg +155 -0
- package/docs/public/assets/social-preview.svg +72 -0
- package/docs/public/assets/terminal-demo.svg +72 -0
- package/docs/quickstart.md +21 -30
- package/docs/release-template.md +74 -0
- package/docs/workflow-examples.md +74 -0
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -1,202 +1,97 @@
|
|
|
1
|
-
#
|
|
1
|
+
# MultiModel Dev OS
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
[](https://www.npmjs.com/package/multimodel-dev-os)
|
|
6
|
-
[](LICENSE)
|
|
7
|
-
[](https://github.com/rizvee/multimodel-dev-os/releases)
|
|
8
|
-
[](https://github.com/rizvee/multimodel-dev-os/actions)
|
|
9
|
-
[](https://www.npmjs.com/package/multimodel-dev-os)
|
|
10
|
-
[](CONTRIBUTING.md)
|
|
3
|
+
Portable, vendor-neutral workspace configuration layer for multi-agent coding loops.
|
|
11
4
|
|
|
12
5
|
---
|
|
13
6
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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
|
-
##
|
|
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
|
-
|
|
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
|
-
##
|
|
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
|
-
|
|
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
|
-
##
|
|
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
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
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
|
-
##
|
|
47
|
+
## Cost & Context Optimization
|
|
131
48
|
|
|
132
|
-
|
|
49
|
+
Minimize prompt overhead and API billing by mapping key context-reduction techniques to MultiModel Dev OS features:
|
|
133
50
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
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
|
-
|
|
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
|
-
##
|
|
63
|
+
## 5-Day Adoption Roadmap
|
|
151
64
|
|
|
152
|
-
|
|
65
|
+
Deploying MultiModel Dev OS across your team is straightforward and tool-neutral:
|
|
153
66
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
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 [
|
|
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
|
-
##
|
|
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
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
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
|
-
##
|
|
86
|
+
## Core Navigation Guides
|
|
195
87
|
|
|
196
|
-
|
|
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
|
-
|
|
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 & 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 & 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 & 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>
|