@mizyoel/mercury-mesh 0.9.4
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/.copilot/mcp-config.json +14 -0
- package/.copilot/skills/agent-collaboration/SKILL.md +42 -0
- package/.copilot/skills/agent-conduct/SKILL.md +24 -0
- package/.copilot/skills/architectural-proposals/SKILL.md +151 -0
- package/.copilot/skills/ci-validation-gates/SKILL.md +84 -0
- package/.copilot/skills/cli-wiring/SKILL.md +47 -0
- package/.copilot/skills/client-compatibility/SKILL.md +89 -0
- package/.copilot/skills/cross-mesh/SKILL.md +114 -0
- package/.copilot/skills/distributed-mesh/SKILL.md +287 -0
- package/.copilot/skills/distributed-mesh/mesh.json.example +30 -0
- package/.copilot/skills/distributed-mesh/sync-mesh.ps1 +111 -0
- package/.copilot/skills/distributed-mesh/sync-mesh.sh +104 -0
- package/.copilot/skills/docs-standards/SKILL.md +71 -0
- package/.copilot/skills/economy-mode/SKILL.md +101 -0
- package/.copilot/skills/external-comms/SKILL.md +331 -0
- package/.copilot/skills/gh-auth-isolation/SKILL.md +183 -0
- package/.copilot/skills/git-workflow/SKILL.md +206 -0
- package/.copilot/skills/github-multi-account/SKILL.md +95 -0
- package/.copilot/skills/history-hygiene/SKILL.md +36 -0
- package/.copilot/skills/humanizer/SKILL.md +107 -0
- package/.copilot/skills/init-mode/SKILL.md +101 -0
- package/.copilot/skills/mesh-conventions/SKILL.md +69 -0
- package/.copilot/skills/model-selection/SKILL.md +139 -0
- package/.copilot/skills/nap/SKILL.md +24 -0
- package/.copilot/skills/personal-mesh/SKILL.md +57 -0
- package/.copilot/skills/project-conventions/SKILL.md +56 -0
- package/.copilot/skills/release-process/SKILL.md +435 -0
- package/.copilot/skills/reskill/SKILL.md +92 -0
- package/.copilot/skills/reviewer-protocol/SKILL.md +79 -0
- package/.copilot/skills/secret-handling/SKILL.md +200 -0
- package/.copilot/skills/session-recovery/SKILL.md +155 -0
- package/.copilot/skills/test-discipline/SKILL.md +37 -0
- package/.copilot/skills/windows-compatibility/SKILL.md +74 -0
- package/.github/agents/mercury-mesh.agent.md +1732 -0
- package/.mesh/manifesto.md +66 -0
- package/.mesh/templates/casting/Futurama.json +10 -0
- package/.mesh/templates/casting-history.json +4 -0
- package/.mesh/templates/casting-policy.json +37 -0
- package/.mesh/templates/casting-reference.md +104 -0
- package/.mesh/templates/casting-registry.json +3 -0
- package/.mesh/templates/ceremonies.md +41 -0
- package/.mesh/templates/charter.md +56 -0
- package/.mesh/templates/constraint-tracking.md +38 -0
- package/.mesh/templates/cooperative-rate-limiting.md +229 -0
- package/.mesh/templates/copilot-instructions.md +50 -0
- package/.mesh/templates/department-backlog.md +15 -0
- package/.mesh/templates/department-charter.md +27 -0
- package/.mesh/templates/department-state.json +19 -0
- package/.mesh/templates/history.md +10 -0
- package/.mesh/templates/identity/now.md +9 -0
- package/.mesh/templates/identity/wisdom.md +15 -0
- package/.mesh/templates/interface-contract.md +26 -0
- package/.mesh/templates/issue-lifecycle.md +421 -0
- package/.mesh/templates/keda-scaler.md +166 -0
- package/.mesh/templates/machine-capabilities.md +77 -0
- package/.mesh/templates/mcp-config.md +90 -0
- package/.mesh/templates/mercury-mesh.agent.md +1732 -0
- package/.mesh/templates/multi-agent-format.md +28 -0
- package/.mesh/templates/orchestration-log.md +27 -0
- package/.mesh/templates/org-autonomy-spec.md +152 -0
- package/.mesh/templates/org-backlog-from-triage.js +199 -0
- package/.mesh/templates/org-runtime-reconcile.js +364 -0
- package/.mesh/templates/org-seed-runtime.js +238 -0
- package/.mesh/templates/org-status.js +193 -0
- package/.mesh/templates/org-structure.json +38 -0
- package/.mesh/templates/package.json +3 -0
- package/.mesh/templates/plugin-marketplace.md +49 -0
- package/.mesh/templates/ralph-circuit-breaker.md +313 -0
- package/.mesh/templates/ralph-triage.js +844 -0
- package/.mesh/templates/raw-agent-output.md +37 -0
- package/.mesh/templates/roster.md +60 -0
- package/.mesh/templates/routing.md +78 -0
- package/.mesh/templates/run-output.md +50 -0
- package/.mesh/templates/schedule.json +64 -0
- package/.mesh/templates/scribe-charter.md +119 -0
- package/.mesh/templates/skill.md +24 -0
- package/.mesh/templates/skills/agent-collaboration/SKILL.md +42 -0
- package/.mesh/templates/skills/agent-conduct/SKILL.md +24 -0
- package/.mesh/templates/skills/architectural-proposals/SKILL.md +151 -0
- package/.mesh/templates/skills/ci-validation-gates/SKILL.md +84 -0
- package/.mesh/templates/skills/cli-wiring/SKILL.md +47 -0
- package/.mesh/templates/skills/client-compatibility/SKILL.md +89 -0
- package/.mesh/templates/skills/cross-mesh/SKILL.md +114 -0
- package/.mesh/templates/skills/distributed-mesh/SKILL.md +287 -0
- package/.mesh/templates/skills/distributed-mesh/mesh.json.example +30 -0
- package/.mesh/templates/skills/distributed-mesh/sync-mesh.ps1 +111 -0
- package/.mesh/templates/skills/distributed-mesh/sync-mesh.sh +104 -0
- package/.mesh/templates/skills/docs-standards/SKILL.md +71 -0
- package/.mesh/templates/skills/economy-mode/SKILL.md +101 -0
- package/.mesh/templates/skills/external-comms/SKILL.md +331 -0
- package/.mesh/templates/skills/gh-auth-isolation/SKILL.md +183 -0
- package/.mesh/templates/skills/git-workflow/SKILL.md +204 -0
- package/.mesh/templates/skills/github-multi-account/SKILL.md +95 -0
- package/.mesh/templates/skills/history-hygiene/SKILL.md +36 -0
- package/.mesh/templates/skills/humanizer/SKILL.md +107 -0
- package/.mesh/templates/skills/init-mode/SKILL.md +101 -0
- package/.mesh/templates/skills/mesh-conventions/SKILL.md +69 -0
- package/.mesh/templates/skills/model-selection/SKILL.md +139 -0
- package/.mesh/templates/skills/nap/SKILL.md +24 -0
- package/.mesh/templates/skills/personal-mesh/SKILL.md +57 -0
- package/.mesh/templates/skills/project-conventions/SKILL.md +56 -0
- package/.mesh/templates/skills/release-process/SKILL.md +435 -0
- package/.mesh/templates/skills/reskill/SKILL.md +92 -0
- package/.mesh/templates/skills/reviewer-protocol/SKILL.md +79 -0
- package/.mesh/templates/skills/secret-handling/SKILL.md +200 -0
- package/.mesh/templates/skills/session-recovery/SKILL.md +155 -0
- package/.mesh/templates/skills/test-discipline/SKILL.md +37 -0
- package/.mesh/templates/skills/windows-compatibility/SKILL.md +74 -0
- package/.mesh/templates/workflows/mesh-ci.yml +24 -0
- package/.mesh/templates/workflows/mesh-docs.yml +54 -0
- package/.mesh/templates/workflows/mesh-heartbeat.yml +237 -0
- package/.mesh/templates/workflows/mesh-insider-release.yml +61 -0
- package/.mesh/templates/workflows/mesh-issue-assign.yml +243 -0
- package/.mesh/templates/workflows/mesh-label-enforce.yml +181 -0
- package/.mesh/templates/workflows/mesh-preview.yml +55 -0
- package/.mesh/templates/workflows/mesh-promote.yml +120 -0
- package/.mesh/templates/workflows/mesh-release.yml +77 -0
- package/.mesh/templates/workflows/mesh-triage.yml +383 -0
- package/.mesh/templates/workflows/sync-mesh-labels.yml +204 -0
- package/README.md +640 -0
- package/bin/mercury-mesh.cjs +317 -0
- package/docs/brand-language.md +287 -0
- package/docs/commander-onboarding.md +462 -0
- package/docs/mercury-mesh-runtime-rename-impact.md +148 -0
- package/docs/persona-manifesto.md +114 -0
- package/docs/scenarios/client-compatibility.md +59 -0
- package/index.cjs +41 -0
- package/package.json +43 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# Machine Capability Discovery & Label-Based Routing
|
|
2
|
+
|
|
3
|
+
> Enable Ralph to skip issues requiring capabilities the current machine lacks.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
When running Mercury Mesh across multiple machines (laptops, DevBoxes, GPU servers, Kubernetes nodes), each machine has different tooling. The capability system lets you declare what each machine can do, and Ralph automatically routes work accordingly.
|
|
8
|
+
|
|
9
|
+
## Setup
|
|
10
|
+
|
|
11
|
+
### 1. Create a Capabilities Manifest
|
|
12
|
+
|
|
13
|
+
Create `~/.mesh/machine-capabilities.json` (user-wide) or `.mesh/machine-capabilities.json` (project-local):
|
|
14
|
+
|
|
15
|
+
```json
|
|
16
|
+
{
|
|
17
|
+
"machine": "MY-LAPTOP",
|
|
18
|
+
"capabilities": ["browser", "personal-gh", "onedrive"],
|
|
19
|
+
"missing": ["gpu", "docker", "azure-speech"],
|
|
20
|
+
"lastUpdated": "2026-03-22T00:00:00Z"
|
|
21
|
+
}
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### 2. Label Issues with Requirements
|
|
25
|
+
|
|
26
|
+
Add `needs:*` labels to issues that require specific capabilities:
|
|
27
|
+
|
|
28
|
+
| Label | Meaning |
|
|
29
|
+
|-------|---------|
|
|
30
|
+
| `needs:browser` | Requires Playwright / browser automation |
|
|
31
|
+
| `needs:gpu` | Requires NVIDIA GPU |
|
|
32
|
+
| `needs:personal-gh` | Requires personal GitHub account |
|
|
33
|
+
| `needs:emu-gh` | Requires Enterprise Managed User account |
|
|
34
|
+
| `needs:azure-cli` | Requires authenticated Azure CLI |
|
|
35
|
+
| `needs:docker` | Requires Docker daemon |
|
|
36
|
+
| `needs:onedrive` | Requires OneDrive sync |
|
|
37
|
+
| `needs:teams-mcp` | Requires Teams MCP tools |
|
|
38
|
+
|
|
39
|
+
Custom capabilities are supported — any `needs:X` label works if `X` is in the machine's `capabilities` array.
|
|
40
|
+
|
|
41
|
+
### 3. Run Ralph
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
Mercury Mesh watch --interval 5
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
The CLI command is still legacy-named during the compatibility phase.
|
|
48
|
+
|
|
49
|
+
Ralph will log skipped issues:
|
|
50
|
+
```
|
|
51
|
+
⏭️ Skipping #42 "Train ML model" — missing: gpu
|
|
52
|
+
✓ Triaged #43 "Fix CSS layout" → Picard (routing-rule)
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## How It Works
|
|
56
|
+
|
|
57
|
+
1. Ralph loads `machine-capabilities.json` at startup
|
|
58
|
+
2. For each open issue, Ralph extracts `needs:*` labels
|
|
59
|
+
3. If any required capability is missing, the issue is skipped
|
|
60
|
+
4. Issues without `needs:*` labels are always processed (opt-in system)
|
|
61
|
+
|
|
62
|
+
## Kubernetes Integration
|
|
63
|
+
|
|
64
|
+
On Kubernetes, machine capabilities map to node labels:
|
|
65
|
+
|
|
66
|
+
```yaml
|
|
67
|
+
# Node labels (set by capability DaemonSet or manually)
|
|
68
|
+
node.mesh.dev/gpu: "true"
|
|
69
|
+
node.mesh.dev/browser: "true"
|
|
70
|
+
|
|
71
|
+
# Pod spec uses nodeSelector
|
|
72
|
+
spec:
|
|
73
|
+
nodeSelector:
|
|
74
|
+
node.mesh.dev/gpu: "true"
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
A DaemonSet can run capability discovery on each node and maintain labels automatically. See the [Mercury Mesh on AKS (legacy repo name: Mercury Mesh-on-aks)](https://github.com/tamirdresher/Mercury Mesh-on-aks) project for a complete Kubernetes deployment example.
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# MCP Integration — Configuration and Samples
|
|
2
|
+
|
|
3
|
+
MCP (Model Context Protocol) servers extend Mercury Mesh with tools for external services — Trello, Aspire dashboards, Azure, Notion, and more. The user configures MCP servers in their environment; Mercury Mesh discovers and uses them.
|
|
4
|
+
|
|
5
|
+
> **Full patterns:** Read `.mesh/skills/mcp-tool-discovery/SKILL.md` for discovery patterns, domain-specific usage, and graceful degradation.
|
|
6
|
+
|
|
7
|
+
## Config File Locations
|
|
8
|
+
|
|
9
|
+
Users configure MCP servers at these locations (checked in priority order):
|
|
10
|
+
1. **Repository-level:** `.copilot/mcp-config.json` (team-shared, committed to repo)
|
|
11
|
+
2. **Workspace-level:** `.vscode/mcp.json` (VS Code workspaces)
|
|
12
|
+
3. **User-level:** `~/.copilot/mcp-config.json` (personal)
|
|
13
|
+
4. **CLI override:** `--additional-mcp-config` flag (session-specific)
|
|
14
|
+
|
|
15
|
+
## Sample Config — Trello
|
|
16
|
+
|
|
17
|
+
```json
|
|
18
|
+
{
|
|
19
|
+
"mcpServers": {
|
|
20
|
+
"trello": {
|
|
21
|
+
"command": "npx",
|
|
22
|
+
"args": ["-y", "@trello/mcp-server"],
|
|
23
|
+
"env": {
|
|
24
|
+
"TRELLO_API_KEY": "${TRELLO_API_KEY}",
|
|
25
|
+
"TRELLO_TOKEN": "${TRELLO_TOKEN}"
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Sample Config — GitHub
|
|
33
|
+
|
|
34
|
+
```json
|
|
35
|
+
{
|
|
36
|
+
"mcpServers": {
|
|
37
|
+
"github": {
|
|
38
|
+
"command": "npx",
|
|
39
|
+
"args": ["-y", "@modelcontextprotocol/server-github"],
|
|
40
|
+
"env": {
|
|
41
|
+
"GITHUB_TOKEN": "${GITHUB_TOKEN}"
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Sample Config — Azure
|
|
49
|
+
|
|
50
|
+
```json
|
|
51
|
+
{
|
|
52
|
+
"mcpServers": {
|
|
53
|
+
"azure": {
|
|
54
|
+
"command": "npx",
|
|
55
|
+
"args": ["-y", "@azure/mcp-server"],
|
|
56
|
+
"env": {
|
|
57
|
+
"AZURE_SUBSCRIPTION_ID": "${AZURE_SUBSCRIPTION_ID}",
|
|
58
|
+
"AZURE_CLIENT_ID": "${AZURE_CLIENT_ID}",
|
|
59
|
+
"AZURE_CLIENT_SECRET": "${AZURE_CLIENT_SECRET}",
|
|
60
|
+
"AZURE_TENANT_ID": "${AZURE_TENANT_ID}"
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Sample Config — Aspire
|
|
68
|
+
|
|
69
|
+
```json
|
|
70
|
+
{
|
|
71
|
+
"mcpServers": {
|
|
72
|
+
"aspire": {
|
|
73
|
+
"command": "npx",
|
|
74
|
+
"args": ["-y", "@aspire/mcp-server"],
|
|
75
|
+
"env": {
|
|
76
|
+
"ASPIRE_DASHBOARD_URL": "${ASPIRE_DASHBOARD_URL}"
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## Authentication Notes
|
|
84
|
+
|
|
85
|
+
- **GitHub MCP requires a separate token** from the `gh` CLI auth. Generate at https://github.com/settings/tokens
|
|
86
|
+
- **Trello requires API key + token** from https://trello.com/power-ups/admin
|
|
87
|
+
- **Azure requires service principal credentials** — see Azure docs for setup
|
|
88
|
+
- **Aspire uses the dashboard URL** — typically `http://localhost:18888` during local dev
|
|
89
|
+
|
|
90
|
+
Auth is a real blocker for some MCP servers. Users need separate tokens for GitHub MCP, Azure MCP, Trello MCP, etc. This is a documentation problem, not a code problem.
|