PactKit

本页介绍 PactKit 的设计原则,帮助理解工具包的设计理念。

设计原则

PactKit 遵循以下核心原则:

  1. 开闭原则 (OCP) — 通过添加而非修改来扩展。新格式、Agent 或规则通过配置添加,而非修改代码。

  2. 单一数据源 — 每个概念只存在于一个位置。Spec 定义需求,Board 跟踪工作,代码实现行为。

  3. Prompt 优先 — 行为变更优先修改 prompt 再考虑代码变更。通过 prompt 调整 AI 行为,成本更低、更灵活。

  4. 默认条件化 — 所有可选功能(CI/CD、hooks、集成)默认禁用,仅在明确配置时激活。

  5. Spec 即法律 — 当 Spec、测试和代码发生冲突时,Spec 优先。代码适应 Spec,绝不反过来。

组件概览

PactKit 由四种主要组件类型组成:

组件用途数量
Agents具有专业知识的角色化 AI 人格9
CommandsPDCA 工作流剧本11
Skills特定任务的可复用工具10
Rules行为治理模块8

这些组件协同工作实现 PDCA 循环,每个 Agent 负责特定阶段。

PDCA 数据流

用户需求
  → Plan 阶段 → 系统架构师 → Spec + Board 条目
  → Act 阶段  → 高级开发者 → 测试 + 实现
  → Check 阶段 → QA 工程师 → 验证 + 结论
  → Done 阶段 → 仓库维护者 → 提交 + 归档

跨会话状态

PactKit 通过标准 markdown 文件维护跨会话的项目状态:

文件用途
docs/specs/*.md需求和验收标准
docs/product/sprint_board.md当前工作项
docs/product/context.md自动生成的 Sprint 状态快照
docs/architecture/governance/lessons.md累积的项目知识

这些文件是人类可读的,并受版本控制,确保透明性和可审计性。

多格式支持

PactKit 通过格式配置文件部署到多个 AI 工具:

格式目标使用场景
classicClaude Code原生 Claude 集成
opencodeOpenCode原生 OpenCode 集成
pluginClaude Code 插件市场分发

每种格式获得相同的核心功能,并适配目标工具的约定。

贡献

PactKit 是开源的。欢迎以下贡献:

  • Bug 修复和改进
  • 文档增强
  • 新的语言栈配置
  • 集成示例

请通过 GitHub Issues 报告问题或提出功能建议。

目录