# Python Harness 模板

基于 [Learn Harness Engineering](../docs/) 课程最佳实践，为 Python 项目打造的 Claude Code harness 模板。

## 三个层级

| 层级 | 目录 | 适用场景 | 文件数 |
|------|------|----------|--------|
| **核心精简版** | `core/` | 小型脚本、工具、快速原型 | 4 |
| **完整版** | `standard/` | 中型项目、多会话开发 | 9 + `.claude/` |
| **全功能版** | `full/` | 大型项目、团队协作、质量评估 | 13 + `.claude/` 完整生态 |

## 快速开始

```bash
# 1. 复制你需要的层级到新项目
cp -r templates/standard/ /path/to/your-new-project/

# 2. 全局替换占位符
cd /path/to/your-new-project/
grep -r "{{" .   # 查看所有需要替换的占位符

# 3. 替换关键占位符
# {{项目名称}}、{{项目描述}}、{{功能领域}}、{{功能标题}} 等

# 4. 初始化 git 并运行
git init
chmod +x init.sh
./init.sh
```

## 各层级包含的文件

### core/（核心精简版）

```
CLAUDE.md              — 根指令：启动循环、Python 标准、TDD、HiL 协议
feature_list.json      — 功能状态跟踪（行为 + 验证 + 状态三元组）
init.sh                — 标准启动：pip install → pytest → mypy → ruff
claude-progress.md     — 跨会话进度日志
```

### standard/（完整版）= core +

```
session-handoff.md     — 会话交接模板
clean-state-checklist.md — 提交前健康检查清单
docs/ARCHITECTURE.md   — 架构文档模板
.claude/settings.json  — Claude Code 权限配置
.claude/hooks.json     — PreCommit 自动化 hook
```

### full/（全功能版）= standard +

```
quality-document.md    — 按领域/层级的质量评分
evaluator-rubric.md    — 6 维工作质量评分卡
scripts/check-architecture.sh  — 架构约束自动检查
scripts/session-cleanup.sh     — 会话结束自动清理
.claude/commands/check.md      — /check 运行完整验证
.claude/commands/status.md     — /status 查看项目状态
.claude/commands/handoff.md    — /handoff 生成交接文档
.claude/skills/project/SKILL.md — 项目专属技能模板
.claude/hooks.json             — 增强版 hooks（含架构检查 + TDD 提醒）
```

## 核心设计原则

1. **WIP=1**：一次只做一个功能，做完验证后再做下一个
2. **TDD 优先**：先写失败测试，再实现逻辑
3. **验证驱动**：功能完成 = 验证通过 + 证据记录
4. **会话连续性**：每次会话结束前更新 progress 和 feature_list
5. **干净退出**：仓库始终处于可直接 `./init.sh` 继续的状态

## 占位符列表

| 占位符 | 含义 | 示例 |
|--------|------|------|
| `{{项目名称}}` | 项目名 | `meeting` |
| `{{项目描述}}` | 一句话描述 | `多智能体会议系统` |
| `{{项目路径}}` | 仓库根路径 | `/root/projects/meeting` |
| `{{功能领域}}` | 功能所属领域 | `core` / `api` / `cli` |
| `{{功能标题}}` | 功能简短标题 | `创建会议` |
| `{{模块a}}` | 模块目录名 | `models` |
| `{{职责描述}}` | 模块职责 | `数据模型定义` |
| `{{主要工作流描述}}` | 产品工作流 | `用户发起会议 → 选择参与者 → 执行讨论 → 生成报告` |
