brainclaw 0.27.0 → 0.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -1
- package/dist/core/agent-capability.js +55 -110
- package/dist/core/agent-integrations.js +17 -0
- package/dist/core/schema.js +5 -1
- package/docs/integrations/agents.md +10 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -66,6 +66,8 @@ If you are documenting or integrating an agent workflow, treat MCP as the primar
|
|
|
66
66
|
|
|
67
67
|
brainclaw is designed to sit alongside the coding agents teams are already using, not behind a separate hosted control plane.
|
|
68
68
|
|
|
69
|
+
### Code Agents
|
|
70
|
+
|
|
69
71
|
| Logo | Agent | Integration | What brainclaw configures |
|
|
70
72
|
|---|---|---|---|
|
|
71
73
|
| [](https://github.com/anthropics/claude-code) | **[Claude Code](https://github.com/anthropics/claude-code)** | Full | MCP + CLAUDE.md + hooks + permissions + /brainclaw command |
|
|
@@ -78,10 +80,21 @@ brainclaw is designed to sit alongside the coding agents teams are already using
|
|
|
78
80
|
| [](https://github.com/continuedev/continue) | **[Continue](https://github.com/continuedev/continue)** | Standard | MCP + .continue/rules/ |
|
|
79
81
|
| [](https://github.com/google-gemini/gemini-cli) | **[Antigravity / Gemini CLI](https://github.com/google-gemini/gemini-cli)** | Standard | MCP + GEMINI.md |
|
|
80
82
|
| [](https://github.com/features/copilot) | **[GitHub Copilot](https://github.com/features/copilot)** | Limited | copilot-instructions.md + brainclaw-context skill |
|
|
81
|
-
| [](https://github.com/openclaw/openclaw) | **[OpenClaw](https://github.com/openclaw/openclaw)** | Limited | brainclaw skill (SKILL.md) for structured project memory |
|
|
82
83
|
|
|
83
84
|
**Full** = MCP + hooks + auto-approve (context injected every prompt). **Standard** = MCP + instruction file (agent must call tools explicitly). **Limited** = skill-based (agent calls brainclaw CLI via skill instructions).
|
|
84
85
|
|
|
86
|
+
### Autonomous Agents
|
|
87
|
+
|
|
88
|
+
| Logo | Agent | Workflow | What brainclaw configures |
|
|
89
|
+
|---|---|---|---|
|
|
90
|
+
| [](https://github.com/openclaw/openclaw) | **[OpenClaw](https://github.com/openclaw/openclaw)** | Task-based | brainclaw skill (SKILL.md) for structured project memory |
|
|
91
|
+
| [](https://github.com/qwibitai/nanoclaw) | **[NanoClaw](https://github.com/qwibitai/nanoclaw)** | Task-based | brainclaw skill — messaging agent (WhatsApp, Telegram, Slack) |
|
|
92
|
+
| [](https://github.com/NVIDIA/NemoClaw) | **[NemoClaw](https://github.com/NVIDIA/NemoClaw)** | Task-based | brainclaw skill — NVIDIA enterprise agent stack |
|
|
93
|
+
| [](https://github.com/sipeed/picoclaw) | **[PicoClaw](https://github.com/sipeed/picoclaw)** | Scheduled | brainclaw skill — edge/IoT agent (Go, <10MB RAM) |
|
|
94
|
+
| [](https://github.com/zeroclaw-labs/zeroclaw) | **[ZeroClaw](https://github.com/zeroclaw-labs/zeroclaw)** | Task-based | brainclaw skill — ultra-lightweight Rust agent (20+ channels) |
|
|
95
|
+
|
|
96
|
+
Autonomous agents use brainclaw via CLI skills with `--profile compact` for short sessions and constrained resources.
|
|
97
|
+
|
|
85
98
|
brainclaw is most effective today when one agent works at a time in a given checkout and the next agent resumes from shared context, claims, and handoffs.
|
|
86
99
|
|
|
87
100
|
---
|
|
@@ -9,137 +9,82 @@
|
|
|
9
9
|
* C (limited) — no MCP → rich static content (plans, traps, decisions)
|
|
10
10
|
*/
|
|
11
11
|
const PROFILES = {
|
|
12
|
+
// --- Code agents (interactive, IDE-driven) ---
|
|
12
13
|
'claude-code': {
|
|
13
|
-
name: 'claude-code',
|
|
14
|
-
hasMcp: true,
|
|
15
|
-
|
|
16
|
-
hasAutoApprove: true,
|
|
17
|
-
hasSkills: true,
|
|
18
|
-
hasRules: true,
|
|
19
|
-
instructionFile: 'CLAUDE.md',
|
|
20
|
-
sharedInstructionFile: true,
|
|
21
|
-
mcpConfigScope: 'both',
|
|
22
|
-
templateTier: 'A',
|
|
14
|
+
name: 'claude-code', category: 'code-agent', workflowModel: 'interactive',
|
|
15
|
+
hasMcp: true, hasHooks: true, hasAutoApprove: true, hasSkills: true, hasRules: true,
|
|
16
|
+
instructionFile: 'CLAUDE.md', sharedInstructionFile: true, mcpConfigScope: 'both', templateTier: 'A',
|
|
23
17
|
},
|
|
24
18
|
cursor: {
|
|
25
|
-
name: 'cursor',
|
|
26
|
-
hasMcp: true,
|
|
27
|
-
|
|
28
|
-
hasAutoApprove: false,
|
|
29
|
-
hasSkills: false,
|
|
30
|
-
hasRules: true,
|
|
31
|
-
instructionFile: '.cursor/rules/brainclaw.md',
|
|
32
|
-
sharedInstructionFile: false,
|
|
33
|
-
mcpConfigScope: 'machine',
|
|
34
|
-
templateTier: 'B',
|
|
19
|
+
name: 'cursor', category: 'code-agent', workflowModel: 'interactive',
|
|
20
|
+
hasMcp: true, hasHooks: false, hasAutoApprove: false, hasSkills: false, hasRules: true,
|
|
21
|
+
instructionFile: '.cursor/rules/brainclaw.md', sharedInstructionFile: false, mcpConfigScope: 'machine', templateTier: 'B',
|
|
35
22
|
},
|
|
36
23
|
windsurf: {
|
|
37
|
-
name: 'windsurf',
|
|
38
|
-
hasMcp: true,
|
|
39
|
-
|
|
40
|
-
hasAutoApprove: false,
|
|
41
|
-
hasSkills: false,
|
|
42
|
-
hasRules: true,
|
|
43
|
-
instructionFile: '.windsurfrules',
|
|
44
|
-
sharedInstructionFile: true,
|
|
45
|
-
mcpConfigScope: 'machine',
|
|
46
|
-
templateTier: 'B',
|
|
24
|
+
name: 'windsurf', category: 'code-agent', workflowModel: 'interactive',
|
|
25
|
+
hasMcp: true, hasHooks: false, hasAutoApprove: false, hasSkills: false, hasRules: true,
|
|
26
|
+
instructionFile: '.windsurfrules', sharedInstructionFile: true, mcpConfigScope: 'machine', templateTier: 'B',
|
|
47
27
|
},
|
|
48
28
|
cline: {
|
|
49
|
-
name: 'cline',
|
|
50
|
-
hasMcp: true,
|
|
51
|
-
|
|
52
|
-
hasAutoApprove: true,
|
|
53
|
-
hasSkills: false,
|
|
54
|
-
hasRules: true,
|
|
55
|
-
instructionFile: '.clinerules/brainclaw.md',
|
|
56
|
-
sharedInstructionFile: false,
|
|
57
|
-
mcpConfigScope: 'project',
|
|
58
|
-
templateTier: 'B',
|
|
29
|
+
name: 'cline', category: 'code-agent', workflowModel: 'interactive',
|
|
30
|
+
hasMcp: true, hasHooks: false, hasAutoApprove: true, hasSkills: false, hasRules: true,
|
|
31
|
+
instructionFile: '.clinerules/brainclaw.md', sharedInstructionFile: false, mcpConfigScope: 'project', templateTier: 'B',
|
|
59
32
|
},
|
|
60
33
|
roo: {
|
|
61
|
-
name: 'roo',
|
|
62
|
-
hasMcp: true,
|
|
63
|
-
|
|
64
|
-
hasAutoApprove: true,
|
|
65
|
-
hasSkills: false,
|
|
66
|
-
hasRules: true,
|
|
67
|
-
instructionFile: '.roo/rules/brainclaw.md',
|
|
68
|
-
sharedInstructionFile: false,
|
|
69
|
-
mcpConfigScope: 'project',
|
|
70
|
-
templateTier: 'B',
|
|
34
|
+
name: 'roo', category: 'code-agent', workflowModel: 'interactive',
|
|
35
|
+
hasMcp: true, hasHooks: false, hasAutoApprove: true, hasSkills: false, hasRules: true,
|
|
36
|
+
instructionFile: '.roo/rules/brainclaw.md', sharedInstructionFile: false, mcpConfigScope: 'project', templateTier: 'B',
|
|
71
37
|
},
|
|
72
38
|
continue: {
|
|
73
|
-
name: 'continue',
|
|
74
|
-
hasMcp: true,
|
|
75
|
-
|
|
76
|
-
hasAutoApprove: false,
|
|
77
|
-
hasSkills: false,
|
|
78
|
-
hasRules: true,
|
|
79
|
-
instructionFile: '.continue/rules/brainclaw.md',
|
|
80
|
-
sharedInstructionFile: false,
|
|
81
|
-
mcpConfigScope: 'both',
|
|
82
|
-
templateTier: 'B',
|
|
39
|
+
name: 'continue', category: 'code-agent', workflowModel: 'interactive',
|
|
40
|
+
hasMcp: true, hasHooks: false, hasAutoApprove: false, hasSkills: false, hasRules: true,
|
|
41
|
+
instructionFile: '.continue/rules/brainclaw.md', sharedInstructionFile: false, mcpConfigScope: 'both', templateTier: 'B',
|
|
83
42
|
},
|
|
84
43
|
opencode: {
|
|
85
|
-
name: 'opencode',
|
|
86
|
-
hasMcp: true,
|
|
87
|
-
|
|
88
|
-
hasAutoApprove: false,
|
|
89
|
-
hasSkills: false,
|
|
90
|
-
hasRules: true,
|
|
91
|
-
instructionFile: 'AGENTS.md',
|
|
92
|
-
sharedInstructionFile: true,
|
|
93
|
-
mcpConfigScope: 'project',
|
|
94
|
-
templateTier: 'B',
|
|
44
|
+
name: 'opencode', category: 'code-agent', workflowModel: 'interactive',
|
|
45
|
+
hasMcp: true, hasHooks: false, hasAutoApprove: false, hasSkills: false, hasRules: true,
|
|
46
|
+
instructionFile: 'AGENTS.md', sharedInstructionFile: true, mcpConfigScope: 'project', templateTier: 'B',
|
|
95
47
|
},
|
|
96
48
|
codex: {
|
|
97
|
-
name: 'codex',
|
|
98
|
-
hasMcp: true,
|
|
99
|
-
|
|
100
|
-
hasAutoApprove: false,
|
|
101
|
-
hasSkills: false,
|
|
102
|
-
hasRules: true,
|
|
103
|
-
instructionFile: 'AGENTS.md',
|
|
104
|
-
sharedInstructionFile: true,
|
|
105
|
-
mcpConfigScope: 'machine',
|
|
106
|
-
templateTier: 'B',
|
|
49
|
+
name: 'codex', category: 'code-agent', workflowModel: 'task-based',
|
|
50
|
+
hasMcp: true, hasHooks: false, hasAutoApprove: false, hasSkills: false, hasRules: true,
|
|
51
|
+
instructionFile: 'AGENTS.md', sharedInstructionFile: true, mcpConfigScope: 'machine', templateTier: 'B',
|
|
107
52
|
},
|
|
108
53
|
antigravity: {
|
|
109
|
-
name: 'antigravity',
|
|
110
|
-
hasMcp: true,
|
|
111
|
-
|
|
112
|
-
hasAutoApprove: false,
|
|
113
|
-
hasSkills: false,
|
|
114
|
-
hasRules: true,
|
|
115
|
-
instructionFile: 'GEMINI.md',
|
|
116
|
-
sharedInstructionFile: true,
|
|
117
|
-
mcpConfigScope: 'machine',
|
|
118
|
-
templateTier: 'B',
|
|
54
|
+
name: 'antigravity', category: 'code-agent', workflowModel: 'interactive',
|
|
55
|
+
hasMcp: true, hasHooks: false, hasAutoApprove: false, hasSkills: false, hasRules: true,
|
|
56
|
+
instructionFile: 'GEMINI.md', sharedInstructionFile: true, mcpConfigScope: 'machine', templateTier: 'B',
|
|
119
57
|
},
|
|
120
58
|
'github-copilot': {
|
|
121
|
-
name: 'github-copilot',
|
|
122
|
-
hasMcp: false,
|
|
123
|
-
|
|
124
|
-
hasAutoApprove: false,
|
|
125
|
-
hasSkills: true,
|
|
126
|
-
hasRules: true,
|
|
127
|
-
instructionFile: '.github/copilot-instructions.md',
|
|
128
|
-
sharedInstructionFile: true,
|
|
129
|
-
mcpConfigScope: 'none',
|
|
130
|
-
templateTier: 'C',
|
|
59
|
+
name: 'github-copilot', category: 'code-agent', workflowModel: 'interactive',
|
|
60
|
+
hasMcp: false, hasHooks: false, hasAutoApprove: false, hasSkills: true, hasRules: true,
|
|
61
|
+
instructionFile: '.github/copilot-instructions.md', sharedInstructionFile: true, mcpConfigScope: 'none', templateTier: 'C',
|
|
131
62
|
},
|
|
63
|
+
// --- Autonomous agents (headless, task-based or scheduled) ---
|
|
132
64
|
openclaw: {
|
|
133
|
-
name: 'openclaw',
|
|
134
|
-
hasMcp: false,
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
sharedInstructionFile: false,
|
|
141
|
-
|
|
142
|
-
|
|
65
|
+
name: 'openclaw', category: 'autonomous-agent', workflowModel: 'task-based',
|
|
66
|
+
hasMcp: false, hasHooks: false, hasAutoApprove: false, hasSkills: true, hasRules: false,
|
|
67
|
+
instructionFile: 'skills/openclaw/SKILL.md', sharedInstructionFile: false, mcpConfigScope: 'none', templateTier: 'C',
|
|
68
|
+
},
|
|
69
|
+
nanoclaw: {
|
|
70
|
+
name: 'nanoclaw', category: 'autonomous-agent', workflowModel: 'task-based',
|
|
71
|
+
hasMcp: false, hasHooks: false, hasAutoApprove: false, hasSkills: true, hasRules: false,
|
|
72
|
+
instructionFile: 'skills/nanoclaw/SKILL.md', sharedInstructionFile: false, mcpConfigScope: 'none', templateTier: 'C',
|
|
73
|
+
},
|
|
74
|
+
nemoclaw: {
|
|
75
|
+
name: 'nemoclaw', category: 'autonomous-agent', workflowModel: 'task-based',
|
|
76
|
+
hasMcp: false, hasHooks: false, hasAutoApprove: false, hasSkills: true, hasRules: false,
|
|
77
|
+
instructionFile: 'skills/nemoclaw/SKILL.md', sharedInstructionFile: false, mcpConfigScope: 'none', templateTier: 'C',
|
|
78
|
+
},
|
|
79
|
+
picoclaw: {
|
|
80
|
+
name: 'picoclaw', category: 'autonomous-agent', workflowModel: 'scheduled',
|
|
81
|
+
hasMcp: false, hasHooks: false, hasAutoApprove: false, hasSkills: true, hasRules: false,
|
|
82
|
+
instructionFile: 'skills/picoclaw/SKILL.md', sharedInstructionFile: false, mcpConfigScope: 'none', templateTier: 'C',
|
|
83
|
+
},
|
|
84
|
+
zeroclaw: {
|
|
85
|
+
name: 'zeroclaw', category: 'autonomous-agent', workflowModel: 'task-based',
|
|
86
|
+
hasMcp: false, hasHooks: false, hasAutoApprove: false, hasSkills: true, hasRules: false,
|
|
87
|
+
instructionFile: 'skills/zeroclaw/SKILL.md', sharedInstructionFile: false, mcpConfigScope: 'none', templateTier: 'C',
|
|
143
88
|
},
|
|
144
89
|
};
|
|
145
90
|
/**
|
|
@@ -12,6 +12,11 @@ const SUPPORTED_AGENT_INTEGRATION_NAMES = new Set([
|
|
|
12
12
|
'antigravity',
|
|
13
13
|
'continue',
|
|
14
14
|
'roo',
|
|
15
|
+
'openclaw',
|
|
16
|
+
'nanoclaw',
|
|
17
|
+
'nemoclaw',
|
|
18
|
+
'picoclaw',
|
|
19
|
+
'zeroclaw',
|
|
15
20
|
]);
|
|
16
21
|
const DEFAULT_SURFACES = {
|
|
17
22
|
'github-copilot': [
|
|
@@ -60,6 +65,18 @@ const DEFAULT_SURFACES = {
|
|
|
60
65
|
'openclaw': [
|
|
61
66
|
{ kind: 'skill', location: 'machine', path: '.openclaw/workspace/skills/brainclaw/SKILL.md' },
|
|
62
67
|
],
|
|
68
|
+
'nanoclaw': [
|
|
69
|
+
{ kind: 'skill', location: 'workspace', path: 'skills/nanoclaw/SKILL.md' },
|
|
70
|
+
],
|
|
71
|
+
'nemoclaw': [
|
|
72
|
+
{ kind: 'skill', location: 'workspace', path: 'skills/nemoclaw/SKILL.md' },
|
|
73
|
+
],
|
|
74
|
+
'picoclaw': [
|
|
75
|
+
{ kind: 'skill', location: 'workspace', path: 'skills/picoclaw/SKILL.md' },
|
|
76
|
+
],
|
|
77
|
+
'zeroclaw': [
|
|
78
|
+
{ kind: 'skill', location: 'workspace', path: 'skills/zeroclaw/SKILL.md' },
|
|
79
|
+
],
|
|
63
80
|
};
|
|
64
81
|
function mergeSurfaces(current, next) {
|
|
65
82
|
const merged = [...current];
|
package/dist/core/schema.js
CHANGED
|
@@ -418,7 +418,7 @@ export const ProjectModeSchema = z.enum(['single-project', 'multi-project', 'aut
|
|
|
418
418
|
export const ProjectStrategySchema = z.enum(['manual', 'folder']);
|
|
419
419
|
export const TopologyModeSchema = z.enum(['embedded', 'sidecar', 'local-only']);
|
|
420
420
|
export const IgnoreStrategySchema = z.enum(['project-gitignore', 'none']);
|
|
421
|
-
export const AgentKindSchema = z.enum(['agent', 'human', 'unknown']);
|
|
421
|
+
export const AgentKindSchema = z.enum(['agent', 'autonomous', 'human', 'unknown']);
|
|
422
422
|
export const AgentTrustLevelSchema = z.enum(['observer', 'contributor', 'trusted', 'curator']);
|
|
423
423
|
export const AgentIdentityKeySchema = z.object({
|
|
424
424
|
algorithm: z.literal('ed25519'),
|
|
@@ -638,6 +638,10 @@ export const AgentIntegrationNameSchema = z.enum([
|
|
|
638
638
|
'continue',
|
|
639
639
|
'roo',
|
|
640
640
|
'openclaw',
|
|
641
|
+
'nanoclaw',
|
|
642
|
+
'nemoclaw',
|
|
643
|
+
'picoclaw',
|
|
644
|
+
'zeroclaw',
|
|
641
645
|
]);
|
|
642
646
|
export const AgentIntegrationSurfaceKindSchema = z.enum(['instructions', 'mcp', 'skill', 'rule', 'hook']);
|
|
643
647
|
export const AgentIntegrationLocationSchema = z.enum(['workspace', 'machine']);
|
|
@@ -44,14 +44,21 @@ More directive:
|
|
|
44
44
|
- The top 5 most critical traps (the agent won't see them otherwise)
|
|
45
45
|
- Explicit step-by-step protocol with all MCP calls listed
|
|
46
46
|
|
|
47
|
-
### For agents without MCP (Copilot)
|
|
47
|
+
### For agents without MCP (Copilot, autonomous agents)
|
|
48
48
|
|
|
49
|
-
Full static context:
|
|
49
|
+
Full static context via instruction file or SKILL.md:
|
|
50
50
|
- All of the above
|
|
51
51
|
- Active plans with status and assignees
|
|
52
52
|
- All shared traps
|
|
53
53
|
- Recent architectural decisions
|
|
54
54
|
|
|
55
|
+
### For autonomous agents (OpenClaw, NanoClaw, NemoClaw, PicoClaw, ZeroClaw)
|
|
56
|
+
|
|
57
|
+
Skill-based integration via `skills/<agent>/SKILL.md`:
|
|
58
|
+
- Compact brainclaw usage instructions adapted to the agent's workflow
|
|
59
|
+
- Uses `--profile compact` by default (short sessions, constrained resources)
|
|
60
|
+
- Supports task-based and scheduled workflow models
|
|
61
|
+
|
|
55
62
|
## Setting up agent integration
|
|
56
63
|
|
|
57
64
|
### Automatic (recommended)
|
|
@@ -83,7 +90,7 @@ brainclaw export --detect --write # auto-detect and write all formats
|
|
|
83
90
|
When brainclaw memory changes (new constraints, resolved traps, updated plans), regenerate instruction files:
|
|
84
91
|
|
|
85
92
|
```bash
|
|
86
|
-
brainclaw export --all # all
|
|
93
|
+
brainclaw export --all # all 15 agent formats at once
|
|
87
94
|
brainclaw export --detect --write # only the detected agent
|
|
88
95
|
```
|
|
89
96
|
|