feat(req-test-gate): 集成 Harness Engineering 工程约束方法论
将项目级的 Ratchet/约定检测方法论融入 req-test-gate 技能, 通过 /req 流程三个节点自动触发(dev 环境检测、cr 约定建议、test Gate 0B), 无需手动记忆执行。 新增文档:harness-engineering.md、ratchet-pattern.md、convention-flow.md、 project-bootstrap.md 及 4 个模板(ratchet/convention 脚本、GATES.md、pre-commit)。 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
102
skills-req/req-test-gate-plugin/skills/templates/gates-doc.md
Normal file
102
skills-req/req-test-gate-plugin/skills/templates/gates-doc.md
Normal file
@@ -0,0 +1,102 @@
|
||||
# GATES.md Template
|
||||
|
||||
项目质量门禁文档模板。放置于 `docs/quality/GATES.md`。
|
||||
|
||||
## 使用方法
|
||||
|
||||
1. 复制下方模板到项目的 `docs/quality/GATES.md`
|
||||
2. 替换 `{PLACEHOLDER}` 为项目特定值
|
||||
3. 根据项目实际情况增删 Gate
|
||||
|
||||
## 模板
|
||||
|
||||
```markdown
|
||||
# Quality Gates
|
||||
|
||||
Quality gates are automated checks that code must pass before it can be merged or deployed.
|
||||
|
||||
## Gate Overview
|
||||
|
||||
| Gate | Name | Where | What it catches |
|
||||
|------|------|-------|-----------------|
|
||||
| 0 | Pre-commit | Local (husky) | Formatting, lint errors |
|
||||
| 1 | CI Lint | {CI_SYSTEM} | {LINT_TOOLS} |
|
||||
| 2 | Convention & Architecture | {CI_SYSTEM} | New violations of established rules |
|
||||
| 3 | Unit Tests | CI / local | Logic bugs, regressions |
|
||||
| 4 | Security Scan | CI | Dependency vulnerabilities |
|
||||
| 5 | Build | CI | Compilation errors |
|
||||
|
||||
## Gate 0: Pre-commit (Local)
|
||||
|
||||
Runs automatically on every `git commit` via husky + lint-staged.
|
||||
|
||||
{FRONTEND_SECTION — include if applicable}
|
||||
**Frontend** (`{FRONTEND_GLOBS}`):
|
||||
- {LINT_TOOL} with {LINT_FLAGS}
|
||||
- {FORMATTER}
|
||||
|
||||
{BACKEND_SECTION — include if applicable}
|
||||
**Backend** (`{BACKEND_GLOBS}`):
|
||||
- {FORMAT_TOOL} (auto-format)
|
||||
- {ANALYSIS_TOOL} (static analysis)
|
||||
|
||||
**Bypass** (emergency only): `git commit --no-verify`
|
||||
|
||||
## Gate 1: CI Lint
|
||||
|
||||
Runs on pull requests via {CI_SYSTEM}.
|
||||
|
||||
- **Backend**: {BACKEND_LINT_COMMANDS}
|
||||
- **Frontend**: {FRONTEND_LINT_COMMANDS}
|
||||
|
||||
## Gate 2: Convention & Architecture Checks
|
||||
|
||||
Runs on pull requests via {CI_SYSTEM}.
|
||||
|
||||
{LIST_EACH_CHECK_SCRIPT}
|
||||
- `./scripts/check-{name}.sh check` — {description}
|
||||
|
||||
See project CLAUDE.md and docs/architecture/ for rule details.
|
||||
|
||||
## Gates 3-5: Testing, Security, Build
|
||||
|
||||
These gates are enforced via the `/req test` workflow:
|
||||
|
||||
1. **Gate 3**: Unit test generation and execution
|
||||
2. **Gate 4**: Security regression scan
|
||||
3. **Gate 5**: E2E smoke test + final report
|
||||
|
||||
See the dev-test skill documentation for details.
|
||||
|
||||
## Local Commands
|
||||
|
||||
\`\`\`bash
|
||||
# Gate 0: Format & Lint
|
||||
{LOCAL_LINT_COMMANDS}
|
||||
|
||||
# Gate 2: Convention checks
|
||||
{LOCAL_CHECK_COMMANDS}
|
||||
|
||||
# Gate 3: Unit tests
|
||||
{LOCAL_TEST_COMMANDS}
|
||||
\`\`\`
|
||||
```
|
||||
|
||||
## Placeholder 说明
|
||||
|
||||
| Placeholder | 含义 | 示例 |
|
||||
|-------------|------|------|
|
||||
| `{CI_SYSTEM}` | CI 系统名称 | `Gitea Actions`, `GitHub Actions` |
|
||||
| `{LINT_TOOLS}` | lint 工具列表 | `golangci-lint, ESLint, TypeScript errors` |
|
||||
| `{FRONTEND_GLOBS}` | 前端文件 glob | `*.ts, *.tsx`, `*.vue` |
|
||||
| `{BACKEND_GLOBS}` | 后端文件 glob | `*.go` |
|
||||
| `{LINT_TOOL}` | lint 工具 | `ESLint` |
|
||||
| `{LINT_FLAGS}` | lint 参数 | `--fix --max-warnings 0` |
|
||||
| `{FORMATTER}` | 格式化工具 | `Prettier`, `gofmt` |
|
||||
|
||||
## 注意事项
|
||||
|
||||
- **此文档的 Gate 编号是项目级的**(描述项目基础设施层级),与 req-test-gate 技能的 Gate 0-5(需求级测试门禁)是两套独立体系
|
||||
- Gate 0-2 由 harness engineering 方法论管理(pre-commit → CI lint → ratchet/约定检测)
|
||||
- Gate 3-5 由 `/req test` 流程管理(单元测试 → 安全扫描 → 构建验证)
|
||||
- 两者互补,不要混淆编号
|
||||
Reference in New Issue
Block a user