跳到正文
GitHub·· 5 天前AI 评分38

ArmadAI:声明式 AI 智能体团队编译器,支持 Claude Code / Codex / OpenCode / Copilot

Dr0drigues/armadai

AI 导读

ArmadAI 是一个声明式 AI 智能体团队编译器,用 Markdown 或 YAML 描述智能体、共享提示词与技能及协调关系,再通过 armadai link 编译为 Claude Code、Codex、OpenCode 和 GitHub Copilot 的原生配置文件。

正文

ArmadAI

Declarative agent teams — describe them once, compile them for Claude Code, Codex, OpenCode and Copilot.

CI Security Audit

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 .md file = 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.md standard.
  • Reversible — link records what it wrote in a manifest, and unlink removes exactly that.
  • Policy gate — for Claude Code, a PreToolUse hook 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/:

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

PolyForm Noncommercial 1.0.0

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