# codet-pi-init

给 Pi Coding Agent 加一个 `/init` 命令：扫描任意**编码项目**，生成 AI 编程助手规范文件 `AGENTS.md`，让 AI 严格遵循项目约定，减少无效沟通。

**Pi-native 形态**：`/init` 主体是 Skill（`skills/pi-init/SKILL.md`），由模型用 bash/read/write 扫描项目并写 `AGENTS.md`——逻辑活在文本资产里。一个薄扩展把 `/init` 桥接到 `/skill:pi-init`（因为 Pi 的 Skill 命令固定是 `/skill:` 前缀）。`/init --template` 用模板占位符确定性生成，不调模型，作离线兜底。

## 安装

```bash
# 本地路径（开发中）
pi install ./codet-pi-init

# npm（发布后）
pi install npm:codet-pi-init

# 作为 CLI 使用（无需 Pi）
npm install -g codet-pi-init
```

> 使用 Skill 路径需在 `settings.json` 设 `"enableSkillCommands": true`（Pi 的 Skill 命令需开启）。

## 使用

### 在 Pi 中

```bash
cd my-project
pi
/init                   # 走 Skill：模型扫描项目并生成 AGENTS.md
/init --template        # 用模板打底，再让模型完善 AGENTS.md
/init --template my.md  # 用自定义模板
/init --force           # 覆盖已存在
/init-check             # 检查已有规范文件质量
```

### 作为 CLI（无需 Pi）

```bash
codet-pi-init            # 生成 AGENTS.md（确定性，用内置模板）
codet-pi-init --template my.md   # 用自定义模板
codet-pi-init --check    # 质量检查
codet-pi-init --print    # 打印不写文件
```

## 自定义模板

`--template` 支持 `{{占位符}}`，由扫描结果填充。内置模板见 `templates/agents-md.tpl`，复制一份改文本即可，**不需要改代码**。

可用占位符：`{{PROJECT_NAME}}` `{{LANGUAGE}}` `{{FRAMEWORK}}` `{{PACKAGE_MANAGER}}` `{{INSTALL_CMD}}` `{{TECH_SUMMARY}}` `{{STRUCTURE}}` `{{SCRIPTS_TABLE}}` `{{CONFIGS}}` `{{GITIGNORE}}` `{{NEVER_RULES}}` `{{DATE}}`

## 参数

| 参数          | 缩写 | 说明                              |
|---------------|------|-----------------------------------|
| `--force`     | `-f` | 强制覆盖已存在文件                |
| `--output`    | `-o` | 自定义输出文件名                  |
| `--files`     | `-F` | 输出文件列表（默认 `AGENTS.md`）  |
| `--template`  |      | 用模板打底再让模型完善；可跟自定义路径|
| `--dry-run`   | `-d` | 只输出 LLM 提示词，不写文件       |

## 许可

MIT License