内容
# Shipwright 套件
[](https://github.com/app-vitals/shipwright/releases)
[](./LICENSE)
[](https://www.anthropic.com/claude-code)
[](https://proof.shipwrightharness.com/public/dashboard)
**用于 Claude Code 的开源自主交付代理。** 一个可部署的云代理和为其提供支持的自主编码系统 — 基于 Shipwright 插件,运行在您自己的代码库中。
<p align="center">
<video src="https://github.com/app-vitals/shipwright/raw/main/brand/assets/videos/shipwright-intro.mp4" controls muted width="900"></video>
</p>
<p align="center">
<img src="assets/demo.gif" alt="Shipwright 套件在 Claude Code 终端中:安装,然后规划 → 构建 → 审查 → 交付一个任务端到端。" width="900" />
<br />
<em>规划 → 构建 → 审查 → 交付 — 通过管道完成一个任务。(示意图)</em>
</p>
> **品牌与软件包:** 项目是 **Shipwright 套件**;您安装的插件/软件包是 **`shipwright`**.
## 安装
```text
/plugin install shipwright@app-vitals/shipwright
```
需要 [Claude Code](https://www.anthropic.com/claude-code)。指向您自己的存储库 — Shipwright 与存储库无关。
**将服务部署到 Kubernetes?** `shipwright` Helm 图表已发布到每个图表版本更新的 Helm 存储库中:
```bash
helm repo add shipwright https://app-vitals.github.io/shipwright
helm install my-release shipwright/shipwright --namespace shipwright --create-namespace
```
参见 [`docs/deploy-kubernetes.md`](./docs/deploy-kubernetes.md) 了解端到端部署指南(Minikube / GKE / EKS),以及 [`docs/helm-repo.md`](./docs/helm-repo.md) 了解已发布的存储库流程和发布触发方式。
## 快速入门
您可以在本地 **今天就运行指标仪表盘** — **默认离线**,**无需 PostHog 密钥,无需帐户,无需数据库**。一个复制粘贴提示序列将两个执行上下文(终端 shell + 会话内斜杠命令)串联起来,并打开仪表盘。
在 **Claude Code** 会话中粘贴以下内容:
```text
在本地设置 Shipwright 套件并打开指标仪表盘。
1. 在终端中运行:
git clone https://github.com/app-vitals/shipwright.git && cd shipwright && ./scripts/quickstart.sh
这将检查先决条件,安装依赖项(任务设置),并在离线模式下启动指标仪表盘(无需帐户或机密)。让它运行。
2. 在此 Claude Code 会话中,安装插件:
/plugin install shipwright@app-vitals/shipwright
3. 在浏览器中打开仪表盘:
http://localhost:3460/dashboard
```
步骤 1 在您的 **终端**中运行;步骤 2 是在 **Claude Code 会话**内运行的斜杠命令。仪表盘在 <http://localhost:3460/dashboard> 地址打开。
先决条件:[Claude Code](https://www.anthropic.com/claude-code),[git](https://git-scm.com/downloads),[Bun](https://bun.sh),和 [go-task](https://taskfile.dev/installation/)。完整详细信息,`QUICKSTART_SKIP_SERVE` CI 保护,以及离线默认解释,请参见 [`docs/quickstart.md`](./docs/quickstart.md)。
**完整开发栈**
想要完整的本地栈 — 指标仪表盘,管理 UI,任务存储,以及在 Docker 中运行的 Shipwright 代理?这需要 [tmux](https://github.com/tmux/tmux),[Docker](https://docs.docker.com/get-docker/),和本地 [PostgreSQL](https://www.postgresql.org/) 实例(端口 5432)。在 **Claude Code** 会话中粘贴以下内容:
```text
在本地设置完整的 Shipwright 套件开发栈。
先决条件:tmux,Docker,PostgreSQL 运行在 localhost:5432,Bun,go-task。
1. 在终端中,克隆并设置:
git clone https://github.com/app-vitals/shipwright.git && cd shipwright && task setup
2. 复制环境示例并添加您的身份验证令牌:
cp state/dev-agent.env.example state/dev-agent.env
打开 state/dev-agent.env 并设置以下之一:
CLAUDE_CODE_OAUTH_TOKEN=<您的令牌> (运行:claude /oauth-token)
ANTHROPIC_API_KEY=<您的密钥> (https://console.anthropic.com/ → API 密钥)
3. 启动完整栈(6 窗格 tmux 会话):
task stack
这将打开一个名为“shipwright”的 tmux 会话,包含 6 个窗格:
指标(:3460) 管理(:3001) 任务存储(:3002) 代理(:3000) 聊天 日志
4. 在浏览器中打开仪表盘:
http://localhost:3460/dashboard
5. 在 Claude Code 会话内:
/plugin install shipwright@app-vitals/shipwright
停止:tmux kill-session -t shipwright
```
## 什么是 Shipwright 套件?
两个面孔,一个产品:
- **代理** — 将其部署到您的云(GitHub Actions 或自托管)。它在您的代码库上执行自主编码,达到与人类代码 **相同的审查和测试标准**。
- **系统** — 自主编码系统,基于 Claude Code **`shipwright` 插件**:规划 · 构建 · 审查 · 指标。在 Claude Code 中交互式使用,或让代理自主运行。
它在您的 **环境**中运行,在您的 **代码库**上 — 您拥有它,它是 MIT 许可的,并且它是免费的。
## 它做什么
Shipwright 通过 Claude Code 命令序列将功能想法转化为已交付、审查过的代码 — 每个阶段都生成一个耐用的工件,供下一阶段使用:
- **编写 PRD**,用于您的想法 — 一个结构化的产品规格,适用于 /plan-session。
- **规划** 规格为一个有序的、依赖有序的任务队列(跟踪为 **GitHub 问题** — 队列存在于您的团队已经工作的地点)。
- **执行** 下一个准备好的任务 — 构建、测试并打开一个 PR。
- **审查** PR 并进行策略控制的内联反馈。
- **交付** 合并的更改。
## 为什么是 Shipwright 套件
- **免费和开源(MIT)** — 拥有它的替代闭源、托管的编码代理。无需租用基础设施,无需锁定。
- **在您的环境中运行,在您的云中** — 您的代码从未离开您的控制。
- **与人类代码相同的质量标准** — 测试与代码一起交付,通过五阶段 **测试就绪** 管道控制,确保自主代理值得信赖。
- **您自己的管道上的指标** — 首次质量率、估计准确性和审查裁决趋势,在您的交付上衡量。
- **基于 Claude Code 构建** — 我们每天都在使用它,Shipwright 扩展它而不是取代它。
## 组件
| 组件 | 它做什么 | 状态 |
|---|---|---|
| **插件(系统)** | 您 `/plugin install` 的 `shipwright` 工具链 — 规划、队列式执行、审查、测试就绪管道和部署命令。 | ✅ 可用 |
| **指标仪表盘** | 一个无状态服务,读取管道分析(任务吞吐量、CI 首通率、审查裁决、估计准确性)并渲染仪表盘。可以使用 `task api` 或 `task ui` 在本地运行(离线模式,无需机密)。 | ✅ 可用 |
| **Shipwright 代理** | 一个薄的自主运行器,根据计划驱动系统 — 选择下一个准备好的任务 → 构建 → 交付 PR → 转发指标 — 可部署到 GitHub Actions 或自托管。 | ✅ 可用 |
## 工作流程
```
/shipwright:prd → 产品规格
/shipwright:plan-session → 有序的任务队列
/shipwright:dev-task → 构建 + 测试 + 为下一个准备好的任务打开 PR
/shipwright:review → 策略控制的 PR 审查
/shipwright:patch → 解决审查发现 / 失败的 CI
/shipwright:deploy → 合并 + 部署
```
任务跟踪为 GitHub 问题,因此队列存在于您的团队已经工作的地点。
## 项目状态
**实时查看** — Shipwright 构建自身。[公共指标仪表盘](https://proof.shipwrightharness.com/public/dashboard) 显示此存储库的实时管道数据:首次质量、周期时间、估计准确性和任务吞吐量 — 所有这些都由您正在阅读的同一个代理和插件生成。
Shipwright 套件已上线 — 插件、指标仪表盘和 Shipwright 代理都已随 v0.1.0 一起交付。请参见 [问题](https://github.com/app-vitals/shipwright/issues) 了解实时路线图和即将改进的内容。
指标仪表盘今天可以在本地运行 — [快速入门](#快速入门) 将其封装在一个复制粘贴提示中 (`./scripts/quickstart.sh`)。底层任务:
```bash
task setup # bun install
task api # 在离线模式下启动指标仪表盘 → http://localhost:3460/dashboard
task dev # 开发监督器:启动指标 + Ctrl-C 杀死所有子进程
task stack # 完整开发栈在一个 tmux 会话中(6 窗格)— 需要 tmux
```
`task stack` 启用一个单独的 tmux 会话(`shipwright`),带有 6 窗格仪表盘:**指标**(SQLite,:3460),**管理**(CRUD API + UI,:3001),**任务存储** (:3002),带有启用开发 `/chat` 端点的 **代理** (:3000),**聊天** REPL,和一个用于抓取 **日志** 的 scratch 壳。它首先运行一个 Prisma `migrate deploy` 预飞行检查,以便管理服务的 Postgres 模式是最新的;在 macOS 上,预飞行检查可达性检查 Postgres 并提供运行所需的 `brew`/`createdb` 命令,如果它不可用。`task stack` 需要 `tmux`;如果未安装,请使用 `task dev`(无 tmux 回退,启动指标仪表盘)。
参见 [`docs/quickstart.md`](./docs/quickstart.md) 了解完整的 onboarding 提示和离线默认行为。
## 基于 Claude Code 构建
Shipwright 套件是从头到尾的 [Claude Code](https://www.anthropic.com/claude-code) 插件 — 基于它,为它构建,并每天与它一起使用。如果您已经运行 Claude Code,Shipwright 只需 `/plugin install` 即可。
## 测试系统
Shipwright 在所有三个组件上强制执行四层测试架构(单元/集成/烟雾/端到端)。层边界、每个组件的运行命令、速度预算和测试隔离契约在 [`docs/test-readiness/test-system.md`](./docs/test-readiness/test-system.md) 中定义。
## 配置
所有配置选项 — 插件环境变量、`.shipwright.json` 键、代理环境变量和策略字段 — 都在 [`docs/configuration.md`](./docs/configuration.md) 中记录。
## 贡献
欢迎提出问题和讨论。请参见 [`CONTRIBUTING.md`](./CONTRIBUTING.md) 了解约定和工作流程,以及我们的 [`CODE_OF_CONDUCT.md`](./CODE_OF_CONDUCT.md)。此存储库是 MIT 许可的公开存储库 — 请保持贡献不受任何专有或机密材料的约束。
## 许可证
[MIT](./LICENSE) 2026 App Vitals
连接信息
猜你喜欢
暂无推荐服务器