multimodel-dev-os 2.0.0 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/.ai/intelligence/README.md +14 -0
  2. package/.ai/intelligence/apply-log.schema.json +65 -0
  3. package/.ai/intelligence/feedback-log.example.jsonl +2 -0
  4. package/.ai/intelligence/feedback.schema.json +47 -0
  5. package/.ai/intelligence/improvement-proposal.schema.json +70 -0
  6. package/.ai/intelligence/learning-rules.example.md +18 -0
  7. package/.ai/intelligence/memory.schema.json +97 -0
  8. package/.ai/policies/approval-gates.md +35 -0
  9. package/.ai/policies/memory-policy.md +30 -0
  10. package/.ai/policies/self-improvement-policy.md +39 -0
  11. package/.ai/proposals/README.md +44 -0
  12. package/.ai/proposals/apply-operation.example.json +22 -0
  13. package/.ai/registries/capabilities.yaml +73 -0
  14. package/.ai/registries/tools.yaml +84 -0
  15. package/.ai/registries/workflows.yaml +217 -0
  16. package/README.md +218 -97
  17. package/bin/multimodel-dev-os.js +2899 -10
  18. package/docs/.vitepress/config.js +23 -1
  19. package/docs/CLI.md +89 -2
  20. package/docs/adapter-sync.md +27 -0
  21. package/docs/adapters.md +16 -0
  22. package/docs/agent-handoff.md +40 -0
  23. package/docs/approved-proposal-apply.md +156 -0
  24. package/docs/capability-registry.md +24 -0
  25. package/docs/cli-roadmap.md +14 -22
  26. package/docs/faq.md +1 -1
  27. package/docs/feedback-learning.md +33 -0
  28. package/docs/future-proof-architecture.md +22 -0
  29. package/docs/hash-compressed-memory.md +72 -0
  30. package/docs/improvement-proposals.md +70 -0
  31. package/docs/index.md +5 -5
  32. package/docs/learning-rules.md +36 -0
  33. package/docs/npm-publishing.md +16 -16
  34. package/docs/public/llms-full.txt +32 -2
  35. package/docs/public/llms.txt +43 -2
  36. package/docs/public/sitemap.xml +81 -1
  37. package/docs/quickstart.md +14 -16
  38. package/docs/real-repo-onboarding.md +27 -0
  39. package/docs/release-policy.md +5 -22
  40. package/docs/repository-command-center.md +52 -0
  41. package/docs/self-improving-codebase.md +46 -0
  42. package/docs/template-recommendation.md +22 -0
  43. package/docs/templates-guide.md +14 -3
  44. package/docs/tool-registry.md +21 -0
  45. package/docs/v2-release-checklist.md +1 -1
  46. package/docs/v2-roadmap.md +21 -1
  47. package/docs/workflow-orchestration.md +59 -0
  48. package/package.json +1 -1
  49. package/scripts/install.ps1 +1 -1
  50. package/scripts/install.sh +1 -1
  51. package/scripts/prepublish-guard.js +3 -3
  52. package/scripts/verify.js +107 -3
@@ -55,13 +55,13 @@ To view and list templates directly from your shell:
55
55
 
56
56
  ```bash
57
57
  # List all templates
58
- node bin/multimodel-dev-os.js templates
58
+ npx multimodel-dev-os templates
59
59
 
60
60
  # Inspect nextjs-saas layout details
61
- node bin/multimodel-dev-os.js show-template nextjs-saas
61
+ npx multimodel-dev-os show-template nextjs-saas
62
62
 
63
63
  # Bootstrap target using a template
64
- node bin/multimodel-dev-os.js init --target ../my-new-app --template nextjs-saas
64
+ npx multimodel-dev-os init --target ../my-new-app --template nextjs-saas
65
65
  ```
66
66
 
67
67
  ---
@@ -69,3 +69,14 @@ node bin/multimodel-dev-os.js init --target ../my-new-app --template nextjs-saas
69
69
  ## Template Quality Assurance
70
70
 
71
71
  To ensure all contributed templates meet our rigorous quality standards before packaging, refer to our [Template Quality Assurance Blueprint](/template-qa).
