ArmadAI:声明式 AI 智能体团队编译器,支持 Claude Code / Codex / OpenCode / Copilot
Dr0drigues/armadai
ArmadAI 是一个声明式 AI 智能体团队编译器,用 Markdown 或 YAML 描述智能体、共享提示词与技能及协调关系,再通过 armadai link 编译为 Claude Code、Codex、OpenCode 和 GitHub Copilot 的原生配置文件。
Declarative agent teams — describe them once, compile them for Claude Code, Codex, OpenCode and Copilot.
Overview
ArmadAI is a declarative compiler for AI agent teams. You describe your agents (Markdown files
or a YAML declaration), the prompts and skills they share, and which agent coordinates the
others; armadai link then writes the native configuration files of the assistant you use:
armadai link --target claude # .claude/agents/*.md (+ .claude/CLAUDE.md for a coordinator)
armadai link --target codex # .codex/agents/*.toml, .codex/config.toml, .codex/AGENTS.md
armadai link --target opencode # .opencode/agents/*.md (+ .opencode/instructions.md for a coordinator)
armadai link --target copilot # .github/agents/*.agent.md (+ .github/copilot-instructions.md for a coordinator)
The project's prompts and skills are copied alongside, under prompts/ and skills/ in the same
directory.
ArmadAI does not run agents: the assistant does. There is no execution engine, no TUI and no
web UI, and link never touches the network.
Key Features
- One source, four targets — the same definitions compile to Claude Code, Codex, OpenCode and GitHub Copilot.
- Markdown-based agents — one
.mdfile = one agent, human-readable and git-friendly; or declare them in.armadai/agents.yaml. - Composable prompts and skills — reusable prompt fragments, and skills following the
SKILL.mdstandard. - Reversible —
linkrecords what it wrote in a manifest, andunlinkremoves exactly that. - Policy gate — for Claude Code, a
PreToolUsehook that enforces the declared delegation topology. - Starter packs and templates — curated bundles and agent templates to start from.
Quick Start
Install
# One-liner (downloads the latest release binary) curl -fsSL https://raw.githubusercontent.com/Dr0drigues/armadai/master/install.sh | bash
Options: INSTALL_DIR=~/.local/bin (default), VERSION=v0.1.0 (default: latest).
armadai init --pack rust-dev # a project (.armadai/) from a starter pack armadai link --target claude --dry-run # preview the files and the conformance report armadai link --target claude # write them
See Getting Started for building from source, the project layout and starter packs.
Usage
Running armadai without a subcommand prints the help.
| Command | Description |
|---|---|
armadai link [--target t…] [--dry-run] [--json] |
Compile the project into native files, with a conformance report |
armadai unlink [--target t…] [--dry-run] |
Remove what link wrote, and only that |
armadai list [--tags t] |
List the project's agents, skills, flows, automations |
armadai inspect <agent> |
Show one agent of the project |
armadai validate [path] |
Validate the project (or a starter pack) |
armadai migrate |
Convert a legacy project to .armadai/project.yaml |
armadai new --template <tpl> <name> |
Create an agent from a template (-i for a wizard) |
armadai init [--project] [--pack <name>] |
Initialize the user configuration, or a project (empty or from a starter pack) |
armadai skills list/show/sync/search/add/info |
Manage and discover skills |
armadai models check/update/list |
Check and rewrite deprecated model ids, list linked projects |
armadai config providers/secrets/starters-dir |
Provider status, SOPS + age secrets, custom starter directories |
armadai update |
Self-update to the latest release |
armadai completion <shell> |
Generate shell completions |
Project Format
A project is a .armadai/ folder: project.yaml (targets, coordinator, policy), one Markdown
file per agent with a YAML frontmatter, skills, flows and automations.
--- description: Reviews code for bugs, security and style tier: pro tags: [dev, review] capabilities: shell: deny --- You are an expert code reviewer...
See Project format for every file and diagnostic, and Link for what each target receives.
Starter Packs
Start a project from a curated bundle of agents and skills:
armadai init --pack rust-dev # Rust essentials (3 agents + conventions skill) armadai init --pack fullstack # General-purpose pack (6 agents)
See Starter Packs for the full list and their contents.
Architecture
See ARCHITECTURE.md for the technical documentation.
.armadai/ (project.yaml, agents, skills, flows, automations, native)
│
▼
armadai (native binary): load → validate → one plan per target → conformance report
│
▼
native files for Claude Code · Codex · OpenCode · Copilot (+ .armadai/link-manifest.yaml)
What the declarative refocus removed, and what comes next, is specified in the step 0 spec.
Documentation
Full documentation lives in docs/wiki/:
- Getting Started
- Project format
- Link
- Policy gate
- Legacy format (read by
migrate): Agent format, Declarative agents - Providers and models
- Skills & Prompts
Documents describing the former execution engine are kept, unmaintained, in
docs/archive/.
Development
Setup
git clone https://github.com/Dr0drigues/armadai.git cd armadai git config core.hooksPath .githooks # Enable commit message validation
Building from source needs a recent stable Rust toolchain; .mise.toml pins the one the
project uses (mise install).
Build & Test
There is a single configuration (no optional cargo features), identical to CI:
cargo fmt --all -- --check cargo clippy --all-targets -- -D warnings cargo test --no-fail-fast cargo build -p armadai-core # the core builds standalone RUST_LOG=debug cargo run -- list
mise run ci runs the same gate.
Git Flow
| Branch | Purpose |
|---|---|
master |
Default trunk — all PRs squash-merge here |
feature/* |
New features (branch from master, PR back to master) |
release/* |
Release-line stabilization (branch from master, merge back to master + tag) |
hotfix/* |
Emergency fixes (branch from master, PR back to master) |
Commits
This project enforces Conventional Commits.
A git hook validates messages automatically. Use cz commit for an interactive prompt.
feat: add agent validation command
fix(parser): handle empty metadata section
docs: update README with new CLI commands
refactor(linker): share the prompt composition
Changelogs are generated automatically via cz bump.
License
Free to use for:
- Personal use, research, experimentation, and testing
- Educational institutions and public research organizations
- Charitable organizations and government institutions
- Hobby projects and personal study
Commercial use: For commercial licensing, please contact the maintainer.
See the LICENSE file for full terms.
来源:GitHub · github.com