multimodel-dev-os 1.1.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/.ai/adapters/custom-adapter.example.yaml +9 -0
  2. package/.ai/adapters/registry.yaml +56 -0
  3. package/.ai/models/README.md +14 -0
  4. package/.ai/models/local-models.yaml +20 -0
  5. package/.ai/models/providers.yaml +29 -0
  6. package/.ai/models/registry.yaml +73 -0
  7. package/.ai/models/routing-presets.yaml +23 -0
  8. package/.ai/skills/custom-skill.example.md +15 -0
  9. package/.ai/templates/custom-template.example.yaml +19 -0
  10. package/.ai/templates/registry.yaml +522 -0
  11. package/README.md +30 -18
  12. package/bin/multimodel-dev-os.js +835 -92
  13. package/docs/.vitepress/config.js +36 -1
  14. package/docs/adapter-authoring.md +46 -0
  15. package/docs/agent-compatibility.md +51 -0
  16. package/docs/cli-roadmap.md +12 -23
  17. package/docs/faq.md +1 -1
  18. package/docs/final-launch.md +5 -4
  19. package/docs/index.md +5 -5
  20. package/docs/local-models.md +48 -0
  21. package/docs/mobile-android.md +75 -0
  22. package/docs/model-compatibility.md +65 -0
  23. package/docs/model-routing.md +45 -0
  24. package/docs/npm-publishing.md +38 -11
  25. package/docs/package-safety.md +29 -0
  26. package/docs/provider-strategy.md +44 -0
  27. package/docs/public/llms-full.txt +82 -73
  28. package/docs/public/llms.txt +36 -34
  29. package/docs/public/sitemap.xml +51 -1
  30. package/docs/quickstart.md +11 -18
  31. package/docs/registry-contribution.md +20 -0
  32. package/docs/release-policy.md +9 -0
  33. package/docs/skill-authoring.md +56 -0
  34. package/docs/template-authoring.md +65 -0
  35. package/docs/templates-guide.md +3 -3
  36. package/docs/token-optimization.md +27 -0
  37. package/docs/v2-migration.md +31 -0
  38. package/docs/v2-release-checklist.md +30 -0
  39. package/docs/v2-roadmap.md +95 -0
  40. package/examples/expo-react-native-android/.ai/config.yaml +22 -0
  41. package/examples/expo-react-native-android/.ai/context/architecture.md +18 -0
  42. package/examples/expo-react-native-android/.ai/context/context-budget.md +4 -0
  43. package/examples/expo-react-native-android/.ai/context/model-map.md +6 -0
  44. package/examples/expo-react-native-android/.ai/context/project-brief.md +9 -0
  45. package/examples/expo-react-native-android/.ai/session-logs/.gitkeep +1 -0
  46. package/examples/expo-react-native-android/.ai/skills/expo-android-build.md +11 -0
  47. package/examples/expo-react-native-android/AGENTS.md +20 -0
  48. package/examples/expo-react-native-android/MEMORY.md +13 -0
  49. package/examples/expo-react-native-android/README.md +101 -0
  50. package/examples/expo-react-native-android/RUNBOOK.md +36 -0
  51. package/examples/expo-react-native-android/TASKS.md +14 -0
  52. package/examples/expo-react-native-android/app.config.ts +40 -0
  53. package/examples/expo-react-native-android/app.json +34 -0
  54. package/examples/expo-react-native-android/eas.json +26 -0
  55. package/examples/expo-react-native-android/jest.config.js +11 -0
  56. package/examples/expo-react-native-android/src/app/_layout.tsx +89 -0
  57. package/examples/expo-react-native-android/src/lib/secure-storage.ts +63 -0
  58. package/examples/expo-react-native-android/src/services/api-client.ts +106 -0
  59. package/package.json +3 -2
  60. package/scripts/install.ps1 +230 -230
  61. package/scripts/install.sh +1 -1
  62. package/scripts/prepublish-guard.js +43 -0
  63. package/scripts/verify.js +178 -1
@@ -32,7 +32,7 @@ export default {
32
32
  'license': 'https://opensource.org/licenses/MIT',
33
33
  'url': 'https://github.com/rizvee/multimodel-dev-os',
34
34
  'downloadUrl': 'https://www.npmjs.com/package/multimodel-dev-os',
35
- 'softwareVersion': '1.1.0',
35
+ 'softwareVersion': '2.0.1',
36
36
  'description': 'Portable, vendor-neutral AI Developer OS for multi-agent coding workflows.'
37
37
  })
38
38
  ]
