---
name: harness-start
description: Entry point for new users — guides through initialization, architecture review, and cleanup. Use when the user first opens this project or says "开始" / "初始化" / "怎么用".
---

# Harness Start

你是刚打开这个模板的人。无论你手头是**空项目**还是**做到一半的项目**，四步走完即可就位。

## Step 1：初始化

直接说：

```
帮我初始化 Harness
```

AI 会自动执行 `harness-init` 全流程：检测技术栈 → 填写 CLAUDE.md → 发现 Skill 路由 → 检查 Hook → 安装 LSP → 健康检查。

> 如果已经在 CLAUDE.md 里填过内容，AI 不会覆盖你写好的部分。

## Step 2：整体看一下架构

初始化完成后，说：

```
帮我梳理一下当前项目架构
```

AI 会遍历项目文件，输出一份架构概览——目录结构、模块关系、入口文件都在哪里。这一步让你（也让 AI）对项目全貌建立共识，后续改动才有上下文。

## Step 3：第一性原理清洗

初始化完成后，AI 已经知道了你的项目是什么。现在基于**项目的第一性原理**（项目本质、技术栈、核心目标），反向检查 CLAUDE.md 和项目目录里有没有**不属于这里的东西**。

### 清洗范围

| 维度 | 检查什么 | 示例 |
|------|----------|------|
| 🧠 **CLAUDE.md 规则** | 每条规则是否与项目相关？ | 个人博客不需要 `tech-review` 引用 |
| 📁 **项目目录** | 模板文件是否仍残留？ | `scripts/gc-scan.mjs` 对于简单项目可能多余 |
| 🛠️ **技术栈对齐** | CLAUDE.md 中提到的技术是否项目在用？ | 纯 Python 项目不应引用 TypeScript |
| 🎯 **目标对齐** | 规则是否服务于项目目标？ | 博客项目不需要 CI 检查 |

### 执行规范

1. **每条建议必须说明理由**，不得只说"删除"不说"为什么"
2. **必须等用户确认**，用户点头才能改
3. **用户拒绝的要尊重**，不能追问"确定吗"
4. **一轮最多提 5 条**，避免轰炸用户

### 输出格式

```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔍 第一性原理清洗
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

根据初始化时获取的信息：
  项目类型：{检测到的项目类型}
  技术栈：{检测到的技术栈}
  核心目标：{用户告知的项目目标}

─────────────────────────────────────
清洗建议（共 N 项）：

[1/N] CLAUDE.md · {文件位置}
  现状：{当前内容}
  理由：{为什么不符合项目第一性原理}
  建议：{具体修改操作}
  确认？(y/n) →

[2/N] 项目目录 · {文件/目录路径}
  现状：{当前内容}
  理由：{为什么可以删除或修改}
  建议：{具体操作}
  确认？(y/n) →

...

─────────────────────────────────────
所有建议处理完毕，进入下一步验收。
```

> **提醒**：CLAUDE.md 的**行为准则部分**（Karpathy 6 条）是通用原则，对所有项目都有价值，不建议裁剪。重点关注的是"进阶特性"和"具体技术引用"。

---

## Step 4：验收 — 检查是否就位

四步执行完毕时，AI **必须**执行以下验收检查并输出结果。不得以"做完了"笼统收尾。

### 检查项

| # | 检查项 | 自动/手动 | 证据来源 |
|---|--------|----------|---------|
| 1 | CLAUDE.md 无占位符 | 自动 | `grep '【待填写】' CLAUDE.md` → 0 匹配 |
| 2 | 第一性原理清洗完成 | 手动确认 | Step 3 逐条确认记录完整 |
| 3 | 3 个核心 Hook 已注册 | 自动 | `.claude/settings.json` 中 PreToolUse/SessionStart/Stop 齐全 |
| 4 | LSP 可用 | 自动 | 检查 language server 安装状态 |
| 5 | 健康检查通过 | 自动 | `node scripts/check.mjs` 输出全绿 |
| 6 | 项目能正常运行 | 手动确认 | 根据项目类型执行对应的 run 命令 |

### 验收输出格式

```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ 初始化验收报告
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[#1] ✔ CLAUDE.md 已填写 — 无【待填写】占位符
[#2] ✔ 第一性原理清洗完成 — N 项建议已处理
[#3] ✔ 3 个核心 Hook 已注册 — PreToolUse / SessionStart / Stop
[#4] ✔ LSP 可用 — {language-server}
[#5] ✔ 健康检查通过 — node scripts/check.mjs → 全绿
[#6] ✔ 项目可运行 — {run command} → exit 0

─────────────────────────────────────
结论：全部通过 ✅  项目已就位
─────────────────────────────────────
```

含 ✘ 的项不处理完毕，四步流程不算结束。

---

## 做完四步之后

你的项目就脱离模板状态了。之后正常开发即可——每次会话 AI 会自动加载 git 状态、审查记录和 Loop 状态。

> 下次打开新项目时，AI 会重新执行以上四步流程，根据新项目的"第一性原理"重新清洗。

> 关于 tech-review：Harness Starter 内置了**技术方案审查**能力。当你在开发中要求 AI 实现某个技术方案时，AI 会自动审查该方案在当前行业是否仍然是最佳实践。详见 `.claude/skills/tech-review/SKILL.md`。
