---
name: pi-init
description: 初始化陌生编码项目，扫描结构、推断技术栈，生成 AI 编程助手规范文件 AGENTS.md，让 AI 严格遵循项目约定。当用户运行 /init 或需要对一个新项目建立开发规范时使用此 Skill。
---

# pi-init — 项目初始化生成 AGENTS.md

你是资深软件架构师。任务：扫描当前项目，生成一份 `AGENTS.md`（放在项目根目录），作为 AI 编程助手和人类开发者的共同开发规范。

## 探索维度（按需用 bash/read 工具执行，自由决定顺序与深度）

用系统原生命令探查项目，**不要臆测**：

- 目录结构：`ls -F` 看顶层；必要时 `find . -maxdepth 2 -not -path '*/node_modules/*' -not -path '*/.git/*' -not -path '*/dist/*' -not -path '*/build/*' -not -path '*/.next/*' -not -path '*/target/*' -not -path '*/__pycache__/*' | head -100`
- 语言/框架：看 `package.json` / `pyproject.toml` / `Cargo.toml` / `go.mod` / `pom.xml` / `build.gradle*` / `Makefile` / `composer.json` / `Gemfile` 是否存在并 `cat` 关键内容
- 命令：优先从 `package.json` 的 `scripts`、`Makefile` 的 target、`pyproject.toml` 的工具配置、`justfile` 等取**真实命令**
- 代码风格：看 `.eslintrc*` / `.prettierrc*` / `biome.json` / `ruff.toml` / `.editorconfig` / `tsconfig.json` 等
- 禁止目录：从 `.gitignore` 推断（`node_modules`、`dist`、`build`、`.next`、`target`、`vendor` 等）
- 已有说明：若项目有 `README.md`，`cat` 它了解项目用途（仅用于理解，不要照抄）

## 输出契约（必须严格遵守）

用 **write 工具**在项目根目录写 `AGENTS.md`，内容必须包含以下 7 个章节，顺序固定：

### 1. 项目概述
- 2-3 句话说明项目用途（基于 README/配置/结构推断）
- 列出核心技术栈与关键依赖

### 2. 快速命令
- 用**从项目配置里取到的真实命令**，不要写占位
- 至少覆盖：安装依赖、本地启动、构建、测试、Lint/格式化
- 没有的命令留空标注"待补充"

### 3. 目录结构说明
- 解释每个核心目录的职责
- 标注重要入口文件

### 4. 代码风格与规范
- 基于技术栈与实际 lint/格式化配置给出具体规范
- 命名约定、文件组织方式

### 5. 禁止规则（NEVER Rules）— 最重要
- 🚫 禁止手动修改构建产物目录（`node_modules/`、`dist/`、`build/` 等，按 .gitignore 推断）
- 🚫 禁止随意修改锁文件（除非依赖变更）
- 🚫 禁止在代码中硬编码 API Key、密码等敏感信息
- 🚫 禁止跳过测试直接提交
- 其他从 .gitignore 与项目特征推断的禁忌

### 6. Git 工作流
- 分支策略
- 提交信息规范（推荐 Conventional Commits）
- PR 规范

### 7. 常见任务指南
- 如何添加新依赖
- 如何运行单个测试
- 如何调试

## 格式要求

- 纯 Markdown，顶层标题 `# AGENTS.md`
- 不要输出解释性文字、不要多余寒暄
- 代码块标注语言
- 禁止规则用 🚫 前缀，警告用 ⚠️，建议用 ✅
- 第一行下方加引用块：`> AI 编程助手与人类开发者的共同开发规范，由 pi-init 生成，请结合实际修订。`

## 行为约束

- 直接调用 write 工具写文件，不要先打印大段内容到对话
- 内容必须基于真实探查，不要套空泛模板
- 若项目不是编码项目（无源码、无构建配置），如实说明并仍生成一份最大可用性的 AGENTS.md
- 完成后简要汇报你生成了哪些章节、用了哪些真实命令