72
+
73
+ ## Template Recommendations for Existing Repos
74
+
75
+ If you are onboarding an existing repository and unsure which template profile to use, the recommendation engine can automatically analyze your project files:
76
+
77
+ ```bash
78
+ # Analyze framework and package signals, then output recommendation
79
+ npx multimodel-dev-os onboard recommend --target .
80
+ ```
81
+
82
+ For detailed heuristics and confidence weights, refer to the [Template Recommendation Engine docs](/template-recommendation).
@@ -0,0 +1,21 @@
1
+ # Tool & Protocol Registry
2
+
3
+ The **Tool Registry** governs connection protocols, interfaces, and file associations for developer environments and AI agents.
4
+
5
+ ---
6
+
7
+ ## 1. Tool Mappings
8
+
9
+ Tools configured in `.ai/registries/tools.yaml` are mapped by:
10
+ * **Interface Type**: `editor` (IDE plugins), `terminal` (CLI clients), or `assistant` (chat helpers).
11
+ * **Protocols**: Connection formats such as `stdin-stdout`, `mcp-jsonrpc` (Model Context Protocol), or custom config parameters.
12
+ * **Registry Keys**: Associated configuration files (e.g. `.cursorrules` for Cursor, `CLAUDE.md` for Claude Code).
13
+
14
+ ---
15
+
16
+ ## 2. Model Context Protocol (MCP) Integration
17
+
18
+ MultiModel Dev OS leverages MCP to expose local resources to models:
19
+ 1. **Server Bindings**: Developers declare local MCP servers (e.g. gcloud SDK MCP, Chrome DevTools MCP) under the tools registry.
20
+ 2. **Capability Matching**: The Capability Registry checks if the selected model has `mcp-compliance: 1.0` before attempting native bindings.
21
+ 3. **Unified Tool Access**: Exposes filesystem, browser automation, and deployment commands directly to agent execution loops securely.
@@ -4,7 +4,7 @@ Use this checklist to verify compliance before publishing `multimodel-dev-os` to
4
4
 
5
5
  ## Pre-Flight Requirements
6
6
 
7
- - [x] Ensure version string in `package.json` is set to `2.0.0`.
7
+ - [x] Ensure version string in `package.json` is set to `2.0.1`.
8
8
  - [x] Verify version strings in documentation and install scripts (`scripts/install.sh`, `scripts/install.ps1`) align with the release.
9
9
  - [x] Run full release verification:
