245 lines
6.7 KiB
JSON
245 lines
6.7 KiB
JSON
{
|
|
"module": "claude-code",
|
|
"version": "1",
|
|
"moved": true,
|
|
"slug": "agent",
|
|
"capabilities": [
|
|
"package-manager"
|
|
],
|
|
"requires": [
|
|
"mcp-endpoint",
|
|
{
|
|
"name": "gitea-read",
|
|
"optional": true
|
|
}
|
|
],
|
|
"binds": {
|
|
"mcp-endpoint": "${dir:state}/mcp-endpoint.json"
|
|
},
|
|
"secrets": {
|
|
"gitea-read": "${dir:state}/gitea-read.secret"
|
|
},
|
|
"uses": [
|
|
"operator-channel"
|
|
],
|
|
"state": [
|
|
"servers",
|
|
"holdings",
|
|
"config",
|
|
"proposals",
|
|
"questions",
|
|
"memory"
|
|
],
|
|
"reads": [
|
|
"claude-licence-manager.bindings"
|
|
],
|
|
"tools": [
|
|
"claude_code_status",
|
|
"claude_code_render",
|
|
"claude_code_guard",
|
|
"claude_code_pull",
|
|
"claude_code_grant",
|
|
"claude_code_add_api_key",
|
|
"claude_code_registrations",
|
|
"claude_code_memory",
|
|
"claude_code_mcp_list",
|
|
"claude_code_mcp_register",
|
|
"claude_code_mcp_unregister",
|
|
"claude_code_skill_list",
|
|
"claude_code_skill_register",
|
|
"claude_code_skill_unregister",
|
|
"claude_code_agent_list",
|
|
"claude_code_agent_register",
|
|
"claude_code_agent_unregister",
|
|
"claude_code_command_list",
|
|
"claude_code_command_register",
|
|
"claude_code_command_unregister",
|
|
"claude_code_hook_list",
|
|
"claude_code_hook_register",
|
|
"claude_code_hook_unregister",
|
|
"claude_code_output_style_list",
|
|
"claude_code_output_style_register",
|
|
"claude_code_output_style_unregister",
|
|
"claude_code_instructions_list",
|
|
"claude_code_instructions_register",
|
|
"claude_code_instructions_unregister",
|
|
"claude_code_instructions_propose",
|
|
"claude_code_proposals",
|
|
"claude_code_ask",
|
|
"claude_code_answer",
|
|
"claude_code_settings_get",
|
|
"claude_code_settings_set",
|
|
"claude_code_settings_clear",
|
|
"claude_code_permission_add",
|
|
"claude_code_permission_remove",
|
|
"claude_code_config_list",
|
|
"claude_code_config_show",
|
|
"claude_code_config_status",
|
|
"claude_code_config_import",
|
|
"claude_code_home_show",
|
|
"claude_code_home_remove",
|
|
"claude_code_home_removed",
|
|
"claude_code_home_restore",
|
|
"claude_code_judge",
|
|
"claude_code_judged"
|
|
],
|
|
"data": {
|
|
"own": [
|
|
{
|
|
"id": "agent-home",
|
|
"path": "${dir:agent-home}",
|
|
"class": "valuable",
|
|
"why": "the operator's agent's own files: its memory, history and projects"
|
|
}
|
|
]
|
|
},
|
|
"config": {
|
|
"role": {
|
|
"type": "string",
|
|
"description": "What this machine is for, in a sentence, written into the instructions every Claude Code session on it reads; empty says nothing.",
|
|
"trusted": true,
|
|
"default": ""
|
|
},
|
|
"mcp_servers": {
|
|
"type": "object",
|
|
"description": "The tool servers every session on this machine is given beside the mesh's own, by name, each as Claude Code's managed MCP configuration takes it; empty adds none.",
|
|
"trusted": true,
|
|
"default": {}
|
|
},
|
|
"managed_settings": {
|
|
"type": "object",
|
|
"description": "Keys of Claude Code's managed settings every session on this machine obeys, such as spinnerTipsEnabled, laid over the mesh's own; empty adds none. Falls back to agent-managed-settings, the mesh's or this node's.",
|
|
"trusted": true,
|
|
"predefined": "agent-managed-settings",
|
|
"default": {}
|
|
},
|
|
"instructions": {
|
|
"type": "object",
|
|
"description": "The instructions every session on this machine reads, by name, each a text as one line or a list of its lines; empty adds none.",
|
|
"trusted": true,
|
|
"default": {}
|
|
},
|
|
"output_styles": {
|
|
"type": "object",
|
|
"description": "The output styles offered to every session on this machine, by name, each a text as one line or a list of its lines; empty adds none.",
|
|
"trusted": true,
|
|
"default": {}
|
|
},
|
|
"skills": {
|
|
"type": "object",
|
|
"description": "The skills offered to every session on this machine, by name, each its files by path, a text as one line or a list of its lines; a skill without its SKILL.md is left out; empty adds none.",
|
|
"trusted": true,
|
|
"default": {}
|
|
},
|
|
"commands": {
|
|
"type": "object",
|
|
"description": "The slash commands offered to every session on this machine, by name, each a text as one line or a list of its lines; empty adds none.",
|
|
"trusted": true,
|
|
"default": {}
|
|
},
|
|
"agents": {
|
|
"type": "object",
|
|
"description": "The agents offered to every session on this machine, by name, each a text as one line or a list of its lines; empty adds none.",
|
|
"trusted": true,
|
|
"default": {}
|
|
}
|
|
},
|
|
"resources": [
|
|
{
|
|
"id": "package",
|
|
"type": "package",
|
|
"package": "claude-code"
|
|
},
|
|
{
|
|
"id": "managed",
|
|
"type": "directory",
|
|
"path": "/etc/claude-code",
|
|
"mode": "0755"
|
|
},
|
|
{
|
|
"id": "start",
|
|
"type": "file",
|
|
"path": "/usr/local/bin/claude-agent",
|
|
"mode": "0755",
|
|
"template": "files/claude-agent"
|
|
},
|
|
{
|
|
"id": "agent-account-name",
|
|
"type": "file",
|
|
"path": "/etc/claude-code/agent-account",
|
|
"mode": "0644",
|
|
"template": "files/agent-account"
|
|
},
|
|
{
|
|
"id": "agent-account",
|
|
"type": "user",
|
|
"name": "${machine:agent-account}",
|
|
"home": "${machine:agent-home}",
|
|
"root": "${machine:agent-root}"
|
|
},
|
|
{
|
|
"id": "agent-home",
|
|
"type": "directory",
|
|
"path": "${machine:agent-home}/.claude",
|
|
"mode": "0700",
|
|
"owner": "${machine:agent-account}"
|
|
},
|
|
{
|
|
"id": "state",
|
|
"type": "directory",
|
|
"mode": "0700",
|
|
"owner": "${machine:account}",
|
|
"place": "."
|
|
},
|
|
{
|
|
"id": "facts",
|
|
"type": "file",
|
|
"path": "${dir:state}/facts.json",
|
|
"mode": "0600",
|
|
"owner": "${machine:account}",
|
|
"template": "files/facts.json"
|
|
},
|
|
{
|
|
"id": "settings",
|
|
"type": "file",
|
|
"path": "${dir:state}/settings.json",
|
|
"mode": "0600",
|
|
"owner": "${machine:account}",
|
|
"takes-config": ["role", "mcp_servers", "managed_settings", "instructions", "output_styles", "skills", "commands", "agents"],
|
|
"merge": "json",
|
|
"template": "files/settings.json"
|
|
}
|
|
],
|
|
"items": [
|
|
{
|
|
"collection": "shell:zsh:normal",
|
|
"template": "files/zsh-normal"
|
|
}
|
|
],
|
|
"build": {
|
|
"artifacts": [
|
|
{
|
|
"name": "tools",
|
|
"kind": "bundle",
|
|
"language": "go",
|
|
"system": "arch",
|
|
"from": "cmd/claude-code",
|
|
"binary": "claude-code",
|
|
"loads": [
|
|
"claude-code"
|
|
],
|
|
"env": {
|
|
"MESH_CLAUDE_CODE_STATE": "${dir:state}",
|
|
"MESH_CLAUDE_CODE_FACTS": "${dir:state}/facts.json",
|
|
"MESH_CLAUDE_CODE_SETTINGS": "${dir:state}/settings.json"
|
|
}
|
|
},
|
|
{
|
|
"name": "files",
|
|
"kind": "archive",
|
|
"from": "files"
|
|
}
|
|
]
|
|
}
|
|
}
|