mindforge-cc 2.0.0-alpha.4 → 2.0.0-alpha.6
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/.agent/CLAUDE.md +30 -0
- package/.agent/mindforge/dashboard.md +98 -0
- package/.agent/mindforge/init-project.md +12 -0
- package/.claude/CLAUDE.md +30 -0
- package/.claude/commands/mindforge/dashboard.md +98 -0
- package/.mindforge/dashboard/api-reference.md +122 -0
- package/.mindforge/dashboard/dashboard-spec.md +96 -0
- package/.planning/approvals/v2-architecture-approval.json +15 -0
- package/CHANGELOG.md +13 -0
- package/README.md +18 -2
- package/bin/change-classifier.js +86 -0
- package/bin/dashboard/api-router.js +198 -0
- package/bin/dashboard/approval-handler.js +134 -0
- package/bin/dashboard/frontend/index.html +511 -0
- package/bin/dashboard/metrics-aggregator.js +296 -0
- package/bin/dashboard/server.js +135 -0
- package/bin/dashboard/sse-bridge.js +178 -0
- package/bin/dashboard/team-tracker.js +0 -0
- package/bin/governance/approve.js +60 -0
- package/bin/installer-core.js +68 -12
- package/bin/mindforge-cli.js +87 -0
- package/bin/wizard/setup-wizard.js +5 -1
- package/docs/architecture/README.md +2 -0
- package/docs/ci-cd.md +92 -0
- package/docs/commands-reference.md +1 -0
- package/docs/feature-dashboard.md +52 -0
- package/docs/publishing-guide.md +16 -51
- package/docs/testing-current-version.md +130 -0
- package/docs/user-guide.md +24 -2
- package/docs/usp-features.md +15 -1
- package/docs/workflow-atlas.md +57 -0
- package/package.json +5 -2
package/bin/installer-core.js
CHANGED
|
@@ -21,7 +21,7 @@ const RUNTIMES = {
|
|
|
21
21
|
antigravity: {
|
|
22
22
|
globalDir: path.join(os.homedir(), '.gemini', 'antigravity'),
|
|
23
23
|
localDir: 'agents',
|
|
24
|
-
commandsSubdir: '
|
|
24
|
+
commandsSubdir: 'workflows',
|
|
25
25
|
entryFile: 'CLAUDE.md',
|
|
26
26
|
},
|
|
27
27
|
};
|
|
@@ -51,6 +51,31 @@ const fsu = {
|
|
|
51
51
|
},
|
|
52
52
|
};
|
|
53
53
|
|
|
54
|
+
// ── Registry Management ────────────────────────────────────────────────────────
|
|
55
|
+
const RegistryManager = {
|
|
56
|
+
getRegistryPath: () => path.join(os.homedir(), '.mindforge', 'registry.json'),
|
|
57
|
+
|
|
58
|
+
registerProject(projectPath) {
|
|
59
|
+
const regPath = this.getRegistryPath();
|
|
60
|
+
fsu.ensureDir(path.dirname(regPath));
|
|
61
|
+
|
|
62
|
+
let registry = { projects: [] };
|
|
63
|
+
if (fsu.exists(regPath)) {
|
|
64
|
+
try {
|
|
65
|
+
registry = JSON.parse(fsu.read(regPath));
|
|
66
|
+
} catch (e) {
|
|
67
|
+
console.error(' ⚠️ Registry file corrupted, recreating...');
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
if (!registry.projects.includes(projectPath)) {
|
|
72
|
+
registry.projects.push(projectPath);
|
|
73
|
+
fsu.write(regPath, JSON.stringify(registry, null, 2));
|
|
74
|
+
console.log(` ✅ Registered project in ${regPath}`);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
|
|
54
79
|
// ── Self-install detection ────────────────────────────────────────────────────
|
|
55
80
|
function isSelfInstall() {
|
|
56
81
|
const pkgPath = path.join(process.cwd(), 'package.json');
|
|
@@ -125,14 +150,14 @@ function safeCopyClaude(src, dst, options = {}) {
|
|
|
125
150
|
|
|
126
151
|
// ── Install verification ──────────────────────────────────────────────────────
|
|
127
152
|
function verifyInstall(baseDir, cmdsDir, runtime, scope) {
|
|
128
|
-
|
|
153
|
+
const pfx = runtime === 'antigravity' ? 'mindforge:' : '';
|
|
129
154
|
const required = [
|
|
130
|
-
path.join(baseDir, 'CLAUDE.md'),
|
|
131
|
-
path.join(cmdsDir,
|
|
132
|
-
path.join(cmdsDir,
|
|
133
|
-
path.join(cmdsDir,
|
|
134
|
-
path.join(cmdsDir,
|
|
135
|
-
path.join(cmdsDir,
|
|
155
|
+
scope === 'local' ? path.join(process.cwd(), 'CLAUDE.md') : path.join(baseDir, 'CLAUDE.md'),
|
|
156
|
+
path.join(cmdsDir, `${pfx}help.md`),
|
|
157
|
+
path.join(cmdsDir, `${pfx}init-project.md`),
|
|
158
|
+
path.join(cmdsDir, `${pfx}health.md`),
|
|
159
|
+
path.join(cmdsDir, `${pfx}execute-phase.md`),
|
|
160
|
+
path.join(cmdsDir, `${pfx}security-scan.md`),
|
|
136
161
|
];
|
|
137
162
|
|
|
138
163
|
const missing = required.filter(f => !fsu.exists(f));
|
|
@@ -171,14 +196,28 @@ async function install(runtime, scope, options = {}) {
|
|
|
171
196
|
return;
|
|
172
197
|
}
|
|
173
198
|
|
|
174
|
-
// ── 1. Install CLAUDE.md
|
|
199
|
+
// ── 1. Install CLAUDE.md (Root standardization for IDEs) ────────────────────
|
|
175
200
|
const claudeSrc = runtime === 'claude'
|
|
176
201
|
? src('.claude', 'CLAUDE.md')
|
|
177
202
|
: src('.agent', 'CLAUDE.md');
|
|
178
203
|
|
|
179
204
|
if (fsu.exists(claudeSrc)) {
|
|
205
|
+
// Keep legacy location based on runtime config
|
|
180
206
|
safeCopyClaude(claudeSrc, path.join(baseDir, 'CLAUDE.md'), { force, verbose });
|
|
181
|
-
|
|
207
|
+
|
|
208
|
+
// ✨ STANDARD: Inject into project root and IDE-specific rules files
|
|
209
|
+
if (scope === 'local' && !selfInstall) {
|
|
210
|
+
const rootClaude = path.join(process.cwd(), 'CLAUDE.md');
|
|
211
|
+
const rootCursor = path.join(process.cwd(), '.cursorrules');
|
|
212
|
+
const rootWindsurf = path.join(process.cwd(), '.windsurfrules');
|
|
213
|
+
|
|
214
|
+
safeCopyClaude(claudeSrc, rootClaude, { force, verbose });
|
|
215
|
+
safeCopyClaude(claudeSrc, rootCursor, { force, verbose });
|
|
216
|
+
safeCopyClaude(claudeSrc, rootWindsurf, { force, verbose });
|
|
217
|
+
console.log(' ✅ CLAUDE.md (Mirrored to project root & .cursorrules)');
|
|
218
|
+
} else {
|
|
219
|
+
console.log(' ✅ CLAUDE.md');
|
|
220
|
+
}
|
|
182
221
|
}
|
|
183
222
|
|
|
184
223
|
// ── 2. Install commands ─────────────────────────────────────────────────────
|
|
@@ -189,8 +228,24 @@ async function install(runtime, scope, options = {}) {
|
|
|
189
228
|
if (fsu.exists(cmdSrc)) {
|
|
190
229
|
fsu.ensureDir(cmdsDir);
|
|
191
230
|
const files = fsu.listFiles(cmdSrc).filter(f => f.endsWith('.md'));
|
|
192
|
-
|
|
193
|
-
|
|
231
|
+
|
|
232
|
+
// Install for specific runtime
|
|
233
|
+
files.forEach(f => {
|
|
234
|
+
const targetName = runtime === 'antigravity' ? `mindforge:${f}` : f;
|
|
235
|
+
fsu.copy(path.join(cmdSrc, f), path.join(cmdsDir, targetName));
|
|
236
|
+
});
|
|
237
|
+
|
|
238
|
+
// ✨ STANDARD: Mirror to .claude/commands for cross-IDE compatibility (Cursor/Windsurf/Claude Code)
|
|
239
|
+
if (scope === 'local' && runtime !== 'claude' && !selfInstall) {
|
|
240
|
+
const standardCmdDir = path.join(process.cwd(), '.claude', 'commands', 'mindforge');
|
|
241
|
+
fsu.ensureDir(standardCmdDir);
|
|
242
|
+
files.forEach(f => {
|
|
243
|
+
fsu.copy(path.join(cmdSrc, f), path.join(standardCmdDir, f));
|
|
244
|
+
});
|
|
245
|
+
console.log(` ✅ ${files.length} commands (Mirrored to .claude/commands/mindforge/)`);
|
|
246
|
+
} else {
|
|
247
|
+
console.log(` ✅ ${files.length} commands`);
|
|
248
|
+
}
|
|
194
249
|
}
|
|
195
250
|
|
|
196
251
|
// ── 3. Framework files (local scope only, non-self-install) ─────────────────
|
|
@@ -266,6 +321,7 @@ async function install(runtime, scope, options = {}) {
|
|
|
266
321
|
}
|
|
267
322
|
}
|
|
268
323
|
|
|
324
|
+
RegistryManager.registerProject(process.cwd());
|
|
269
325
|
}
|
|
270
326
|
|
|
271
327
|
// ── 4. Verify installation ──────────────────────────────────────────────────
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* MindForge CLI Router — v2.0.0
|
|
4
|
+
* Standardizes command invocation for GitHub Actions and local development.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
'use strict';
|
|
8
|
+
|
|
9
|
+
const { spawnSync } = require('child_process');
|
|
10
|
+
const path = require('path');
|
|
11
|
+
|
|
12
|
+
const ARGS = process.argv.slice(2);
|
|
13
|
+
const COMMAND = ARGS[0];
|
|
14
|
+
const COMMAND_ARGS = ARGS.slice(1);
|
|
15
|
+
|
|
16
|
+
const ROOT = path.resolve(__dirname, '..');
|
|
17
|
+
|
|
18
|
+
const COMMANDS = {
|
|
19
|
+
'security-scan': {
|
|
20
|
+
script: 'bin/validate-config.js',
|
|
21
|
+
description: 'Validate configuration and run security checks',
|
|
22
|
+
defaultArgs: ['MINDFORGE.md']
|
|
23
|
+
},
|
|
24
|
+
'health': {
|
|
25
|
+
script: 'bin/installer-core.js',
|
|
26
|
+
description: 'Verify project health and installation integrity',
|
|
27
|
+
defaultArgs: ['--check']
|
|
28
|
+
},
|
|
29
|
+
'headless': {
|
|
30
|
+
script: 'bin/autonomous/headless.js',
|
|
31
|
+
description: 'Run MindForge agent in headless mode'
|
|
32
|
+
},
|
|
33
|
+
'pr-review': {
|
|
34
|
+
script: 'bin/review/cross-review-engine.js',
|
|
35
|
+
description: 'Run standard PR review logic'
|
|
36
|
+
},
|
|
37
|
+
'cross-review': {
|
|
38
|
+
script: 'bin/review/cross-review-engine.js',
|
|
39
|
+
description: 'Run advanced cross-model review'
|
|
40
|
+
},
|
|
41
|
+
'classify': {
|
|
42
|
+
script: 'bin/change-classifier.js',
|
|
43
|
+
description: 'Classify changes into governance tiers'
|
|
44
|
+
},
|
|
45
|
+
'approve': {
|
|
46
|
+
script: 'bin/governance/approve.js',
|
|
47
|
+
description: 'Generate a governance approval signature to unblock Tier 3 gates'
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
if (!COMMAND || ARGS.includes('--help') || ARGS.includes('-h')) {
|
|
52
|
+
printUsage();
|
|
53
|
+
process.exit(0);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
const target = COMMANDS[COMMAND];
|
|
57
|
+
if (!target) {
|
|
58
|
+
console.error(`❌ Unknown command: ${COMMAND}`);
|
|
59
|
+
console.error('Available commands: ' + Object.keys(COMMANDS).join(', '));
|
|
60
|
+
process.exit(1);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
const scriptPath = path.join(ROOT, target.script);
|
|
64
|
+
const finalArgs = COMMAND_ARGS.length > 0 ? COMMAND_ARGS : (target.defaultArgs || []);
|
|
65
|
+
|
|
66
|
+
console.log(`🚀 Executing: ${COMMAND} (${target.description})`);
|
|
67
|
+
|
|
68
|
+
const result = spawnSync('node', [scriptPath, ...finalArgs], {
|
|
69
|
+
cwd: ROOT,
|
|
70
|
+
stdio: 'inherit',
|
|
71
|
+
env: { ...process.env, MINDFORGE_CLI: 'true' }
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
process.exit(result.status || 0);
|
|
75
|
+
|
|
76
|
+
function printUsage() {
|
|
77
|
+
console.log('\n⚡ MindForge Enterprise CLI\n');
|
|
78
|
+
console.log('Usage: node bin/mindforge-cli.js <command> [options]\n');
|
|
79
|
+
console.log('Commands:');
|
|
80
|
+
for (const [name, cfg] of Object.entries(COMMANDS)) {
|
|
81
|
+
console.log(` ${name.padEnd(15)} ${cfg.description}`);
|
|
82
|
+
}
|
|
83
|
+
console.log('\nExamples:');
|
|
84
|
+
console.log(' node bin/mindforge-cli.js security-scan');
|
|
85
|
+
console.log(' node bin/mindforge-cli.js headless --phase 1');
|
|
86
|
+
console.log('\n');
|
|
87
|
+
}
|
|
@@ -11,6 +11,7 @@ Markdown protocols and JSON schemas, with a small Node.js CLI runtime.
|
|
|
11
11
|
4. **Intelligence Layer** — Health, difficulty, anti-patterns in `.mindforge/intelligence/`
|
|
12
12
|
5. **Knowledge Layer** — Long-term memory, capture, and sync in `.mindforge/memory/`
|
|
13
13
|
6. **Distribution Layer** — Installer, registry, CI, SDK, plugins
|
|
14
|
+
7. **Observability Layer (v2)** — Real-time dashboard, SSE bridge, metrics aggregator
|
|
14
15
|
|
|
15
16
|
## Key data artifacts
|
|
16
17
|
- `.planning/PROJECT.md` — project brief
|
|
@@ -24,6 +25,7 @@ Markdown protocols and JSON schemas, with a small Node.js CLI runtime.
|
|
|
24
25
|
2. `/mindforge:execute-phase` runs plans in waves
|
|
25
26
|
3. `/mindforge:verify-phase` runs automated + human gates
|
|
26
27
|
4. `/mindforge:ship` generates release artifacts and PR metadata
|
|
28
|
+
5. `/mindforge:dashboard` provides real-time observability and governance
|
|
27
29
|
|
|
28
30
|
## Installation targets
|
|
29
31
|
- Claude Code: `~/.claude/` or `.claude/`
|
package/docs/ci-cd.md
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# 🚀 MindForge 5-Layer Plane Architecture (CI/CD)
|
|
2
|
+
|
|
3
|
+
MindForge v2.0.0 uses a sophisticated Control + Execution Plane architecture for its GitHub Actions, ensuring enterprise-grade governance and autonomous execution capabilities.
|
|
4
|
+
|
|
5
|
+
## 🏗️ The 5 Planes
|
|
6
|
+
|
|
7
|
+
| Plane | Purpose | Trigger |
|
|
8
|
+
| --- | --- | --- |
|
|
9
|
+
| **Control Plane** | Change classification & Routing | `push`, `pull_request` |
|
|
10
|
+
| **Execution Plane** | Headless agent runtime | `workflow_call` |
|
|
11
|
+
| **AI Intelligence** | Multi-model code validation | PRs (reusable) |
|
|
12
|
+
| **Release Plane** | Packaging & Deployment | Tags (`v*`) |
|
|
13
|
+
| **Observability** | Run metrics & Analytics | Post-run |
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## 🔄 PR Workflow Lifecycle
|
|
18
|
+
|
|
19
|
+
When you open or update a Pull Request, MindForge triggers the following "Beast" sequence:
|
|
20
|
+
|
|
21
|
+
1. **🔍 Classify**: Analyzes diffs to assign a **Governance Tier (1, 2, or 3)**.
|
|
22
|
+
2. **⚖️ Govern**:
|
|
23
|
+
- **Tier 3 Enforcement**: Blocks the PR if sensitive changes are detected without an approval file.
|
|
24
|
+
- **Security Scan**: Automatically validates `MINDFORGE.md` and project configurations.
|
|
25
|
+
3. **⚡ Execute**:
|
|
26
|
+
- Runs **Headless Agent** to verify autonomous logic.
|
|
27
|
+
- Executes full **Test Suite** and **Linter**.
|
|
28
|
+
4. **🤖 Review**:
|
|
29
|
+
- Triggers **AI Intelligence Layer** (Claude + GPT-4o).
|
|
30
|
+
- Posts architectural/security findings as a **PR Comment**.
|
|
31
|
+
5. **📊 Observe**: Generates a performance and audit trace report.
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## 🔍 Control Plane & Tiers
|
|
36
|
+
|
|
37
|
+
Every change is automatically classified into a governance tier:
|
|
38
|
+
|
|
39
|
+
- **Tier 1 (Trivial)**: Auto-approves and executes basic verification.
|
|
40
|
+
- **Tier 2 (Logic)**: Executes full test suites and AI review.
|
|
41
|
+
- **Tier 3 (Sensitive)**: Blocks the pipeline unless a manual approval is found in `.planning/approvals/`.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## 🛠️ MindForge CLI (`bin/mindforge-cli.js`)
|
|
46
|
+
|
|
47
|
+
All planes interact with MindForge via a centralized CLI router:
|
|
48
|
+
|
|
49
|
+
- `health`: Validates project integrity.
|
|
50
|
+
- `security-scan`: Scans for secrets and PII.
|
|
51
|
+
- `headless`: Executes agents in non-interactive mode.
|
|
52
|
+
- `pr-review`: Standard code review.
|
|
53
|
+
- `cross-review`: Multi-model architecture validation.
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## 🛡️ Governance Enforcement
|
|
58
|
+
|
|
59
|
+
If a PR touches sensitive components (Auth, Payments, Security):
|
|
60
|
+
1. The **Control Plane** identifies it as **Tier 3**.
|
|
61
|
+
2. The **Governance Gate** fails unless a valid `.planning/approvals/*.json` file exists.
|
|
62
|
+
3. Once approved, the **Execution Plane** resumes the workflow.
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## 📦 Automated Releases
|
|
69
|
+
|
|
70
|
+
Releases are triggered by pushing a semver tag:
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
git tag v2.0.0
|
|
74
|
+
git push origin v2.0.0
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
This will automatically:
|
|
78
|
+
|
|
79
|
+
- Run the full test suite.
|
|
80
|
+
- Generate a CHANGELOG.
|
|
81
|
+
- Publish to npm.
|
|
82
|
+
- Create a GitHub Release with build artifacts.
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## 📊 Observability
|
|
87
|
+
|
|
88
|
+
MindForge tracks every CI execution:
|
|
89
|
+
|
|
90
|
+
- **Success Rate**: Phase completion status.
|
|
91
|
+
- **Token Usage**: AI cost monitoring.
|
|
92
|
+
- **Audit Trace**: Full execution history in `AUDIT.jsonl`.
|
|
@@ -8,4 +8,5 @@
|
|
|
8
8
|
| `/mindforge:execute-phase [N]` | Execute plans with wave-based parallelism |
|
|
9
9
|
| `/mindforge:verify-phase [N]` | Human acceptance testing + automated checks |
|
|
10
10
|
| `/mindforge:ship [N]` | Generate changelog, run quality gates, create PR |
|
|
11
|
+
| `/mindforge:dashboard` | Manage the real-time web observability dashboard |
|
|
11
12
|
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Feature: Real-time Dashboard (v2)
|
|
2
|
+
|
|
3
|
+
The MindForge Real-time Dashboard provides a high-fidelity, web-based control center for your agentic workflows. It leverages **Server-Sent Events (SSE)** to push live updates from your codebase directly to your browser with zero performance overhead.
|
|
4
|
+
|
|
5
|
+
## 🚀 Getting Started
|
|
6
|
+
|
|
7
|
+
To launch the dashboard:
|
|
8
|
+
```bash
|
|
9
|
+
/mindforge:dashboard --start --open
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Default access: `http://localhost:7339` (Strictly bound to `127.0.0.1` for security).
|
|
13
|
+
|
|
14
|
+
## 🛠 Key Features
|
|
15
|
+
|
|
16
|
+
### 1. Live Audit Stream
|
|
17
|
+
- Real-time rolling feed of all `AUDIT.jsonl` events.
|
|
18
|
+
- Color-coded status indicators (Success, Failure, Security Warning).
|
|
19
|
+
- Detailed JSON inspection for every action.
|
|
20
|
+
|
|
21
|
+
### 2. Performance Metrics
|
|
22
|
+
- **Token Costs**: Cumulative and session-based cost tracking across all providers.
|
|
23
|
+
- **Quality Score**: Real-time graphing of verify-pass-rates.
|
|
24
|
+
- **Compaction Health**: Monitoring of context management efficiency.
|
|
25
|
+
|
|
26
|
+
### 3. Web-based Governance
|
|
27
|
+
- **Tier 2/3 Approvals**: Review pending architectural or security changes.
|
|
28
|
+
- **Tier 3 Confirmation**: Mandatory plan ID typing for high-risk approvals is enforced in the UI.
|
|
29
|
+
- **Decision History**: Interactive timeline of past approvals and rejections.
|
|
30
|
+
|
|
31
|
+
### 4. Team & Agent Activity
|
|
32
|
+
- **Wave Progress**: Track multiple agents executing parallel waves.
|
|
33
|
+
- **Persona Context**: See which agent personas are currently active.
|
|
34
|
+
- **Steerage Feed**: View steering instructions as they are applied.
|
|
35
|
+
|
|
36
|
+
## 🛡 Hardened Security
|
|
37
|
+
- **Localhost Binding**: The server refuses connections from external IPs.
|
|
38
|
+
- **CORS Lock-down**: Only allows requests from the local control plane.
|
|
39
|
+
- **Integrity First**: Audit logs are written by the backend *before* changes are committed, ensuring a bulletproof trail.
|
|
40
|
+
|
|
41
|
+
## 📟 Command Reference
|
|
42
|
+
|
|
43
|
+
| Flag | Action |
|
|
44
|
+
| :--- | :--- |
|
|
45
|
+
| `--start` | Launch the dashboard server process. |
|
|
46
|
+
| `--stop` | Gracefully shut down the server. |
|
|
47
|
+
| `--status` | Check if the dashboard is running and get PID. |
|
|
48
|
+
| `--open` | Open the UI in your default browser. |
|
|
49
|
+
| `--port [N]` | Change the default port (7339). |
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
*For technical implementation details, see `.mindforge/dashboard/dashboard-spec.md`.*
|
package/docs/publishing-guide.md
CHANGED
|
@@ -10,69 +10,34 @@ This guide outlines the standard procedure for publishing a new version of `mind
|
|
|
10
10
|
|
|
11
11
|
## Step-by-Step Workflow
|
|
12
12
|
|
|
13
|
-
### 1.
|
|
13
|
+
### 1. Pre-Flight Verification & Adversarial Review
|
|
14
|
+
Before any release, ensure the following is completed:
|
|
14
15
|
|
|
15
|
-
|
|
16
|
+
- **Structural Integrity**: Run `npm test` to verify layout and command mirroring.
|
|
17
|
+
- **Security Check**: Run `/mindforge:security-scan` to ensure no keys or CVEs are present.
|
|
18
|
+
- **Mult-Model Review**: Run `/mindforge:cross-review` to have multiple models (Claude, GPT, Gemini) audit the new features for edge cases.
|
|
16
19
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
- **Patch (0.0.X)**: Bug fixes, performance improvements.
|
|
20
|
-
- **Prereleases**: Append `-alpha.N`, `-beta.N`, or `-rc.N` (e.g., `2.0.0-alpha.4`).
|
|
20
|
+
### 2. Versioning Strategy
|
|
21
|
+
MindForge follows SemVer. Update `package.json` and `CHANGELOG.md` first.
|
|
21
22
|
|
|
22
|
-
###
|
|
23
|
+
### 3. Automated Release Workflow
|
|
24
|
+
MindForge provides a built-in workflow to handle the heavy lifting:
|
|
23
25
|
|
|
24
|
-
|
|
26
|
+
1. Run the slash command: `/publish-release`
|
|
27
|
+
2. Follow the interactive prompts to execute tests and dry runs.
|
|
25
28
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
This verifies that:
|
|
31
|
-
- All required directories and files exist.
|
|
32
|
-
- Commands are mirrored between `.claude/` and `.agent/`.
|
|
33
|
-
- `package.json` metadata is valid.
|
|
34
|
-
- No secrets are leaked.
|
|
35
|
-
|
|
36
|
-
### 3. Dry Run
|
|
37
|
-
|
|
38
|
-
Validate the package contents:
|
|
29
|
+
### 4. Manual Publishing (Fallback)
|
|
30
|
+
If the workflow is unavailable:
|
|
39
31
|
|
|
40
32
|
```bash
|
|
41
|
-
npm
|
|
33
|
+
npm publish --tag alpha --access public
|
|
42
34
|
```
|
|
43
35
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
### 4. Publishing
|
|
47
|
-
|
|
48
|
-
#### Stable Releases
|
|
49
|
-
For stable versions (e.g., `2.0.0`), use a standard publish:
|
|
50
|
-
|
|
51
|
-
```bash
|
|
52
|
-
npm publish --access public
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
#### Prereleases (Alpha/Beta/RC)
|
|
56
|
-
For prerelease versions, you **MUST** specify a tag to avoid them being installed as `@latest`:
|
|
57
|
-
|
|
58
|
-
```bash
|
|
59
|
-
npm publish --tag [alpha|beta|rc] --access public
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
### 5. Git Tagging
|
|
63
|
-
|
|
64
|
-
After a successful publish, tag the commit in Git:
|
|
65
|
-
|
|
36
|
+
### 5. Git Tagging & Origin Sync
|
|
66
37
|
```bash
|
|
67
38
|
git tag v[version]
|
|
68
|
-
git push origin
|
|
39
|
+
git push origin --tags
|
|
69
40
|
```
|
|
70
41
|
|
|
71
|
-
## Troubleshooting
|
|
72
|
-
|
|
73
|
-
- **403 Forbidden**: Usually means the version already exists on npm or you don't have permissions.
|
|
74
|
-
- **Tag Required**: If you get an error about specifying a tag, it's because you are publishing a version with a hyphen (prerelease) without the `--tag` flag.
|
|
75
|
-
- **Integrity Failure**: Fix the structural issues reported by `npm test` before retrying.
|
|
76
|
-
|
|
77
42
|
---
|
|
78
43
|
*Last Updated: 2026-03-22*
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
# MindForge v2.0.0-alpha.6: In-Depth Testing Guide (Antigravity)
|
|
2
|
+
|
|
3
|
+
This document provides a step-by-step rigorous testing flow to validate the entire MindForge framework from a blank project state. It is designed to be shared and logged for architectural review.
|
|
4
|
+
|
|
5
|
+
## 🏁 Phase 0: Isolated Setup
|
|
6
|
+
1. Create a new empty directory (e.g., `Mind-Forge-Test`): `mkdir Mind-Forge-Test && cd Mind-Forge-Test`
|
|
7
|
+
2. **Linked Alpha Testing** (Simulated Live Publish):
|
|
8
|
+
- Use the **Absolute Binary Path** to bypass shell PATH configuration issues:
|
|
9
|
+
```bash
|
|
10
|
+
/Users/sairamugge/.vite-plus/js_runtime/node/24.14.0/bin/mindforge-cc --antigravity --local
|
|
11
|
+
```
|
|
12
|
+
- *Confirmation*: Run the command with `--version`. It must show `v2.0.0-alpha.6`.
|
|
13
|
+
3. Verify the local binary exists: `ls agents/bin/install.js` (or `.agent/bin/install.js` if legacy)
|
|
14
|
+
|
|
15
|
+
## 🏗 Phase 1: Registry & Integrity
|
|
16
|
+
**Objective**: Verify that MindForge correctly registers the project and mirrors commands.
|
|
17
|
+
|
|
18
|
+
**Command**:
|
|
19
|
+
```bash
|
|
20
|
+
./mindforge:init-project
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
**Post-Init Verification**:
|
|
24
|
+
- Check `.claude/commands/mindforge/` and `.agent/commands/mindforge/`. They should be identical.
|
|
25
|
+
- Verify the project is in the global registry (optional):
|
|
26
|
+
```bash
|
|
27
|
+
cat ~/.mindforge/registry.json
|
|
28
|
+
```
|
|
29
|
+
**Prompt to Agent**:
|
|
30
|
+
> "Initialize this project for me. I am building a simple 'Weather Proxy API' in Node.js. Please set up the `.planning/` directory and registry."
|
|
31
|
+
|
|
32
|
+
**Success Criteria**:
|
|
33
|
+
- `.planning/PROJECT.md` is created with the Weather Proxy brief.
|
|
34
|
+
- `.mindforge/` metadata directory is populated.
|
|
35
|
+
|
|
36
|
+
## 📝 Phase 2: Workflow & Planning
|
|
37
|
+
**Objective**: Test the planning engine and dependency mapping.
|
|
38
|
+
|
|
39
|
+
**Prompt to Agent**:
|
|
40
|
+
> "I need a plan to implement the weather service. Phase 1 should handle the API structure, Phase 2 should handle the weather fetching logic, and Phase 3 should add caching. Generate a detailed plan for Phase 1."
|
|
41
|
+
|
|
42
|
+
**Command**:
|
|
43
|
+
```bash
|
|
44
|
+
/mindforge:plan-phase 1
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
**Success Criteria**:
|
|
48
|
+
- `.planning/phases/phase-1/PLAN.md` is generated.
|
|
49
|
+
- Plan status is set to `[ ]` in `task.md`.
|
|
50
|
+
|
|
51
|
+
## 🤖 Phase 3: Autonomous Execution (The "Walk-Away" Test)
|
|
52
|
+
**Objective**: Test the `/mindforge:auto` engine and state management.
|
|
53
|
+
|
|
54
|
+
**Command**:
|
|
55
|
+
```bash
|
|
56
|
+
/mindforge:auto --phase 1
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
**Success Criteria**:
|
|
60
|
+
- MindForge iterates through tasks without human intervention.
|
|
61
|
+
- Code is written to the project (e.g., `index.js`, `routes/`).
|
|
62
|
+
- `.planning/AUDIT.jsonl` is logging every execution step.
|
|
63
|
+
|
|
64
|
+
## 📊 Phase 4: Observability (Dashboard)
|
|
65
|
+
**Objective**: Test the Real-time Dashboard and SSE Bridge.
|
|
66
|
+
|
|
67
|
+
**Command**:
|
|
68
|
+
```bash
|
|
69
|
+
/mindforge:dashboard --start --open
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
**Testing Steps**:
|
|
73
|
+
1. Keep the dashboard open at `http://localhost:7339`.
|
|
74
|
+
2. Run another command (e.g., `/mindforge:health`).
|
|
75
|
+
3. Verify that the "Activity Feed" in the browser updates instantly.
|
|
76
|
+
4. Check the "Metrics" tab for token spend data.
|
|
77
|
+
|
|
78
|
+
## 🧠 Phase 5: Persistent Memory
|
|
79
|
+
**Objective**: Test the Knowledge Graph retrieval.
|
|
80
|
+
|
|
81
|
+
**Command**:
|
|
82
|
+
```bash
|
|
83
|
+
/mindforge:remember --search "api structure"
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
**Success Criteria**:
|
|
87
|
+
- MindForge returns findings from the earlier `/mindforge:init-project` or `/mindforge:plan-phase` steps.
|
|
88
|
+
|
|
89
|
+
## ⚔️ Phase 6: Multi-Model Hardening
|
|
90
|
+
**Objective**: Test the adversarial cross-review system.
|
|
91
|
+
|
|
92
|
+
**Command**:
|
|
93
|
+
```bash
|
|
94
|
+
/mindforge:cross-review
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
**Success Criteria**:
|
|
98
|
+
- MindForge invokes secondary models (GPT/Gemini) to critique the code generated in Phase 3.
|
|
99
|
+
- Review results are logged in `review_results.md`.
|
|
100
|
+
|
|
101
|
+
## 🚢 Phase 7: Verification & Shipping
|
|
102
|
+
**Objective**: Test the quality gates and release automation.
|
|
103
|
+
|
|
104
|
+
**Commands**:
|
|
105
|
+
```bash
|
|
106
|
+
/mindforge:verify-phase 1
|
|
107
|
+
/mindforge:ship 1
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
**Success Criteria**:
|
|
111
|
+
- `CHANGELOG.md` is updated.
|
|
112
|
+
- A PR-ready diff is generated.
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## 🛡 Phase 8: Framework Conflict Check
|
|
117
|
+
**Objective**: Ensure MindForge is isolated from other frameworks.
|
|
118
|
+
|
|
119
|
+
1. **Port Check**: Verify the dashboard is on `7339` and not conflicting with common framework ports (e.g., 8000, 8080).
|
|
120
|
+
2. **Directory Check**: Ensure no other framework is writing to `.planning/` or `.mindforge/`.
|
|
121
|
+
3. **Process Check**: Run `ps aux | grep mindforge` to ensure only one instance of the SSE bridge is active.
|
|
122
|
+
|
|
123
|
+
## 📂 Logging for Review
|
|
124
|
+
All Antigravity sessions are logged. To share your results for review, zip and send:
|
|
125
|
+
- `.planning/AUDIT.jsonl` (Full execution history)
|
|
126
|
+
- `CHANGELOG.md` (Outcome summary)
|
|
127
|
+
## 💡 Troubleshooting
|
|
128
|
+
- **Command not found**: Ensure you are using `./mindforge:command` or `/mindforge:command` within the agent.
|
|
129
|
+
- **Wrong Version**: Run `/mindforge:health` and check for "v2.0.0-alpha.6". If it shows "v1.0.5", your installation failed or you are using the global `npx` version.
|
|
130
|
+
- **Registry Error**: Check `~/.mindforge/registry.json` exists; it is now automatically created by the v2 installer.
|
package/docs/user-guide.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# MindForge User Guide (v2.0.0-alpha.
|
|
1
|
+
# MindForge User Guide (v2.0.0-alpha.6)
|
|
2
2
|
|
|
3
3
|
This guide gets you from install to productive, with the minimum needed to run
|
|
4
4
|
MindForge in a real project. It assumes Node.js 18+.
|
|
@@ -152,7 +152,29 @@ Relevant memories are automatically loaded at the start of every session, provid
|
|
|
152
152
|
|
|
153
153
|
---
|
|
154
154
|
|
|
155
|
-
## 10.
|
|
155
|
+
## 10. Real-time Dashboard (v2)
|
|
156
|
+
MindForge provides a premium web-based dashboard for real-time observability of your agent waves, metrics, and team activity.
|
|
157
|
+
|
|
158
|
+
### Start the Dashboard
|
|
159
|
+
```bash
|
|
160
|
+
/mindforge:dashboard --start --open
|
|
161
|
+
```
|
|
162
|
+
This will start the Express-based SSE bridge and open `http://localhost:7339` in your default browser.
|
|
163
|
+
|
|
164
|
+
### Features
|
|
165
|
+
- **Live Activity**: Real-time stream of audit logs and agent status.
|
|
166
|
+
- **Metrics & Costs**: Live visualization of token spend and session quality.
|
|
167
|
+
- **Browser Governance**: Approve or reject Tier 2/3 changes directly from the UI.
|
|
168
|
+
- **Team Feed**: See what other agents are doing in a multi-agent environment.
|
|
169
|
+
|
|
170
|
+
### Stop the Dashboard
|
|
171
|
+
```bash
|
|
172
|
+
/mindforge:dashboard --stop
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## 11. Update and migration
|
|
156
178
|
### Check for updates
|
|
157
179
|
```
|
|
158
180
|
/mindforge:update
|
package/docs/usp-features.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# MindForge v2.0.0 — Unique Selling Points, Features, and Best Practices (v2.0.0-alpha.
|
|
1
|
+
# MindForge v2.0.0 — Unique Selling Points, Features, and Best Practices (v2.0.0-alpha.6)
|
|
2
2
|
|
|
3
3
|
This document summarizes what makes MindForge v2.0.0 distinct, what features
|
|
4
4
|
are included in the latest alpha release, and how to use them effectively.
|
|
@@ -43,6 +43,9 @@ are included in the latest alpha release, and how to use them effectively.
|
|
|
43
43
|
11. **Persistent Knowledge Graph (v2)**
|
|
44
44
|
- Captures and ranks engineering context (decisions, bug patterns, preferences) across project sessions using TF-IDF and confidence reinforcement.
|
|
45
45
|
|
|
46
|
+
12. **Real-time Observability Dashboard (v2)**
|
|
47
|
+
- High-fidelity web interface for live audit streams, metrics visualization, and browser-based governance with zero performance overhead.
|
|
48
|
+
|
|
46
49
|
---
|
|
47
50
|
|
|
48
51
|
## Feature Set (v1.0.0)
|
|
@@ -200,6 +203,17 @@ preserving scope (local vs global).
|
|
|
200
203
|
|
|
201
204
|
---
|
|
202
205
|
|
|
206
|
+
### 16. Real-time Dashboard (v2)
|
|
207
|
+
**What it does:** Web-based control plane for observing agent waves, costs, and quality metrics in real-time.
|
|
208
|
+
|
|
209
|
+
**How to use:**
|
|
210
|
+
```bash
|
|
211
|
+
/mindforge:dashboard --start --open
|
|
212
|
+
```
|
|
213
|
+
Access at `http://localhost:7339` (Localhost-only for security).
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
203
217
|
### 15. SDK (TypeScript)
|
|
204
218
|
**What it does:** Programmatic access to health, audit log, event stream, and commands.
|
|
205
219
|
|