10
10
  ```bash
@@ -9,7 +9,7 @@ This document outlines the development path, stabilization targets, and migratio
9
9
  The primary goal of the **v2.0.0 release** is to promote the experimental features introduced in `v1.2.0` (Template Galaxy, Model Compatibility Layer, and Android Expo template) into officially frozen, production-grade core components, and resume stable package publication to the public npm registry.
10
10
 
11
11
  > [!IMPORTANT]
12
- > **v2.0.0 is the active stable release.** NPM publishing is resumed, consolidating the Template Galaxy and Model registries.
12
+ > **v2.0.1 is the active stable release.** NPM publishing is resumed, consolidating the Template Galaxy and Model registries.
13
13
 
14
14
  ---
15
15
 
@@ -93,3 +93,23 @@ The `v2.0.0` release requires:
93
93
  1. 100% pass rate on all automated linter and verifier checks.
94
94
  2. Complete documentation updates across all guides and discovery indices.
95
95
  3. Explicit maintainer sign-off on local testing of the Android Expo template.
96
+
97
+ ---
98
+
99
+ ## 6. Future Stages: v2.1.0 to v3.0.0
100
+
101
+ * **v2.1.0 — Intelligence Core & Registries Foundation**
102
+ * Design and document schemas (`memory.schema.json`, `feedback.schema.json`).
103
+ * Introduce `.ai/registries/` configuration databases.
104
+ * Implement CLI routing helper `mmdo capability route` and `mmdo memory build/refresh`.
105
+ * **v2.2.0 — Feedback Loops & Tool Integrations**
106
+ * Add `mmdo learn` capability to append feedback metrics.
107
+ * Define `.ai/registries/tools.yaml` with MCP protocol interfaces.
108
+ * **v2.3.0 — Proposal Engine & Safety Controls**
109
+ * Deploy proposal structures under `.ai/proposals/`.
110
+ * Implement CLI pipeline `mmdo improve propose/review/apply`.
111
+ * **v2.4.0 — Local/Offline Operations**
112
+ * Integrate local model scoring (Llama.cpp, Ollama) and offline schema checks.
113
+ * **v3.0.0 — Unified Autonomous Co-Pilot Ecosystem**
114
+ * Full multi-agent orchestration workflows with dynamic task handoffs.
115
+ * Distributed registry syncing and cryptographically signed self-improvement proposals.
@@ -0,0 +1,59 @@
1
+ # Workflow Orchestration
2
+
3
+ MultiModel Dev OS `v2.5.0` features a built-in **Workflow Runner** designed to orchestrate codebase diagnostic pipelines safely.
4
+
5
+ ---
6
+
7
+ ## 1. CLI Commands
8
+
9
+ Workflows are registered in [.ai/registries/workflows.yaml](file:///.ai/registries/workflows.yaml) and can be executed via the following subcommands:
10
+
11
+ ### List Registered Workflows
12
+ Prints name, risk, and summary of all active workflows:
13
+ ```bash
14
+ npx multimodel-dev-os workflow list
15
+ ```
16
+
17
+ ### Show Workflow Specifications
18
+ Displays details, memory write permissions, code modification permissions, and individual logical steps:
19
+ ```bash
20
+ npx multimodel-dev-os workflow show repo-health
21
+ ```
22
+
23
+ ### Plan Workflow Execution (Dry-Run)
24
+ Prints the execution sequence, command lists, and expected outputs without executing any logic:
25
+ ```bash
26
+ npx multimodel-dev-os workflow plan repo-health
27
+ ```
28
+
29
+ ### Run Workflow
30
+ Executes the workflow steps sequentially:
31
+ ```bash
32
+ npx multimodel-dev-os workflow run repo-health
33
+ ```
34
+
35
+ ---
36
+
37
+ ## 2. Standard Built-in Workflows
38
+
39
+ MultiModel Dev OS defines 5 baseline workflows:
40
+
41
+ 1. **`repo-health`** (Low Risk): Scans framework signals, performs advisory doctor audits, and verifies file structures.
42
+ 2. **`memory-refresh`** (Medium Risk): Assesses memory differences and incremental refreshes.
43
+ 3. **`feedback-review`** (Low Risk): Lists active developer logs and compiles rules to `learning-rules.md`.
44
+ 4. **`proposal-review`** (Low Risk): Inspects codebase proposals, checks status counts, and displays audit apply logs.
45
+ 5. **`release-check`** (Low Risk): Verifies codebase structures, executes release doctors, and runs package pack checks.
46
+
47
+ ---
48
+
49
+ ## 3. Strict Safety Gates
50
+
51
+ The workflow engine enforces strict safety boundaries:
52
+
53
+ * **No File Modifications**: Allowed workflows only execute read-only checkups and incremental metadata updates (memory file compilation, feedback summaries).
54
+ * **No Shell Execution**: Shell command execution from `workflows.yaml` is prohibited. Steps map directly to internal Javascript CLI functions.
55
+ * **No Autonomy**: Any step requiring code changes (e.g. applying proposals) stops and outputs manual next-step instructions for the developer.
56
+
57
+ ## 4. Bundled Registry Fallback
58
+
59
+ If the repository does not have a local `.ai/registries/workflows.yaml` registry file initialized yet, the workflow runner will automatically fall back to the bundled registry package templates and output a notice. This allows running read-only diagnostics prior to full project onboarding.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "multimodel-dev-os",
3
- "version": "2.0.0",
3
+ "version": "2.6.0",
4
4
  "bin": {
5
5
  "multimodel-dev-os": "bin/multimodel-dev-os.js"
6
6
  },
@@ -11,7 +11,7 @@ param(
11
11
  [switch]$Help
12
12
  )
13
13
 
14
- $Version = "2.0.0"
14
+ $Version = "2.6.0"
15
15
  $RepoUrl = "https://raw.githubusercontent.com/rizvee/multimodel-dev-os/main"
16
16
 
17
17
  if ($Help) {
@@ -7,7 +7,7 @@ set -euo pipefail
7
7
  # --all (install all adapters)
8
8
  # --dry-run (show what would be created without creating)
9
9
 
10
- VERSION="2.0.0"
10
+ VERSION="2.6.0"
11
11
  REPO_URL="https://raw.githubusercontent.com/rizvee/multimodel-dev-os/main"
12
12
  CAVEMAN=false
13
13
  DRY_RUN=false
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * MultiModel Dev OS - Prepublish Guard
5
- * Blocks accidental npm publications until v2.0.0.
5
+ * Blocks accidental npm publications.
6
6
  */
7
7
 
8
8
  import { readFileSync, existsSync } from 'fs';
@@ -15,8 +15,8 @@ const projectRoot = join(__dirname, '..');
15
15
 
16
16
  // 1. Check environment variable override
17
17
  if (process.env.MMDO_ALLOW_PUBLISH !== 'true') {
18
- console.error('\n\x1b[31m[ABORT] NPM publishing is paused until v2.0.0.\x1b[0m');
19
- console.error('To override this guard during the approved v2 release, set the environment variable:');
18
+ console.error('\n\x1b[31m[ABORT] Publishing requires explicit release approval. Set MMDO_ALLOW_PUBLISH=true only during an approved npm publish.\x1b[0m');
19
+ console.error('To override this guard during the approved release, set the environment variable:');
20
20
  console.log(' \x1b[33mMMDO_ALLOW_PUBLISH=true\x1b[0m\n');
21
21
  process.exit(1);
22
22
  }
package/scripts/verify.js CHANGED
@@ -231,6 +231,21 @@ checkFile('docs/v2-migration.md');
231
231
  checkFile('docs/v2-release-checklist.md');
232
232
  checkFile('docs/package-safety.md');
233
233
 
234
+ // --- v2.1.0 Intelligence Layer Documentation ---
235
+ console.log('\nIntelligence Layer Documentation:');
236
+ checkFile('docs/future-proof-architecture.md');
237
+ checkFile('docs/self-improving-codebase.md');
238
+ checkFile('docs/feedback-learning.md');
239
+ checkFile('docs/hash-compressed-memory.md');
240
+ checkFile('docs/capability-registry.md');
241
+ checkFile('docs/tool-registry.md');
242
+ checkFile('docs/improvement-proposals.md');
243
+ checkFile('docs/learning-rules.md');
244
+ checkFile('docs/approved-proposal-apply.md');
245
+ checkFile('docs/repository-command-center.md');
246
+ checkFile('docs/workflow-orchestration.md');
247
+ checkFile('docs/agent-handoff.md');
248
+
234
249
  // --- Model & Adapter Registries ---
235
250
  console.log('\nModel & Adapter Registries:');
236
251
  checkFile('.ai/models/registry.yaml');
@@ -250,6 +265,28 @@ checkFile('.ai/schema/config.schema.json');
250
265
  checkFile('.ai/schema/template.schema.json');
251
266
  checkFile('.ai/schema/adapter.schema.json');
252
267
 
268
+ // --- v2.1.0 Intelligence Layer (Schemas, Policies, Registries) ---
269
+ console.log('\nIntelligence Layer Schemas:');
270
+ checkFile('.ai/intelligence/memory.schema.json');
271
+ checkFile('.ai/intelligence/feedback.schema.json');
272
+ checkFile('.ai/intelligence/README.md');
273
+ checkFile('.ai/intelligence/feedback-log.example.jsonl');
274
+ checkFile('.ai/intelligence/learning-rules.example.md');
275
+ checkFile('.ai/intelligence/improvement-proposal.schema.json');
276
+ checkFile('.ai/intelligence/apply-log.schema.json');
277
+ checkFile('.ai/proposals/README.md');
278
+ checkFile('.ai/proposals/apply-operation.example.json');
279
+
280
+ console.log('\nIntelligence Layer Policies:');
281
+ checkFile('.ai/policies/self-improvement-policy.md');
282
+ checkFile('.ai/policies/memory-policy.md');
283
+ checkFile('.ai/policies/approval-gates.md');
284
+
285
+ console.log('\nIntelligence Layer Registries:');
286
+ checkFile('.ai/registries/capabilities.yaml');
287
+ checkFile('.ai/registries/tools.yaml');
288
+ checkFile('.ai/registries/workflows.yaml');
289
+
253
290
  // --- Test Blueprints ---
254
291
  console.log('\nTest Manuals:');
255
292
  checkFile('tests/README.md');
@@ -377,6 +414,9 @@ verifyRegistryParsed('.ai/models/routing-presets.yaml', 'presets');
377
414
  verifyRegistryParsed('.ai/models/local-models.yaml', 'local_engines');
378
415
  verifyRegistryParsed('.ai/adapters/registry.yaml', 'adapters');
379
416
  verifyRegistryParsed('.ai/templates/registry.yaml', 'templates');
417
+ verifyRegistryParsed('.ai/registries/capabilities.yaml', 'capabilities');
418
+ verifyRegistryParsed('.ai/registries/tools.yaml', 'tools');
419
+ verifyRegistryParsed('.ai/registries/workflows.yaml', 'workflows');
380
420
 
381
421
  // --- CLI & Packaging Pre-Flight Tests ---
382
422
  console.log('\nRunning CLI & Packaging Pre-Flight Tests...');
@@ -408,11 +448,70 @@ try {
408
448
  console.log(` ${GREEN}✓${NC} CLI help displays v${expectedVersion}`);
409
449
  pass++;
410
450
  }
451
+
452
+ if (helpOutput.includes('scan') && helpOutput.includes('memory') && helpOutput.includes('status') && helpOutput.includes('workflow') && helpOutput.includes('handoff')) {
453
+ console.log(` ${GREEN}✓${NC} CLI help includes scan, memory, status, workflow, and handoff commands`);
454
+ pass++;
455
+ } else {
456
+ console.error(` ${RED}✗${NC} CLI help is missing scan, memory, status, workflow, or handoff commands`);
457
+ fail++;
458
+ }
411
459
  } catch (e) {
412
460
  console.error(` ${RED}✗${NC} node bin/multimodel-dev-os.js --help failed: ${e.message}`);
413
461
  fail++;
414
462
  }
415
463
 
464
+ // Verify docs mention memory build
465
+ try {
466
+ const mdContent = readFileSync(join(projectRoot, 'docs', 'hash-compressed-memory.md'), 'utf8');
467
+ if (mdContent.includes('memory build')) {
468
+ console.log(` ${GREEN}✓${NC} docs/hash-compressed-memory.md mentions 'memory build'`);
469
+ pass++;
470
+ } else {
471
+ console.error(` ${RED}✗${NC} docs/hash-compressed-memory.md does not mention 'memory build'`);
472
+ fail++;
473
+ }
474
+ } catch (e) {
475
+ console.error(` ${RED}✗${NC} docs check failed: ${e.message}`);
476
+ fail++;
477
+ }
478
+
479
+ // Verify no generated memory or feedback logs or proposals are committed/tracked in git root/intelligence folder
480
+ try {
481
+ const checkUntracked = (relPath) => {
482
+ if (existsSync(join(projectRoot, relPath))) {
483
+ console.error(` ${RED}✗${NC} ${relPath} should not be tracked/committed!`);
484
+ fail++;
485
+ } else {
486
+ console.log(` ${GREEN}✓${NC} ${relPath} is not tracked/committed`);
487
+ pass++;
488
+ }
489
+ };
490
+ checkUntracked('.ai/intelligence/memory.hash.json');
491
+ checkUntracked('.ai/intelligence/memory.summary.md');
492
+ checkUntracked('.ai/intelligence/feedback-log.jsonl');
493
+ checkUntracked('.ai/intelligence/learning-rules.md');
494
+ checkUntracked('.ai/intelligence/handoff.md');
495
+ checkUntracked('.ai/proposals/apply-log.jsonl');
496
+
497
+ // also check if any proposal-*.md file exists directly in projectRoot/proposals (since it shouldn't be tracked)
498
+ const proposalsDir = join(projectRoot, '.ai', 'proposals');
499
+ if (existsSync(proposalsDir)) {
500
+ const files = readdirSync(proposalsDir);
501
+ const hasRuntimeProposals = files.some(f => f.startsWith('proposal-') && f !== 'proposal-template.md' && f.endsWith('.md'));
502
+ if (hasRuntimeProposals) {
503
+ console.error(` ${RED}✗${NC} Runtime proposals should not be committed/tracked!`);
504
+ fail++;
505
+ } else {
506
+ console.log(` ${GREEN}✓${NC} No runtime proposals committed`);
507
+ pass++;
508
+ }
509
+ }
510
+ } catch (e) {
511
+ console.error(` ${RED}✗${NC} Tracking verification of generated files failed: ${e.message}`);
512
+ fail++;
513
+ }
514
+
416
515
  // Verify npm pack dry-run shows current version dynamically
417
516
  try {
418
517
  const packOutput = execSync('npm pack --dry-run', { cwd: projectRoot, encoding: 'utf8', stdio: ['ignore', 'pipe', 'pipe'] });
@@ -447,12 +546,17 @@ try {
447
546
 
448
547
  // --- Package Safety & Hygiene Checks ---
449
548
  console.log('\nPackage Safety & Hygiene Checks:');
450
- if (existsSync(join(projectRoot, '.npmrc'))) {
549
+ if (existsSync(join(projectRoot, '.npmrc')) && process.env.MMDO_ALLOW_PUBLISH !== 'true') {
451
550
  console.error(` ${RED}✗ .npmrc file exists in package root (security risk)${NC}`);
452
551
  fail++;
453
552
  } else {
454
- console.log(` ${GREEN}✓${NC} No .npmrc file present in package root`);
455
- pass++;
553
+ if (existsSync(join(projectRoot, '.npmrc'))) {
554
+ console.log(` ${YELLOW}!${NC} .npmrc file present in package root (allowed via MMDO_ALLOW_PUBLISH)`);
555
+ warn++;
556
+ } else {
557
+ console.log(` ${GREEN}✓${NC} No .npmrc file present in package root`);
558
+ pass++;
559
+ }
456
560
  }
457
561
 
458
562
  const checkExamplesHygiene = (dir) => {