mirror of
https://github.com/msitarzewski/agency-agents.git
synced 2026-07-06 16:28:56 +03:00
90ae2b27d1
* Add Mistral Vibe support for Agency agents - Add Mistral Vibe entry to tools.json with proper configuration (id, label, kebab, format, installKind, dest, detection, version) - Implement convert_vibe() function in convert.sh for Mistral Vibe's format - Generates TOML agent configuration files (~/.vibe/agents/<slug>.toml) - Generates markdown prompt files (~/.vibe/prompts/<slug>.md) - Each agent gets agent_type and system_prompt_id (no hardcoded active_model) - Add install_vibe() function in install.sh with full feature support - Copies both agent TOML and prompt MD files - Supports division/agent filtering and environment variable overrides - Uses VIBE_HOME environment variable for custom install paths - Add Mistral Vibe detection and tool labeling - Add Mistral Vibe to all necessary case statements and arrays - Update README.md to document Mistral Vibe support - All changes validated with scripts/check-tools.sh Mistral Vibe uses a two-file approach per agent: - ~/.vibe/agents/<slug>.toml for agent configuration - ~/.vibe/prompts/<slug>.md for system prompts Users can specify active_model in their agent TOML files or rely on their Vibe configuration default model. Usage: ./scripts/install.sh --tool vibe [--division X] [--agent Y] Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai> * Address PR #658 review feedback: add .gitignore, README, and fix icon - Add integrations/vibe/README.md documenting the Mistral Vibe integration - Update .gitignore to ignore integrations/vibe/agents/ and prompts/ - Update convert.sh usage() to include vibe in the tool list - Fix tools.json: change vibe icon from 'mistral' to null (no mistral.svg) - Bonus: update vibe accent color from #FF69B4 to #FA520F (Mistral brand orange) Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai> --------- Co-authored-by: Mistral Vibe <vibe@mistral.ai>
21 lines
7.8 KiB
JSON
21 lines
7.8 KiB
JSON
{
|
|
"_note": "Source of truth for the supported tool set. Keyed by the CLI tool name (kebab). Each entry carries the install contract (id, detect dirs, dest templates, render `format`, `installKind`, scope, version cmd) plus app presentation (label, short, accent, icon, order). aa converts + installs ALL listed tools. `format` is the renderer contract: the same `format` name guarantees byte-identical output, so two tools may share a format only if their rendered files are identical. `installKind` is the install MECHANISM and is upstream truth (true for every consumer): `per-agent` = one rendered file/dir per agent; `roster` = one combined file for all agents; `plugin` = a built artifact that is NOT per-agent renderable (CLI-only everywhere, no consumer can render it as a string). Consumers branch on both: e.g. the Agency Agents app natively installs `per-agent`/`roster` tools whose `format` it implements, while `plugin` kinds are CLI-only. Renderer coverage stays the consumer's concern (derived from `format`); the catalog carries NO app-release state. scripts/check-tools.sh (CI) fails the build if this disagrees with ALL_TOOLS in install.sh or the converter set in convert.sh, or if any entry is missing id/label/kebab/format/installKind/dest. Add a tool: add an entry here, a convert_<tool> (or reuse a `format`) in convert.sh, and an install_<tool> in install.sh, then run scripts/check-tools.sh.",
|
|
"tools": {
|
|
"claude-code": {"id":"claudeCode","label":"Claude Code","short":"Claude","kebab":"claude-code","accent":"#D97757","icon":"claudecode","order":1,"scope":{"user":true,"project":true},"detect":{"dirs":[".claude"],"agentsDir":".claude/agents"},"version":{"bin":"claude","args":["--version"]},"format":"identity","installKind":"per-agent","slugFrom":"source","dest":{"user":[".claude/agents/{slug}.md"],"project":[".claude/agents/{slug}.md"]}},
|
|
"codex": {"id":"codex","label":"Codex","short":"Codex","kebab":"codex","accent":"#10A37F","icon":"codex","order":2,"scope":{"user":true,"project":true},"detect":{"dirs":[".codex"],"agentsDir":".codex/agents"},"version":{"bin":"codex","args":["--version"]},"format":"codex-toml","installKind":"per-agent","slugFrom":"name","dest":{"user":[".codex/agents/{slug}.toml"],"project":[".codex/agents/{slug}.toml"]}},
|
|
"gemini-cli": {"id":"geminiCli","label":"Gemini CLI","short":"Gemini","kebab":"gemini-cli","accent":"#4285F4","icon":"geminicli","order":3,"scope":{"user":true,"project":true},"detect":{"dirs":[".gemini/agents"],"agentsDir":".gemini/agents"},"version":{"bin":"gemini","args":["--version"]},"format":"gemini-md","installKind":"per-agent","slugFrom":"name","dest":{"user":[".gemini/agents/{slug}.md"],"project":[".gemini/agents/{slug}.md"]}},
|
|
"copilot": {"id":"copilot","label":"GitHub Copilot","short":"Copilot","kebab":"copilot","accent":"#6E40C9","icon":"githubcopilot","order":4,"scope":{"user":true,"project":true},"detect":{"dirs":[".github",".copilot"],"agentsDir":".github/agents"},"version":{"bin":"gh","args":["copilot","--version"]},"format":"identity","installKind":"per-agent","slugFrom":"source","dest":{"user":[".copilot/agents/{slug}.md",".github/agents/{slug}.md"],"project":[".github/agents/{slug}.md"]}},
|
|
"qwen": {"id":"qwen","label":"Qwen Code","short":"Qwen","kebab":"qwen","accent":"#615CED","icon":"qwen","order":5,"scope":{"user":true,"project":true},"detect":{"dirs":[".qwen"],"agentsDir":".qwen/agents"},"version":{"bin":"qwen","args":["--version"]},"format":"qwen-md","installKind":"per-agent","slugFrom":"name","dest":{"user":[".qwen/agents/{slug}.md"],"project":[".qwen/agents/{slug}.md"]}},
|
|
"cursor": {"id":"cursor","label":"Cursor","short":"Cursor","kebab":"cursor","accent":"#1F2430","icon":"cursor","order":6,"scope":{"user":false,"project":true},"detect":{"dirs":[".cursor"],"agentsDir":null},"version":{"bin":"cursor","args":["--version"]},"format":"cursor-mdc","installKind":"per-agent","slugFrom":"name","dest":{"user":[],"project":[".cursor/rules/{slug}.mdc"]}},
|
|
"opencode": {"id":"opencode","label":"opencode","short":"opencode","kebab":"opencode","accent":"#FF6B35","icon":"opencode","order":7,"scope":{"user":true,"project":true},"detect":{"dirs":[".config/opencode"],"agentsDir":null},"version":{"bin":"opencode","args":["--version"]},"format":"opencode-md","installKind":"per-agent","slugFrom":"name","dest":{"user":[".config/opencode/agents/{slug}.md"],"project":[".opencode/agents/{slug}.md"]}},
|
|
"osaurus": {"id":"osaurus","label":"Osaurus","short":"Osaurus","kebab":"osaurus","accent":"#10B981","icon":null,"order":8,"scope":{"user":true,"project":false},"detect":{"dirs":[".osaurus"],"agentsDir":".osaurus/skills"},"version":{"bin":"osaurus","args":["--version"]},"format":"skill-md","installKind":"per-agent","slugFrom":"name","slugPrefix":"agency-","dest":{"user":[".osaurus/skills/{slug}/SKILL.md"],"project":[]}},
|
|
"aider": {"id":"aider","label":"Aider","short":"Aider","kebab":"aider","accent":"#8B5CF6","icon":null,"order":9,"scope":{"user":false,"project":true},"detect":{"dirs":[],"agentsDir":null},"version":{"bin":"aider","args":["--version"]},"format":"aider-conventions","installKind":"roster","slugFrom":null,"dest":{"user":[],"project":["CONVENTIONS.md"]}},
|
|
"antigravity": {"id":"antigravity","label":"Antigravity","short":"antigravity","kebab":"antigravity","accent":"#0EA5E9","icon":"antigravity","order":10,"scope":{"user":true,"project":true},"detect":{"dirs":[".gemini/config/skills",".agents/skills"],"agentsDir":".gemini/config/skills"},"version":{"bin":"agy","args":["--version"]},"format":"skill-md","installKind":"per-agent","slugFrom":"name","slugPrefix":"agency-","dest":{"user":[".gemini/config/skills/{slug}/SKILL.md"],"project":[".agents/skills/{slug}/SKILL.md"]}},
|
|
"kimi": {"id":"kimi","label":"Kimi","short":"Kimi","kebab":"kimi","accent":"#0F0F12","icon":"kimi","order":11,"scope":{"user":true,"project":false},"detect":{"dirs":[],"agentsDir":".config/kimi/agents"},"version":{"bin":"kimi","args":["--version"]},"format":"kimi-agent","installKind":"per-agent","slugFrom":"name","dest":{"user":[".config/kimi/agents/{slug}/agent.yaml",".config/kimi/agents/{slug}/system.md"],"project":[]}},
|
|
"openclaw": {"id":"openclaw","label":"OpenClaw","short":"openclaw","kebab":"openclaw","accent":"#E11D48","icon":null,"order":12,"scope":{"user":true,"project":false},"detect":{"dirs":[".openclaw"],"agentsDir":".openclaw/agency-agents"},"version":{"bin":"openclaw","args":["--version"]},"format":"openclaw-workspace","installKind":"per-agent","slugFrom":"name","dest":{"user":[".openclaw/agency-agents/{slug}/SOUL.md",".openclaw/agency-agents/{slug}/AGENTS.md",".openclaw/agency-agents/{slug}/IDENTITY.md"],"project":[]}},
|
|
"windsurf": {"id":"windsurf","label":"Windsurf","short":"Windsurf","kebab":"windsurf","accent":"#09B6A2","icon":"windsurf","order":13,"scope":{"user":false,"project":true},"detect":{"dirs":[".codeium"],"agentsDir":null},"version":{"bin":"windsurf","args":["--version"]},"format":"windsurf-rules","installKind":"roster","slugFrom":null,"dest":{"user":[],"project":[".windsurfrules"]}},
|
|
"hermes": {"id":"hermes","label":"Hermes","short":"Hermes","kebab":"hermes","accent":"#7C3AED","icon":null,"order":14,"scope":{"user":true,"project":false},"detect":{"dirs":[".hermes"],"agentsDir":".hermes/plugins"},"version":{"bin":"hermes","args":["--version"]},"format":"hermes-router-plugin","installKind":"plugin","slugFrom":null,"dest":{"user":[".hermes/plugins/agency-agents-router"],"project":[]}},
|
|
"vibe": {"id":"vibe","label":"Mistral Vibe","short":"Vibe","kebab":"vibe","accent":"#FA520F","icon":null,"order":15,"scope":{"user":true,"project":true},"detect":{"dirs":[".vibe"],"agentsDir":".vibe/agents"},"version":{"bin":"vibe","args":["--version"]},"format":"vibe-toml","installKind":"per-agent","slugFrom":"name","dest":{"user":[".vibe/agents/{slug}.toml",".vibe/prompts/{slug}.md"],"project":[".vibe/agents/{slug}.toml",".vibe/prompts/{slug}.md"]}}
|
|
}
|
|
}
|