@ bonesofspring/ai-rules (英语)
预设 光标, (中文(简体) ), 克劳德代码, (中文(简体) ), 马维斯 (麦克斯语) mcode, (中文(简体) ), 打开代码,以及 ZCode 代码. 节点18+.
npx @bonesofspring/ai-rules init multi --preset next
npx @bonesofspring/ai-rules update # reinstall tools already recorded in this repo
npx @bonesofspring/ai-rules update --merge-ai-local # fast-forward files whose recorded base still matches; edits and pre-record files stay put
npx @bonesofspring/ai-rules clean cursor # never deletes .ai.local/
运行 init 从 应用程序根 (单位:千美元)--cwd (如果需要的话) 默认 --preset 实值 next窗体: init cursor --preset next, (中文(简体) ), init cursor next, (中文(简体) ), init cursor. 全球: npm i -g @bonesofspring/ai-rules。 。 。 .
init 覆盖匹配的文件。 MCP是例外: mcpServers 实值 合并 当现有的文件是有效的JSON(外部服务器保存;运出密钥更新)时. 重init 覆盖在运出服务器上预设的 scalar 字段, 例如 command。当预设条目省略时 env 或者说 headers,保留消费者值;预设所定义的嵌入键取代了该键。 无效的 JSON 对象已存在的配置失败 init 1号出口,没有动静——没有任何东西被备份或替换. .claude/settings.json 也可以合并(permission 阵列是附加- if- missing, 预先设置的钩子是每个命令添加的)。 当预设否认赤裸的时候 Bash(git commit) 或者说 Bash(git push)重新点燃这些力量 permissions.deny 并删除同样来源于 allow 财务报告和审定财务报表 ask即使消费者档案已经允许了 所有其他许可都保留在消费者手中,不会颠倒。 这是第三个合并的配置路径 opencode.json 财务报告和审定财务报表 .mcp.json; ZCode 添加了第4个——被窝 mcp.servers 消费者拥有的 .zcode/config.json (消费者 hooks编号 :plugins 键和自定义服务器保留; clean 条形图 : hooks ) (中文(简体) ). 见 docs/ZCODE.md。删除一个已运出服务器不是粘滞的——下一个 init 复还之.
什麽 init 写入
| 光标 | 克劳德 | 马维斯 | 打开代码 | ZCode 代码 | |
|---|---|---|---|---|---|
| 规则/命令/代理/技能/钩子 | .cursor/** | .claude/** | .mavis/** | .opencode/** | .zcode/** |
| 工具地图 | .cursor/AGENTS.md | .claude/CLAUDE.md | .mavis/AGENTS.md | .opencode/AGENTS.md | 根号 AGENTS.md 是地图( 本地装入; 没有每个工具副本) |
| MCP 磁共振 | .cursor/mcp.json (出现) | .mcp.json (出现) | .mavis/mcp.json (出现) | opencode.json (出现) | .zcode/config.json - 筑巢) mcp.servers (出现) |
| 根剂 | REPO_AGENTS.md → AGENTS.md (所有五个文件相同; ZCode 本地加载) | ||||
/task 文物 | .ai.local/team/ (共享;模板已刷新; tasks/<slug>/ 从未覆盖) | ||||
| 模板漂移 | .ai.local/.template-base.json (共享;持有已发送模板字节的文件每树记录一张; update 打印一条漂移行, update --merge-ai-local 快速转发文件,只有当其记录的基数仍然匹配并报告其余部分) | ||||
| 自学引擎 | .ai.local/scripts/ (共享;13个脚本——引擎, manifest.mjs六个 team-db*.mjs 投影模块; 现有文件从未覆盖) | ||||
| 相片种子 | docs/specs/ 仅在目录为时复制 缺席 |
引擎是任务内自学循环: .ai.local/signals.jsonl → .ai.local/rule-changes.jsonl →
.ai.local/conventions.md 编号 : .ai.local/rules-library/。链钩在每一份生产者收据后运行;运行它
当钩被禁用时:
node .ai.local/scripts/run.mjs # derive → append → improve
node .ai.local/scripts/run.mjs --status # read-only: per-signature state, last capture, envelope
node .ai.local/scripts/run.mjs --strict # read-only check: exit 1 when capture is broken
init 以 跳过性别 ——经过修改的 run.mjs 保留你的,并报告为保留;没有
--force。重新运行 init 不更新种子模块,所以删除文件取取更新的引擎。 种子的种子
树的字节与 presets/_shared/ai-local/scripts/,以及 .ai.local/.gitignore (缺席时创建,缺失)
已存在的文件中需要附加的行)忽略 *.lock, (中文(简体) ), *.tmp, (中文(简体) ), .rollback/, (中文(简体) ), team.db, (中文(简体) ), team.db-wal, (中文(简体) ),
team.db-shm,以及 team-db-errors.log; 词根 .gitignore 从未编辑.
同样的播种船 manifest.mjs,作者为 .ai.local/team/tasks/<slug>/artifact-manifest.json数字 :
node .ai.local/scripts/manifest.mjs init --slug <slug>
node .ai.local/scripts/manifest.mjs upsert --slug <slug> --id <id> --producer <agent> \
--outcome completed --paths brief.md --acs AC-1 --attempt <attemptId>
node .ai.local/scripts/manifest.mjs check --slug <slug>
制片人将其收件与它合并——货单是一个完整的文件合并目标,从来不是片段编辑.
SQLite 投影
同一棵树的种子可重建投影 .ai.local/team/ 输入
.ai.local/team/team.db (SQLite, WAL.) (中文(简体) ). 这个 文件保持权威: 数据库是
生成, git- ignored, 并安全删除 。 两人书写接缝(链钩后)
文件写入,以及 manifest.mjs 在印制收据后,管理着5个孩子;a
失败已写入 team-db-errors.log 并且从不失败文件写入 .
node .ai.local/scripts/team-db.mjs init # create/migrate the database
node .ai.local/scripts/team-db.mjs migrate-tasks # create when absent, then write only the delta
node .ai.local/scripts/team-db.mjs sync # full backfill + reconciliation
node .ai.local/scripts/team-db.mjs sync --slug <slug> # the bounded hook-shaped projection
node .ai.local/scripts/team-db.mjs check # schema, fingerprint, integrity
node .ai.local/scripts/team-db.mjs serve # http://127.0.0.1:4178 + dashboard
AI_RULES_TEAM_DB_DISABLE=1 node .ai.local/scripts/team-db.mjs sync # no-op: file-only mode
需要22.13.0+的节点 node:sqlite; 较旧的运行时间只保留一行的文件并退出 0.
migrate-tasks 是单命令路径 : 它在没有时创建数据库并写入
只有三角洲和现有的三角洲, 所以一个新的工作空间和人口稠密的数据库汇合
在一次引用.
team-db.mjs serve 仅绑定回转, 仅读除 POST /api/v1/sync,以及
openAPI 3.1 文档在 /openapi.json细节、环境名称、保留、,
和回滚 : docs/TEAM-DB.md。 。 。 .
生活例外情况: .ai.local/rules/ 财务报告和审定财务报表 .ai.local/conventions.md (单位:千美元)init 不覆没他们。 唯一的例外是选入和散列: update --merge-ai-local 快速转发一个记录在 .ai.local/.template-base.json 仍然匹配, 保留一个编辑后的文件字节- 等同, 并将其统一 diff 转至 .ai.local/.rollback/template-drift/ (从来没有) .md从来没有冲突标记。 平面 update 只打印一行漂移并记录已经持有已运出模板的文件;您自己的字节永远不会成为基准. 重叠不装入 .ai.local/team/** 作为规则;见 docs/LOCAL-OVERLAY.md。 。 。 .
clean <tool> 只删除工具根下的 CLI 管理路径 。 没错 没有 擦干净 .cursor/ 编号 : .claude/ 树,它 永远 删除 .ai.local/根 AGENTS.md 仅当没有其他工具安装后,才会删除.
马维斯从不写 ~/.minimax/**。OpenCode 从未写 ~/.config/opencode/**。指南: docs/MAVIS.md, (中文(简体) ), docs/OPENCODE.md。 。 。 .
共享对每个工具
共享 : 堆栈语义, root AGENTS.md, (中文(简体) ), .ai.local/ 重叠, /task 弹出 .ai.local/team/tasks/<slug>/ (一个) status.json 编号 : metrics.json) (中文(简体) ).
每个工具 : 链子怎么运行。 光标自动链通过 hooks.json 编号 : subagentStop. Claude、Mavis、OpenCode和ZCode的使用 bash .<tool>/hooks/chain-team-phases.sh 在生产者收据之后(Mavis/OpenCode/ZCode:半自动).
init multi --preset <stack> 安装列出堆栈的每个平台 releasedStacks (所有5个平台的11个堆). 交出五棵树,根 AGENTS.md,以及 .ai.local/team/ 模板,如果你想在克隆中.
update 重新安装每个工具: <tool>/.ai-rules-install.json 已经存在,使用 preset 字段 init 写(platform + 键 preset) (中文(简体) ). 斜线命令 /update 运行CLI。 没有列表的工具未安装,所记录的预设保留为存储 。 要切换预设, 运行 init <tool> --preset <name>。 。 。 .
在会话启动( Cursor and Claude hooks; Mavis, OpenCode, 和ZCode 在第一个回复中) 预设比较录入的 packageVersion 与最新的 @bonesofspring/ai-rules 释放。 当新版本存在时,回复会打开一个二级标题和块引文来命名已安装的版本,最新版本,以及 /update。该块不包含任务答案. /update 然后说更新成功完成, 或者它没有, 不引用退出代码.
堆栈
next • 妇女 nuxt • 妇女 svelte • 妇女 mol • 妇女 ios-swift • 妇女 android-kotlin • 妇女 go • 妇女 java • 妇女 mcp-ts • 妇女 php-hexagonal • 妇女 php-laravel
npx @bonesofspring/ai-rules init multi --preset nuxt
npx @bonesofspring/ai-rules init multi --preset mol
帮助 : ai-rules --help。 。 。 .
技能说明: write-adr (除无) mcp-ts(三); spec-authoring 编号 : /spec-start· ; mockup-review 财务报告和审定财务报表 ux-design 在用户界面堆栈上; figma-fidelity (实施后), next(三); react-performance (下个), vue-performance (纳克特语), svelte-performance (丝绒). 这个 mol 堆栈( r)$mol 反应性微模UI)载出一发电池-一发体- mol-app-core, (中文(简体) ), mol-reactivity, (中文(简体) ), mol-view-tree, (中文(简体) ), mol-components 总是.., mol-state 编号 : mol-build 编号 : mol-testing 编号 : mol-theming 需要时.
产品规格和 OpenSpec
docs/specs/** ——通过下列途径消耗(默认)、生成或拖带: task-analyst + 技能 spec-authoring空 docs/specs/ 在此之前 init 跳过种子:删除文件夹并重点.
openspec/** 是代理拥有的一棵单独的树 openspec-author (所有堆栈除外) mcp-ts) (中文(简体) ). 无法替代 docs/specs/。 。 。 .
可选检查 : yarn check:product-specs [<repo-root>] (WARN)或 (中文(简体) ) --strict。默认的根是寄存器根;没有的树 docs/specs/domains/<domain>/<spec>.md 失败 --strict 而不是通过检查什么. yarn check:product-specs:self-test 声称分析员的三项判决.
防卤化剂
每个安装的预设舰都要求 anti-hallucination-contract (并不总是总是). 作家角色——执行者、单位测试、e2e、qa和 code-reviewer 还要装上那堆地板干. yarn check:preset-structure 如果一个角色或技能约束被删除,则失败。 注册一个新的技能家庭 SKILL_CONTRACT_CLASS (单位:千美元)writer 或者说 reader) (中文(简体) ). 细节 : docs/PRESET-CONTRIBUTION.md。 。 。 .
捐款
- 层 :
presets/_shared/README.md - 指南 :
docs/PRESET-CONTRIBUTION.md - 重叠 :
docs/LOCAL-OVERLAY.md - MCP 设置 :
docs/MCP-SETUP.md - 狗粮:
scripts/sync-dogfood-cursor.sh, (中文(简体) ),scripts/sync-dogfood-claude.sh, (中文(简体) ),scripts/sync-dogfood-mavis.sh, (中文(简体) ),scripts/sync-dogfood-opencode.sh——种子.ai.local/team,保存弹片 - 盖茨:
yarn check:preset-structure
_shared 不能安装 --preset。 。 。 .
麻省理工学院.