NexaDuo/mARC
GitHub: NexaDuo/mARC
mARC 是一个 Claude Code 插件,将多角色 AI 工程团队封装为可跨仓库复用的协作系统,实现任务分发、追踪与合并前安全审查。
Stars: 3 | Forks: 0
```
█████╗ ██████╗ ██████╗
██╔══██╗ ██╔══██╗ ██╔════╝
██████████╗ ███████║ ██████╔╝ ██║
██║ ██║ ██║ ██╔══██║ ██╔══██╗ ██║
██║ ██║ ██║ ██║ ██║ ██║ ██║ ╚██████╗
╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝
▄▖▄▖▄▖▄▖▄▖▄▖▄▖▄▖▄▖▄▖▄▖▄▖▄▖▄▖▄▖▄▖▄▖▄▖▄▖▄▖▄▖▄▖▄▖▄▖
m u l t i · a g e n t · r e l a y · c o n t r o l
▀▘▀▘▀▘▀▘▀▘▀▘▀▘▀▘▀▘▀▘▀▘▀▘▀▘▀▘▀▘▀▘▀▘▀▘▀▘▀▘▀▘▀▘▀▘▀▘
```
```
*** Now talking in #marc
*** Topic: turn a discussion into tracked, delegated, shipped work
--> @techlead has been given channel operator status
@techlead: specialists, standby. i'll convene you when there's work.
@dev @sre @design @sec: ready.
```
**mARC(多智能体接力控制)** 将一整套软件交付 **agent
团队** 封装为一个便携的 [Claude Code](https://claude.com/claude-code) **插件 +
自带市场,并披上了一层复古/蒸汽波风格的 **IRC** 控制台外衣。它
**不是** 一个新的编排引擎——Claude Code 的 Agent Teams 已经负责处理
任务分发、并行执行和隔离。mARC 只是*封装与品牌*:一个你只需在用户作用域下
安装一次,即可在所有 repo 中复用的通用团队。
## 隐喻 —— 一个频道,一个管理员,一排专家
把你的项目想象成一个 IRC 频道。**`@techlead`** 拥有频道管理员
权限:它监听讨论,将其整理为规格明确且可追踪的
工作项并记录到你的 GitHub Project 看板中,然后呼叫合适的专业人员来执行。
| handle | role | pings for |
|--------------|----------------------|------------------------------------------------------|
| `@techlead` | 频道管理员 | 召集、编写规格、记录到看板、分发任务、追踪进度 |
| `@dev` | 工程师 | 应用/service代码、IaC、部署脚本、schema、测试 |
| `@sre` | 稳定性工程师 | 部署、observability、事故处理、备份/灾难恢复、成本 |
| `@design` | 前端 | UI界面、UX、端到端 Web 流程 |
| `@sec` | 安全(只读) | 合并前 diff 审查 —— 强制性的合并门禁 |
`@techlead` 是一个 **skill**(`/marc:tech-lead`);`@dev`、`@sre`、`@design`、`@sec`
是它分发的 **subagents**。`@techlead` 是几个领导
skill 中的第一个 —— `founder`、`eng-director` 和 `c-level` 是规划好的发展路径,
它们都将召集同一个共享的专家团队。
## 设计上的通用性 —— 每个 repo 的绑定配置存放在使用它的 repo 中
该团队**没有**硬编码任何技术栈信息。当它在 repo 中运行时,会在 runtime
自行学习该 repo 的信息:
- 读取 repo 的 `AGENTS.md` / `CLAUDE.md` 以了解架构、发布阶段和经验教训。
- 读取该 repo 的 **`.claude/team.config`** 以获取具体的绑定信息 —— gh
org/repo、project 编号、关键路径、验证命令、发布阶段事实。参见 [`docs/team.config.example`](docs/team.config.example)。
- 如果 `team.config` 不存在,`@techlead` 会动态发现 repo/project
(`gh repo view`, `gh project list --owner `),而不是盲目猜测。
`SessionStart` hook 会在每次会话开始时将激活的 `team.config` 打印到上下文中
(如果不存在则会显示一条友好的提示)。
## 安装(用户作用域 → 在每个 repo 中可用)
```
/plugin marketplace add NexaDuo/mARC
/plugin install marc@nexaduo
```
或者运行可审计的安装程序(添加 marketplace + 安装 plugin,并打印
横幅):
```
./install.sh
```
安装完成后,`@techlead` 将作为 `/marc:tech-lead` 在任何 repo 中可用,并且它
会按需调度专家 subagents。
## 更新
**建议:为 `nexaduo` marketplace 启用自动更新。** 开启自动更新后,
Claude Code 会为你拉取新的 plugin 版本,让你永远不会落后——这
是主要的、无版本漂移的途径。在 `/plugin` → `nexaduo`
marketplace → 启用自动更新中进行管理。
要随时手动更新:
```
claude plugin update marc@nexaduo
```
或者,在 Claude Code 中执行:
```
/plugin marketplace update nexaduo
/reload-plugins
```
**安全网(针对关闭自动更新的用户):** mARC 内置了一个 `SessionStart` hook,
它会在每次会话中检查一次你安装的版本是否落后于 `main` 上的版本,
如果是,则打印一行包含更新命令的提示。这仅供提醒——它只进行简短的、
有超时限制的网络检查,在离线、受到速率限制或缺少工具时
会静默降级为无操作;它从不阻塞或拖慢
会话。它只会在出现次要/主要版本差异时发出提示,因此常规的补丁
更新不会打扰到你。
## 将 mARC 绑定到 repo(可选,但推荐)
在使用它的 repo 中放入一个 `.claude/team.config`(复制
[`docs/team.config.example`](docs/team.config.example) 并填写完整)。这会固定
GitHub org/repo、Project 编号、关键源码路径和验证
命令,这样 `@techlead` 和专家们就不必再靠猜了。需要记住的优先级规则是:
repo 自身的 `.claude/` 配置会覆盖 plugin 配置,而 plugin 配置会覆盖用户配置。
## 目录结构
```
.claude-plugin/
marketplace.json # marketplace "nexaduo" → lists the marc plugin
harnesses/
claude-code/
marc/ # THE Claude Code plugin
.claude-plugin/plugin.json # plugin manifest (name marc, v0.1.0)
skills/tech-lead/ # @techlead leader skill (/marc:tech-lead)
agents/ # @dev, @sre, @design, @sec shared specialist bench
hooks/hooks.json # SessionStart → inject .claude/team.config
docs/
ARCHITECTURE.md # growth model: leaders, specialists, harnesses
team.config.example
install.sh # safe, auditable installer + banner
```
该 plugin 被特意嵌套在 `harnesses/claude-code/marc/` 下,这样 repo 就可以**横向**
扩展到其他 harness(`harnesses/cursor/…`、
`harnesses/codex/…`),并**向上**扩展出更多领导 skill(`founder`、
`eng-director`、`c-level`),而无需重新调整结构。完整的扩展模型请参见
[`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md)。
## 许可证
MIT — 参见 [LICENSE](LICENSE)。
```
*** @techlead sets mode +v on your next idea
```
标签:AI工程, Claude Code插件, Cutter, 多智能体协作, 开发效能, 自动化开发