Prompt AGENTS.md @piex-dev/init

init — 一键写出项目的 AGENTS.md

导语

/init 不发明新协议:把「扫仓库 → 写规则」收成一条可重复的 prompt,让每个新项目第一步就能建好 agent 约定。

简介

Agent 进仓库第一件事本该是读项目规则,现实里常是没规则、规则过时、迁移成本高、入口不统一。没有高信号规则,agent 容易猜错测试命令、改错包边界、重复踩环境坑。@piex-dev/init 收成:pi install 一次,之后 /init 即可。

技术原理

pi 只加载规则不生成规则:内核从 ~/.pi/agent 与 cwd 向上发现 AGENTS.md/CLAUDE.md 注入 system prompt,但内置 slash 没有 /initPrompt template = 零代码 slash 命令prompts/init.md 文件名即命令名,支持 $ARGUMENTS,pi 展开为完整 user message 交给当前会话模型。

价值在调查清单不在模板长度:好的 init prompt 规定三件事——先读什么、提取什么、写什么/不写什么。可执行源(package.json scripts、CI、lockfile)优先于散文 README;已有规则就地改进不盲目覆盖。

使用说明

安装

bash
pi install npm:@piex-dev/init

仓库源码:prompts/init

用法

bash
/init           # 扫描当前仓库并生成/改进 AGENTS.md
/init <说明>    # 带额外说明

写完提示 /reload 使当前会话生效。

配置

纯 prompt 包,无 TypeScript、无 peer 依赖、无运行时代码。package.json 声明 "pi": { "prompts": ["./init.md"] }prompts/init.md 即命令本体。

实现方案

本包是纯 prompt 包,无 extensions/、无 peer 依赖。

tree
prompts/init/
├── package.json          # "pi": { "prompts": ["./init.md"] }
├── README.md
└── init.md

init.md 要求:优先读 README/manifest/构建测试 CI/既有 instruction/.pi/settings.json;只保留 agent 容易猜错的高信号事实;仓库答不上的才向用户提问;写到项目根 AGENTS.md,写完提示 /reload。刻意不做:全局 ~/.pi/agent/AGENTS.md 自动写入、交互菜单、extension 包装。

设计参考

项目机制piex 取舍
OpenCode /init内置 slash,模板注入会话;可问 question;就地改进 AGENTS.md采纳调查清单、写作规则、$ARGUMENTS、in-place 改进。不采纳内核内置、专用配置引用;改为 pi prompts/
oh-my-pi多 provider 发现/加载规则;无生成 /init不重复加载层(pi 已 walk-up)。借鉴「规则文件是一等上下文」,补齐生成侧
pi 原生loadProjectContextFiles 只读;prompts/*.md 可作 slash直接建立在 prompt template 上,零运行时、随 pi 升级

结论:生成逻辑应是「可分发的 prompt」,不是第二个 agent 内核功能。

迭代记录

路线图

现状影响怎么补
单文件 prompt,依赖模型自觉按清单调研无结构化校验生成质量可选 thin extension 注入绝对路径与「已存在则提示 update」
复杂 monorepo 可能漏包级命令;写完需手动 /reload生成后自检 checklist(是否含 test/lint 命令);支持 /init global 写用户级规则
规则无法随会话沉淀与 learning 类扩展衔接(会话中沉淀规则再 merge 进 AGENTS.md)

版本记录

版本日期变更
0.1.02026-07-19初始版本:纯 prompt 包(pi.prompts),/init 扫描仓库生成/改进 AGENTS.md;调查清单(README/manifest/CI/lockfile 优先于散文);就地改进已有规则不盲目覆盖;写完提示 /reload