@@ -62,10 +62,44 @@ export default {
62
62
  { text: 'Stable Protocol Specification', link: '/stable-protocol' },
63
63
  { text: 'Adapter Compatibility', link: '/compatibility' },
64
64
  { text: 'Upgrades & Migration', link: '/migration-guide' },
65
+ { text: 'v2 Migration Guide', link: '/v2-migration' },
66
+ { text: 'v2 Release Checklist', link: '/v2-release-checklist' },
67
+ { text: 'Package Safety', link: '/package-safety' },
65
68
  { text: 'Templates QA Blueprint', link: '/template-qa' },
66
69
  { text: 'v1.0.0 Readiness Checklist', link: '/v1-readiness' }
67
70
  ]
68
71
  },
72
+ {
73
+ text: 'Model Compatibility Layer',
74
+ items: [
75
+ { text: 'Model Capabilities Registry', link: '/model-compatibility' },
76
+ { text: 'Model Routing & Presets', link: '/model-routing' },
77
+ { text: 'Local & Offline Models', link: '/local-models' },
78
+ { text: 'API Provider Strategy', link: '/provider-strategy' }
79
+ ]
80
+ },
81
+ {
82
+ text: 'Agent & IDE Extensions',
83
+ items: [
84
+ { text: 'Agent Compatibility Mappings', link: '/agent-compatibility' },
85
+ { text: 'Custom Adapters Guide', link: '/adapter-authoring' },
86
+ { text: 'Template Authoring Guide', link: '/template-authoring' },
87
+ { text: 'Skill Authoring Guide', link: '/skill-authoring' },
88
+ { text: 'Registry Contribution Guide', link: '/registry-contribution' }
89
+ ]
90
+ },
91
+ {
92
+ text: 'Mobile Integration & Delivery',
93
+ items: [
94
+ { text: 'Expo Android Delivery', link: '/mobile-android' }
95
+ ]
96
+ },
97
+ {
98
+ text: 'Token Cost Optimization',
99
+ items: [
100
+ { text: 'Token Budgets & Optimization', link: '/token-optimization' }
101
+ ]
102
+ },
69
103
  {
70
104
  text: 'Case Studies & Playbooks',
71
105
  items: [
@@ -108,6 +142,7 @@ export default {
108
142
  { text: 'Public Launch Checklist', link: '/launch-checklist' },
109
143
  { text: 'Release Playbook Template', link: '/release-template' },
110
144
  { text: 'CLI Roadmap', link: '/cli-roadmap' },
145
+ { text: 'v2.0.0 Roadmap', link: '/v2-roadmap' },
111
146
  { text: 'NPM Publishing Runbook', link: '/npm-publishing' },
112
147
  { text: 'Pre-flight Release Testing', link: '/testing-v0.2' },
113
148
  { text: 'Release Policy', link: '/release-policy' },
@@ -0,0 +1,46 @@
1
+ # Custom IDE Adapter Authoring Guide
2
+
3
+ MultiModel Dev OS is fully extensible. Developers and teams can build custom adapters to route protocol directives to new IDE interfaces, command-line coding agents, or company-proprietary AI environments.
4
+
5
+ ---
6
+
7
+ ## Authoring Workflow
8
+
9
+ To construct a new adapter:
10
+
11
+ ### 1. Register the Adapter Metadata
12
+ Open [.ai/adapters/registry.yaml](file:///F:/multimodel-dev-os/.ai/adapters/registry.yaml) and declare the adapter properties:
13
+ ```yaml
14
+ adapters:
15
+ my-custom-agent:
16
+ name: "My Custom Agent"
17
+ config_file: ".mycustomrules"
18
+ type: "coding-agent"
19
+ docs: "docs/adapters/my-custom-agent.md"
20
+ ```
21
+
22
+ ### 2. Scaffold the Adapter Assets
23
+ Create the adapter assets directory under `adapters/my-custom-agent/`:
24
+ * **`adapters/my-custom-agent/setup.md`**: Guide for developers enabling this adapter.
25
+ * **`adapters/my-custom-agent/.mycustomrules`**: Rule boilerplate template which contains variables (e.g. system prompts or build scripts references) to be copied to project root during CLI initialization.
26
+
27
+ ### 3. Register in CLI
28
+ Open `bin/multimodel-dev-os.js` and extend the `handleInit` mapping:
29
+ ```javascript
30
+ } else if (adapter === 'my-custom-agent') {
31
+ const srcFile = join(sourceRoot, 'adapters/my-custom-agent/.mycustomrules');
32
+ const destFile = join(options.target, '.mycustomrules');
33
+ if (existsSync(srcFile)) {
34
+ writeFileSync(destFile, readFileSync(srcFile));
35
+ }
36
+ }
37
+ ```
38
+
39
+ ### 4. Verify Compliance
40
+ Extend `scripts/verify.js` to ensure the new files are verified:
41
+ ```javascript
42
+ checkFile('adapters/my-custom-agent/setup.md');
43
+ checkFile('adapters/my-custom-agent/.mycustomrules');
44
+ ```
45
+
46
+ Run `npm run verify` to confirm all assertions pass cleanly.
@@ -0,0 +1,51 @@
1
+ # Coding Agent & IDE Adapter Compatibility
2
+
3
+ MultiModel Dev OS acts as an interoperability layer across modern developer agents, terminal assistants, and IDE extensions.
4
+
5
+ ---
6
+
7
+ ## Agent Registry Mapping
8
+ Compatible configurations and destination files are detailed in [.ai/adapters/registry.yaml](file:///F:/multimodel-dev-os/.ai/adapters/registry.yaml):
9
+
10
+ ```yaml
11
+ adapters:
12
+ continue:
13
+ name: "Continue"
14
+ config_file: ".continue/config.json"
15
+ type: "editor-extension"
16
+ docs: "docs/adapters.md"
17
+ cline:
18
+ name: "Cline"
19
+ config_file: ".clinerules"
20
+ type: "coding-agent"
21
+ docs: "docs/agent-compatibility.md"
22
+ roo-code:
23
+ name: "Roo Code"
24
+ config_file: ".clinerules"
25
+ type: "coding-agent"
26
+ docs: "docs/agent-compatibility.md"
27
+ ```
28
+
29
+ ---
30
+
31
+ ## Supported Agent Configurations
32
+
33
+ ### 1. Continue
34
+ * **File Target**: `.continue/config.json`
35
+ * **Workflow**: Integrates custom system prompts and routing matrices into the VS Code / JetBrains sidebar panel.
36
+
37
+ ### 2. Cline / Roo Code
38
+ * **File Target**: `.clinerules`
39
+ * **Workflow**: Feeds strict directory layout schemas and role assignments directly to agent context loops during project scans.
40
+
41
+ ### 3. Aider
42
+ * **File Target**: `.aider.conf.yml`
43
+ * **Workflow**: Centralizes exclude filters, auto-commit actions, and CLI test verification shortcuts.
44
+
45
+ ### 4. Windsurf
46
+ * **File Target**: `.windsurfrules`
47
+ * **Workflow**: Injects development constraints and build commands into the IDE context window.
48
+
49
+ ### 5. OpenHands / Terminal Agents
50
+ * **File Target**: `CLAUDE.md` / `adapters/codex/AGENTS.md`
51
+ * **Workflow**: Standardize shell execution targets and error-handling steps for autonomous agents.
@@ -1,6 +1,6 @@
1
1
  # CLI Roadmap
2
2
 
3
- > The zero-dependency CLI utility is fully integrated with `npm` and `npx` in v0.3.0!
3
+ > The zero-dependency CLI utility is fully integrated with `npm` and `npx` in v2.0.0!
4
4
 
5
5
  ## Current CLI Usage
6
6
 
@@ -23,7 +23,7 @@ npx multimodel-dev-os@latest init --force
23
23
  npx multimodel-dev-os@latest verify
24
24
  ```
25
25
 
26
- Alternatively, you can run the CLI locally within a cloned workspace:
26
+ Alternatively, you can run the CLI directly from cloned source during development:
27
27
  ```bash
28
28
  node bin/multimodel-dev-os.js init
29
29
  node bin/multimodel-dev-os.js verify
@@ -37,28 +37,17 @@ node bin/multimodel-dev-os.js verify
37
37
  | `show-template` | Inspect stack specifications of a template | v0.5.0 | ✅ Completed |
38
38
  | `doctor` | Advisory checkup of workspace compatibility | v0.5.0 | ✅ Completed |
39
39
  | `validate` | Strict directory schema compliance checks | v0.5.0 | ✅ Completed |
40
- | `sync` | Regenerate adapter files from root AGENTS.md | v0.6.0 | 📋 Planned |
41
- | `add-adapter` | Add a new adapter to the project | v0.6.0 | 📋 Planned |
40
+ | `models` | List configured model registry entries | v2.0.0 | Completed |
41
+ | `show-model` | Inspect settings for a model registry entry | v2.0.0 | Completed |
42
+ | `providers` | List configured model registry providers | v2.0.0 | ✅ Completed |
43
+ | `route-model`| Route a target prompt based on presets | v2.0.0 | ✅ Completed |
44
+ | `adapters` | List configured adapter registry entries | v2.0.0 | ✅ Completed |
45
+ | `show-adapter`| Inspect settings for an adapter registry entry | v2.0.0 | ✅ Completed |
46
+ | `skills` | List configured skill registry entries | v2.0.0 | ✅ Completed |
47
+ | `show-skill` | Inspect settings for a skill registry entry | v2.0.0 | ✅ Completed |
42
48
 
43
- ## Requirements Completed in v0.5.0
49
+ ## CLI v2.0.0 Stabilization & Beyond
44
50
 
45
- - [x] Implemented strict `validate` CLI command for structural directory validation.
46
- - [x] Implemented advisory `doctor` command for project compatibility warnings.
47
- - [x] Implemented `templates` and `show-template` commands for built-in profiles inspection.
48
- - [x] Upgraded all 5 built-in template profiles with practical real-world contents.
49
- - [x] Implemented dynamic context budgetary constraints and skills validation.
50
- - [x] Preserved zero-dependency pure Node CLI implementations.
51
+ The `v2.0.0` stabilization milestone was completed successfully, hardening registries configurations, custom skill checking tools, and token size overrides. Any future subcommands or adapter sync mechanisms will follow SemVer guidelines to ensure full backward compatibility.
51
52
 
52
- ## Future Releases (v0.6.0+)
53
-
54
- * **Adapter Autoregeneration (`sync`):** Parse custom override boundaries inside adapters and automatically synchronize them with updates in the root markdown source of truth.
55
- * **Interactive Mode:** Provide step-by-step CLI options if run without arguments.
56
-
57
- ## Protocol Stabilization & v1.0.0 Freeze (v0.9.0)
58
-
59
- In version **v0.9.0**, we pivot the roadmap to focus on **stabilization and hardening** ahead of the official `v1.0.0` freeze:
60
- - **API Freeze:** The CLI syntax, standard command names (`init`, `verify`, `validate`, `doctor`, `templates`), and dynamic flags are frozen to ensure zero breaking changes in future minor patches.
61
- - **Robust JSON Schemas:** Added standard validators inside `.ai/schema/` to define config and template formats.
62
- - **Continuous Integration Gates:** Transitioning `validate` to serve as a strict build blocker for pulling and publishing code.
63
- - **Enhanced Warning Paths:** Hardened CLI error messaging when directory write conflicts occur, mapping absolute paths cleanly.
64
53
 
package/docs/faq.md CHANGED
@@ -62,6 +62,6 @@ Yes, for tools that auto-detect specific files:
62
62
  ## Protocol & Migration
63
63
 
64
64
  **Is the MultiModel Dev OS protocol stable?**
65
- Yes. As of version `v1.1.0`, the core specifications are officially frozen and backward-compatible. This ensures that any codebase prepared using `v1.1.0` will operate seamlessly inside future `1.x` ecosystems.
65
+ Yes. As of version `v1.1.0`, the core specifications are officially frozen and backward-compatible. This ensures that codebases prepared using `v1.1.0` or later operate seamlessly inside all `1.x` and `2.x` ecosystems.
66
66
 
67
67
  Explore our [Stable Protocol Specification](/stable-protocol) or [Upgrade & Migration Guide](/migration-guide) for details.
@@ -1,15 +1,16 @@
1
- # Final Launch Guidelines (v1.1.0)
1
+ # Final Launch Guidelines (v2.0.0 Target)
2
2
 
3
3
  This document details the final launch guidelines and distribution routines for the public releases of MultiModel Dev OS.
4
4
 
5
- > **Use when**: Executing pre-flight local audits, managing release announcements, or verifying package integrity.
5
+ > [!IMPORTANT]
6
+ > **v2.0.0 is the active stable release.** NPM publishing is no longer paused. All Template Galaxy and Model Compatibility features are now available on the public registry.
6
7
 
7
8
  ---
8
9
 
9
10
  ## 1. Local Pre-flight Verification
10
11
 
11
- Prior to pushing files to the remote repository, ensure that:
12
- - The exact target version `1.1.0` is configured in `package.json`.
12
+ Prior to pushing files or preparing a release, ensure that:
13
+ - The exact target version starts with `2.` (e.g. `2.0.0`) in `package.json` for publishing, or remains at `1.2.0` for local development.
13
14
  - The cross-platform verify script completes cleanly:
14
15
  ```bash
15
16
  npm run verify
package/docs/index.md CHANGED
@@ -16,8 +16,8 @@ hero:
16
16
  text: Stable Protocol Specs
17
17
  link: /stable-protocol
18
18
  - theme: alt
19
- text: v1.0 Readiness
20
- link: /v1-readiness
19
+ text: v2 Release Checklist
20
+ link: /v2-release-checklist
21
21
  - theme: alt
22
22
  text: View Case Studies
23
23
  link: /case-studies/
@@ -141,9 +141,9 @@ MultiModel Dev OS maps repository context directly to all major developer tools
141
141
  <div class="card-title">📈 Migration Playbook</div>
142
142
  <div class="card-desc">Upgrade older workspaces to v1.1.0 standards cleanly.</div>
143
143
  </a>
144
- <a href="/v1-checklist" class="card-item">
145
- <div class="card-title">🏁 Release Checklist</div>
146
- <div class="card-desc">Audit repository compliance with the strict release quality gates.</div>
144
+ <a href="/v2-release-checklist" class="card-item">
145
+ <div class="card-title">🏁 v2 Release Checklist</div>
146
+ <div class="card-desc">Audit repository compliance with the strict v2 release quality gates.</div>
147
147
  </a>
148
148
  <a href="/llms.txt" class="card-item" target="_blank">
149
149
  <div class="card-title">🤖 AI Discovery (llms.txt)</div>
@@ -0,0 +1,48 @@
1
+ # Local & Open-Weight Offline Models Guide
2
+
3
+ MultiModel Dev OS supports offline development workflows utilizing open-weight models running on local developer hardware (via Ollama, Llama.cpp, or vLLM).
4
+
5
+ ---
6
+
7
+ ## Local Models Configuration
8
+ Local model bindings are defined in [.ai/models/local-models.yaml](file:///F:/multimodel-dev-os/.ai/models/local-models.yaml):
9
+
10
+ ```yaml
11
+ local_engines:
12
+ ollama:
13
+ base_url: "http://localhost:11434/v1"
14
+ models:
15
+ - alias: local-coder-model
16
+ official_id: qwen2.5-coder:7b
17
+ - alias: open-weight-reasoner
18
+ official_id: deepseek-r1:8b
19
+ ```
20
+
21
+ ---
22
+
23
+ ## Local Setup Instructions
24
+
25
+ ### 1. Using Ollama
26
+ To spin up a local model runner and pull target coding weights:
27
+ ```bash
28
+ # Install Ollama and run server
29
+ ollama run qwen2.5-coder:7b
30
+
31
+ # In another terminal tab, run MultiModel Dev OS verify
32
+ node bin/multimodel-dev-os.js verify
33
+ ```
34
+
35
+ ### 2. Local fallback routing
36
+ To configure local fallback when remote APIs are unavailable, set your primary model map to point to the local coder model:
37
+ ```yaml
38
+ # .ai/context/model-map.md
39
+ Planning: open-weight-reasoner
40
+ Execution: local-coder-model
41
+ ```
42
+
43
+ ---
44
+
45
+ ## Benefits & Optimization
46
+ * **Zero API Cost**: Local model queries carry no token charges.
47
+ * **Privacy Compliance**: No code snippets or workspace context files leave the local host machine.
48
+ * **Offline-Ready**: Develop and build applications on flights or remote zones with zero internet dependencies.
@@ -0,0 +1,75 @@
1
+ # Production Mobile Android Setup (Expo + React Native)
2
+
3
+ MultiModel Dev OS v1.2.0 adds a dedicated production-ready template for mobile Android clients under [examples/expo-react-native-android/](file:///F:/multimodel-dev-os/examples/expo-react-native-android/).
4
+
5
+ This guide describes how to customize and deploy this template using Expo EAS Build pipelines.
6
+
7
+ ---
8
+
9
+ ## 1. Directory Structure
10
+
11
+ The `expo-react-native-android` template structures standard mobile files:
12
+
13
+ * **`app.json`**: Global metadata mapping package namespaces (`com.multimodel.devos`), app icons, orientation constraints, and runtime permissions.
14
+ * **`eas.json`**: Configuration profile mapping for Expo EAS Build pipelines.
15
+ * **`app.config.ts`**: TypeScript config dynamically mapping environment profiles.
16
+ * **`src/services/api-client.ts`**: Standardized fetch client with connection timeout limits.
17
+ * **`src/lib/secure-storage.ts`**: Storage wrapper interface utilizing `expo-secure-store`.
18
+ * **`src/app/_layout.tsx`**: Expo Router root Layout component displaying loading/offline network states.
19
+ * **`jest.config.js`**: Jest configuration setting up native Expo mocks and test suites.
20
+
21
+ ---
22
+
23
+ ## 2. Environment Configurations
24
+
25
+ EAS Build uses the `APP_ENV` environment variable to direct endpoint paths:
26
+
27
+ | Profile / APP_ENV | Target API BaseUrl | Distribution Method |
28
+ | :--- | :--- | :--- |
29
+ | `development` | `http://10.0.2.2:3000/api` | Expo Go Dev Client |
30
+ | `staging` | `https://staging-api.multimodel.dev` | Internal testing APK |
31
+ | `production` | `https://api.multimodel.dev` | Play Store AAB Bundle |
32
+
33
+ ---
34
+
35
+ ## 3. Build & Submission Command Lines
36
+
37
+ To trigger builds on EAS servers:
38
+ ```bash
39
+ # Build development client APK
40
+ eas build --profile development --platform android
41
+
42
+ # Build staging preview APK
43
+ eas build --profile preview --platform android
44
+
45
+ # Build production bundle AAB
46
+ eas build --profile production --platform android
47
+ ```
48
+
49
+ ---
50
+
51
+ ## 4. Mobile Quality Assurance (QA) Checklist
52
+
53
+ To verify app compliance before distribution:
54
+ 1. **No committed secrets**: Do not write keys inside `app.config.ts` or `app.json`. Use EAS secrets vault.
55
+ 2. **Offline Handlers**: Verify layout redirects properly to connection failure views when network states drop.
56
+ 3. **Session Encryptions**: Confirm tokens are stored exclusively inside `secure-storage.ts` (`expo-secure-store`), not `AsyncStorage`.
57
+
58
+ ---
59
+
60
+ ## 5. Android & Expo Template FAQ
61
+
62
+ ### Q: Why does the API call fail in the Android Emulator when using localhost?
63
+ In Android emulators, `localhost` or `127.0.0.1` refers to the emulator's loopback interface itself, not your host computer. The host computer's loopback interface is mapped to the special IP address `10.0.2.2`. The `api-client` automatically resolves this default when `APP_ENV` is set to `development`.
64
+
65
+ ### Q: How do I handle EAS credentials errors during eas build?
66
+ EAS credentials errors usually occur when the `projectId` or `owner` in `app.config.ts` does not match your Expo Developer account. To resolve this:
67
+ 1. Log in to your Expo account via command line: `npx eas login`.
68
+ 2. Configure your own Expo username in `app.config.ts` under `owner`.
69
+ 3. Generate a project ID on your Expo dashboard and update the `projectId` placeholder in `app.config.ts`.
70
+
71
+ ### Q: How do I test the API client's retry mechanism locally?
72
+ You can toggle offline mock responses by setting `useMockData: true` inside [api-client.ts](file:///f:/multimodel-dev-os/examples/expo-react-native-android/src/services/api-client.ts) constructor, or you can temporarily disconnect your development server to watch the console log warning attempts:
73
+ `[ApiClient] Attempt 1 failed: fetch failed. Retrying...`
74
+ The client will automatically retry up to 3 times before returning a `Max retries exceeded` error.
75
+
@@ -0,0 +1,65 @@
1
+ # Model Compatibility & Capabilities Registry
2
+
3
+ MultiModel Dev OS v1.2.0 introduces a centralized, registry-driven configuration layer to specify target AI model behaviors, token windows, cost metrics, and specialized capabilities.
4
+
5
+ This ensures that agentic coding workflows are future-proof, allowing developers to route prompts to optimal engines without updating core codebase packages.
6
+
7
+ ---
8
+
9
+ ## Central Registry File
10
+ The core system registry resides in [.ai/models/registry.yaml](file:///F:/multimodel-dev-os/.ai/models/registry.yaml):
11
+
12
+ ```yaml
13
+ models:
14
+ claude-sonnet-latest:
15
+ provider: anthropic
16
+ alias: claude-3-5-sonnet
17
+ official_id: claude-3-5-sonnet-20241022
18
+ context_window: 200000
19
+ tiers:
20
+ cost: high
21
+ speed: medium
22
+ reasoning: premium
23
+ coding: premium
24
+ capabilities:
25
+ vision: true
26
+ tool_use: true
27
+
28
+ gemini-flash-latest:
29
+ provider: google
30
+ alias: gemini-1.5-flash
31
+ official_id: gemini-1.5-flash-001
32
+ context_window: 1048576
33
+ tiers:
34
+ cost: low
35
+ speed: fast
36
+ reasoning: medium
37
+ coding: medium
38
+ capabilities:
39
+ vision: true
40
+ tool_use: true
41
+ ```
42
+
43
+ ---
44
+
45
+ ## Schema Attributes Reference
46
+
47
+ | Property | Type | Description |
48
+ | :--- | :--- | :--- |
49
+ | `provider` | String | Matches identifier in [providers.yaml](file:///F:/multimodel-dev-os/.ai/models/providers.yaml). |
50
+ | `alias` | String | Common developer name or shortcut (e.g. `gpt-4o`). |
51
+ | `official_id` | String | Precise API endpoint identifier string. |
52
+ | `context_window` | Integer | Maximum token capacity of the model. |
53
+ | `tiers` | Object | Speed, cost, reasoning, and coding classifications (low/medium/high/premium). |
54
+ | `capabilities` | Object | Toggles indicating `vision` or `tool_use` (function calling) support. |
55
+
56
+ ---
57
+
58
+ ## Dynamic Placeholders
59
+ If a model name is future-facing or unverified, it is registered as a configurable placeholder or alias:
60
+ * `gpt-coding-latest`
61
+ * `deepseek-coder-latest`
62
+ * `local-coder-model`
63
+ * `open-weight-reasoner`
64
+
65
+ This strategy prevents hardcoding unverified API configurations and allows instant mapping via localized parameters.
@@ -0,0 +1,45 @@
1
+ # Multi-Model Routing & Presets Guide
2
+
3
+ To optimize context budgets and API costs, MultiModel Dev OS separates agent roles and routes tasks to specialized model families based on their complexity.
4
+
5
+ ---
6
+
7
+ ## Central Routing Configuration
8
+ Routing policies and presets reside in [.ai/models/routing-presets.yaml](file:///F:/multimodel-dev-os/.ai/models/routing-presets.yaml):
9
+
10
+ ```yaml
11
+ presets:
12
+ planning:
13
+ primary: claude-sonnet-latest
14
+ fallback: gemini-pro-latest
15
+ debugging:
16
+ primary: deepseek-coder-latest
17
+ fallback: gemini-flash-latest
18
+ ```
19
+
20
+ ---
21
+
22
+ ## Standard Presets Matrix
23
+
24
+ ### 1. Planning (`planning` Preset)
25
+ * **Goal**: Architect implementation files, outline tasks checklists, and coordinate directory hierarchies.
26
+ * **Primary Target**: Premium reasoning models (e.g. `claude-sonnet-latest`, `gemini-pro-latest`).
27
+ * **Requirements**: Comprehensive context processing, high structured-output obedience.
28
+
29
+ ### 2. Code Writing (`coding` Preset)
30
+ * **Goal**: Generate precise diffs and write modular, functional scripts.
31
+ * **Primary Target**: Fast, high-accuracy coding models (e.g. `deepseek-coder-latest`, `claude-sonnet-latest`).
32
+ * **Requirements**: Coding tier premium classification.
33
+
34
+ ### 3. Quick Fixes & Verification (`verification` Preset)
35
+ * **Goal**: Run unit tests, verify CLI diagnostic outputs, and perform style compliance checks.
36
+ * **Primary Target**: Low-cost, fast inference models (e.g. `gemini-flash-latest`).
37
+ * **Requirements**: Speed tier fast classification, tool calling support.
38
+
39
+ ---
40
+
41
+ ## Fallback Routing Logic
42
+ When executing commands via terminal agents or local adapters:
43
+ 1. Verify target provider key exists (e.g. `GEMINI_API_KEY`).
44
+ 2. If primary model endpoint fails, check `capabilities.fallback` mapping in `registry.yaml`.
45
+ 3. Route queries automatically to fallback options or fallback to `local-coder-model`.
@@ -12,13 +12,13 @@ Before publishing, always test the built package locally by compiling a compress
12
12
  ```bash
13
13
  npm pack
14
14
  ```
15
- This creates a file named like `multimodel-dev-os-0.3.0.tgz` in your directory root.
15
+ This creates a file named like `multimodel-dev-os-2.0.1.tgz` in your directory root.
16
16
 
17
17
  2. **Verify bundle contents:**
18
18
  Create an empty temporary workspace, extract the tarball, and confirm that only required scaffold folders are included (no `.github/`, test configurations, or local system files):
19
19
  ```bash
20
20
  mkdir -p /tmp/package-test && cd /tmp/package-test
21
- tar -xzf /path/to/multimodel-dev-os-0.3.0.tgz
21
+ tar -xzf /path/to/multimodel-dev-os-2.0.1.tgz
22
22
  ls -la package/
23
23
  ```
24
24
 
@@ -61,14 +61,41 @@ Execute these validation actions strictly in sequence before triggering a releas
61
61
  ## 3. Versioning & Rollback Strategy
62
62
 
63
63
  * **Semantic Versioning (SemVer) Discipline:**
64
- * **Patch Release (e.g. 0.3.1):** Backward-compatible bug fixes or documentation updates.
65
- * **Minor Release (e.g. 0.4.0):** Backward-compatible new features (like new adapter sync mechanisms).
66
- * **Major Release (e.g. 1.0.0):** Breaking changes to core specification files.
64
+ * **Patch Release (e.g. 2.0.1):** Backward-compatible bug fixes or documentation updates.
65
+ * **Minor Release (e.g. 2.1.0):** Backward-compatible new features (like new adapter sync mechanisms).
66
+ * **Major Release (e.g. 3.0.0):** Breaking changes to core specification files.
67
67
 
68
68
  * **Rollback & Deprecation Guidelines:**
69
- * Since published versions cannot be republished or overwritten, **never unpublish** unless absolutely necessary.
70
- * If a critical bug is discovered, immediately publish a new patch version (e.g. `v0.3.1`).
71
- * If a version is broken, flag it as deprecated to inform downstream installers:
72
- ```bash
73
- npm deprecate multimodel-dev-os@0.3.0 "Critical bug found, please use v0.3.1 instead."
74
- ```
69
+ * Since published versions cannot be republished or overwritten, **never unpublish** unless absolutely necessary.
70
+ * If a critical bug is discovered, immediately publish a new patch version (e.g. `v2.0.1`).
71
+ * If a version is broken, flag it as deprecated to inform downstream installers:
72
+ ```bash
73
+ npm deprecate multimodel-dev-os@2.0.0 "Critical bug found, please use v2.0.1 instead."
74
+ ```
75
+
76
+ ---
77
+
78
+ ## 4. Prepublish Safety Guard (v2.0.1 Stable)
79
+
80
+ > [!IMPORTANT]
81
+ > **v2.0.1 is the active stable release.** NPM publishing is no longer paused.
82
+
83
+ ### Source vs. Registry Strategy
84
+ * **GitHub main branch (Source)**: Contains the current stable `v2.0.1` codebase.
85
+ * **npm latest (Registry)**: Pulled and installed globally or via npx.
86
+
87
+ ### Prepublish Safety Guard
88
+ To prevent accidental `npm publish` executions on developer environments, a local validation script has been added to package hooks. If you run `npm publish`, it is blocked by default.
89
+
90
+ To bypass this check during approved release windows:
91
+ 1. Ensure the version in `package.json` starts with `2.` (e.g. `2.0.1`).
92
+ 2. Run publication with the override env variable:
93
+ ```powershell
94
+ # PowerShell
95
+ $env:MMDO_ALLOW_PUBLISH="true"
96
+ npm publish --access public
97
+ ```
98
+ ```bash
99
+ # Bash
100
+ MMDO_ALLOW_PUBLISH=true npm publish --access public
101
+ ```
@@ -0,0 +1,29 @@
1
+ # Package Safety and Security Hygiene
2
+
3
+ This document defines strict safety guidelines for the MultiModel Dev OS workspace.
4
+
5
+ ## Excluded Items List
6
+
7
+ To prevent security compromises, credential exposure, or prompt bloating, the following files must **never** be included in git pushes or packaged in NPM releases:
8
+
9
+ 1. **Local Credentials & API Keys:**
10
+ * `.npmrc` (specifically containing authentication tokens)
11
+ * `.env` / `.env.local`
12
+ 2. **Build and Cache Artifacts:**
13
+ * `node_modules/`
14
+ * `dist/` / `build/`
15
+ * `docs/.vitepress/dist/`
16
+ * `docs/.vitepress/cache/`
17
+ 3. **Mobile & Android Signing Artifacts:**
18
+ * `*.keystore` / `*.jks` files
19
+ * `google-services.json`
20
+ * `GoogleService-Info.plist`
21
+ * Signing configuration credentials
22
+
23
+ ## Enforcement
24
+
25
+ The project release audit scripts strictly enforce these checks:
26
+ ```bash
27
+ npm run verify
28
+ ```
29
+ Any violation will cause verification and build pipelines to fail immediately.
@@ -0,0 +1,44 @@
1
+ # Provider Strategy & API Keys Reference
2
+
3
+ MultiModel Dev OS supports multi-vendor API routing by centralizing provider properties, endpoints, and credentials reference schemas.
4
+
5
+ ---
6
+
7
+ ## Provider Registry Configuration
8
+ Configure base URLs and API environment variables in [.ai/models/providers.yaml](file:///F:/multimodel-dev-os/.ai/models/providers.yaml):
9
+
10
+ ```yaml
11
+ providers:
12
+ anthropic:
13
+ name: "Anthropic"
14
+ api_endpoint: "https://api.anthropic.com/v1"
15
+ env_key: "ANTHROPIC_API_KEY"
16
+ default_headers:
17
+ "anthropic-version": "2023-06-01"
18
+
19
+ google:
20
+ name: "Google Gemini"
21
+ api_endpoint: "https://generativelanguage.googleapis.com/v1beta"
22
+ env_key: "GEMINI_API_KEY"
23
+
24
+ openai:
25
+ name: "OpenAI"
26
+ api_endpoint: "https://api.openai.com/v1"
27
+ env_key: "OPENAI_API_KEY"
28
+ ```
29
+
30
+ ---
31
+
32
+ ## API Key Security Rules
33
+
34
+ To guarantee credential safety during agentic loops:
35
+ 1. **Never commit raw keys**: Add `.env` and `.env.local` files to `.gitignore` to prevent committing secrets to version control.
36
+ 2. **Centralized Environment Variables**: Centralize keys inside local shell environments or local `.env` configs.
37
+ 3. **No hardcoded defaults**: The default `providers.yaml` refers only to standard environment variable keys (e.g. `ANTHROPIC_API_KEY`), never API secrets.
38
+
39
+ ---
40
+
41
+ ## custom endpoint routing (e.g. proxy/gateways)
42
+ For companies routing traffic through centralized proxy interfaces (such as OpenRouter, Cloudflare AI Gateway, or local mocks):
43
+ * Edit `.ai/models/providers.yaml` and update the `api_endpoint` parameter of the targeted provider.
44
+ * Update `default_headers` to inject custom authentication tokens or routing parameters required by the gateway.