@schoolai/shipyard-mcp 0.3.2 → 0.4.0-rc.20260126

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,139 +1,193 @@
1
1
  <div align="center">
2
2
  <img src="apps/web/public/icon.svg" alt="Shipyard Logo" width="120" height="120">
3
3
  <h1>Shipyard</h1>
4
- <p><strong>Verify AI agent work with collaborative review and proof-of-work artifacts</strong></p>
4
+ <p><strong>Ship responsibly.</strong></p>
5
+ <p>Human-agent collaboration with receipts.</p>
5
6
 
6
7
  <p>
7
8
  <a href="https://github.com/SchoolAI/shipyard/actions"><img src="https://img.shields.io/github/actions/workflow/status/SchoolAI/shipyard/deploy.yml?branch=main&label=deploy" alt="Deploy Status"></a>
8
- <img src="https://img.shields.io/badge/TypeScript-5.6-3178C6?logo=typescript&logoColor=white" alt="TypeScript">
9
- <img src="https://img.shields.io/badge/pnpm-10.x-F69220?logo=pnpm&logoColor=white" alt="pnpm">
9
+ <a href="https://www.npmjs.com/package/@schoolai/shipyard-mcp"><img src="https://img.shields.io/npm/v/@schoolai/shipyard-mcp" alt="npm version"></a>
10
10
  <a href="./LICENSE.md"><img src="https://img.shields.io/badge/license-FSL--1.1-blue" alt="License"></a>
11
+ <a href="https://github.com/SchoolAI/shipyard/discussions"><img src="https://img.shields.io/github/discussions/SchoolAI/shipyard" alt="Discussions"></a>
11
12
  </p>
12
13
  </div>
13
14
 
14
15
  ---
15
16
 
17
+ <div align="center">
18
+ <img src="docs/assets/hero-inbox-split.png" alt="Shipyard Inbox with Task Detail" width="800">
19
+ <p><em>Inbox showing tasks needing review with split panel detail view</em></p>
20
+ </div>
21
+
16
22
  ## The Problem
17
23
 
18
- AI agents can generate implementation tasks, but there's no good way to:
19
- - **Verify** the agent actually did what it claimed
20
- - **Review** tasks collaboratively with humans in real-time
21
- - **Provide feedback** that agents can act on
24
+ You're managing multiple AI agents (Claude, Cursor, Devin), but there's no workspace where humans and agents collaborate together:
25
+ - **No verification** Agent says "done" but you have no proof
26
+ - **No collaboration layer** Humans review in GitHub, agents work in chat logs
27
+ - **No feedback loop** You approve work, but the agent never sees it
22
28
 
23
- Shipyard solves this with P2P collaborative review and proof-of-work artifacts.
29
+ Shipyard is the collaboration workspace for mixed human-agent teams. Agents create tasks with proof. Humans review in real-time. Feedback flows both ways.
24
30
 
25
- ## Features
31
+ ## Why Shipyard
26
32
 
27
- - **Real-time collaboration** — Multiple reviewers sync via WebRTC, no server required
28
- - **Proof-of-work artifacts** — Screenshots, videos, test results stored in GitHub
29
- - **MCP integration** — Works with Claude Code, Cursor, and any MCP-compatible agent
30
- - **Zero infrastructure** — GitHub Pages + local MCP server, no paid services
31
- - **BlockNote editor** — Notion-like editing with inline comments and threads
32
- - **Offline-first** — IndexedDB persistence, works without network
33
+ - **Human-agent collaboration** — The first workspace designed for mixed teams. Humans and AI agents work together with structured feedback loops.
34
+ - **Built for mixed teams** — Not a human tool with AI bolted on, or an AI tool ignoring humans. Designed for how agents and humans actually work together.
35
+ - **Receipts, not promises** — Screenshots, videos, and test results. Not just chat logs claiming work was done.
36
+ - **Zero infrastructure** — Works completely locally. GitHub optional for remote artifact sharing. No paid services, no servers to maintain.
37
+ - **Real-time P2P** — Multiple agents and reviewers sync via WebRTC. Works offline, no central server required.
33
38
 
34
- ## Platform Support
35
-
36
- | Platform | Status | Installation | Notes |
37
- |----------|--------|--------------|-------|
38
- | **Claude Code** | ✅ Full support | GitHub plugin | Complete integration with hooks + skills |
39
- | **OpenCode** | ⚠️ Experimental | npm + config | Native plan mode, testing in progress |
40
- | **Cursor** | ⚠️ MCP only | npm + config | Works via MCP tools, manual workflow |
41
- | **Windsurf** | ⚠️ MCP only | npm + config | Works via MCP tools, testing needed |
42
- | **Devin** | ⚠️ MCP only | npm + config | API-only mode has limitations |
43
- | **Replit Agent** | ⚠️ MCP only | npm + config | Basic functionality |
44
- | **GitHub Copilot** | ⚠️ MCP only | npm + config | Basic functionality |
45
- | **Gemini Code Assist** | ⚠️ MCP only | npm + config | Basic functionality |
46
- | **Codex (OpenAI)** | ❓ Research needed | TBD | Feature completeness assessment in progress |
47
-
48
- **Key:** Only Claude Code provides the full experience with automatic plan creation and approval workflows. Other platforms work via manual MCP tool invocation.
39
+ ## Get Started
49
40
 
50
- See [Platform Compatibility Matrix](./docs/INSTALLATION.md#platform-compatibility-matrix) for detailed feature comparison.
41
+ Shipyard is just an MCP server. One command or a simple JSON config—works with all major AI coding tools.
51
42
 
52
- ## Installation
43
+ **Prerequisite:** Node.js 22+ ([download](https://nodejs.org/))
53
44
 
54
- ### For Claude Code Users
45
+ ### Claude Code (Recommended)
55
46
 
56
- Install the complete Shipyard plugin (MCP server + hooks + skills):
47
+ Full experience with hooks, skills, and auto-task creation:
57
48
 
58
49
  ```bash
59
50
  # Step 1: Add the marketplace
60
- /plugin marketplace add SchoolAI/shipyard
51
+ /plugin marketplace add https://github.com/SchoolAI/shipyard.git
61
52
 
62
53
  # Step 2: Install the plugin
63
54
  /plugin install shipyard@schoolai-shipyard
64
55
  ```
65
56
 
66
- > **Note:** Claude Code requires adding a marketplace before installing plugins from it. This is intentional design (similar to app stores).
57
+ ### Cursor
67
58
 
68
- **Enable auto-updates:** After installing, run `/plugin` → Marketplaces tab → select `schoolai-shipyard` → "Enable auto-update" to receive updates automatically.
59
+ Add to `~/.cursor/mcp.json`:
69
60
 
70
- <details>
71
- <summary>Troubleshooting: If Step 1 fails with a cache error</summary>
61
+ ```json
62
+ {
63
+ "mcpServers": {
64
+ "shipyard": {
65
+ "command": "npx",
66
+ "args": ["-y", "-p", "@schoolai/shipyard-mcp@latest", "mcp-server-shipyard"]
67
+ }
68
+ }
69
+ }
70
+ ```
71
+
72
+ ### Codex (OpenAI)
72
73
 
73
- There's a known Claude Code bug (#14696) with case-sensitive GitHub org names. Try the full git URL instead:
74
+ Add via CLI:
74
75
 
75
76
  ```bash
76
- /plugin marketplace add https://github.com/SchoolAI/shipyard.git
77
+ codex mcp add shipyard -- npx -y -p @schoolai/shipyard-mcp@latest mcp-server-shipyard
77
78
  ```
78
79
 
79
- If that stalls, start a fresh Claude Code session and try again.
80
- </details>
81
-
82
- This gives you:
83
- - ✅ MCP tools for creating and managing plans
84
- - ✅ Automatic hooks for plan creation workflow
85
- - ✅ Skills for collaborative planning
80
+ Or add to `~/.codex/config.toml`:
86
81
 
87
- ### For Other Platforms (Cursor, Windsurf, Replit, etc.)
82
+ ```toml
83
+ [mcp_servers.shipyard]
84
+ command = "npx"
85
+ args = ["-y", "-p", "@schoolai/shipyard-mcp@latest", "mcp-server-shipyard"]
86
+ ```
88
87
 
89
- Install the MCP server via npm:
88
+ ### VS Code / GitHub Copilot
90
89
 
91
90
  ```bash
92
- npx -y -p @schoolai/shipyard-mcp mcp-server-shipyard
91
+ code --add-mcp '{"name":"shipyard","command":"npx","args":["-y","-p","@schoolai/shipyard-mcp@latest","mcp-server-shipyard"]}'
93
92
  ```
94
93
 
95
- Then configure in your platform's MCP settings:
94
+ <details>
95
+ <summary><strong>See all platforms (Claude Desktop, Windsurf, JetBrains, Zed, etc.)</strong></summary>
96
+
97
+ ### Claude Desktop
98
+
99
+ Add to your config file:
100
+ - macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
101
+ - Windows: `%APPDATA%\Claude\claude_desktop_config.json`
102
+ - Linux: `~/.config/claude/claude_desktop_config.json`
96
103
 
97
- **Cursor** (`~/.cursor/mcp.json`):
98
104
  ```json
99
105
  {
100
106
  "mcpServers": {
101
107
  "shipyard": {
102
108
  "command": "npx",
103
- "args": ["-y", "-p", "@schoolai/shipyard-mcp", "mcp-server-shipyard"]
109
+ "args": ["-y", "-p", "@schoolai/shipyard-mcp@latest", "mcp-server-shipyard"]
104
110
  }
105
111
  }
106
112
  }
107
113
  ```
108
114
 
109
- **Windsurf** (`~/.windsurf/settings.json`):
115
+ ### Windsurf
116
+
117
+ Add to `~/.codeium/windsurf/mcp_config.json`:
118
+
110
119
  ```json
111
120
  {
112
- "mcp.servers": {
121
+ "mcpServers": {
113
122
  "shipyard": {
114
- "command": "npx -y -p @schoolai/shipyard-mcp mcp-server-shipyard"
123
+ "command": "npx",
124
+ "args": ["-y", "-p", "@schoolai/shipyard-mcp@latest", "mcp-server-shipyard"]
115
125
  }
116
126
  }
117
127
  }
118
128
  ```
119
129
 
120
- See **[docs/INSTALLATION.md](./docs/INSTALLATION.md)** for comprehensive platform-specific guides.
130
+ ### JetBrains IDEs
121
131
 
122
- ### For Development
132
+ 1. Settings > Tools > AI Assistant > Model Context Protocol (MCP)
133
+ 2. Click "Add"
134
+ 3. Paste JSON config above
123
135
 
124
- ```bash
125
- # Clone and install
126
- git clone https://github.com/SchoolAI/shipyard.git
127
- cd shipyard
128
- pnpm install
136
+ ### Zed
137
+
138
+ Add to `~/.config/zed/settings.json`:
129
139
 
130
- # Start all services
131
- pnpm dev:all
140
+ ```json
141
+ {
142
+ "context_servers": {
143
+ "shipyard": {
144
+ "command": {
145
+ "path": "npx",
146
+ "args": ["-y", "-p", "@schoolai/shipyard-mcp@latest", "mcp-server-shipyard"]
147
+ }
148
+ }
149
+ }
150
+ }
132
151
  ```
133
152
 
134
- **Important:** Do NOT install the `shipyard` plugin if you're developing this repo. The plugin is for end users only. Local hooks/skills/MCP are always used from the project directory.
153
+ ### Continue.dev
135
154
 
136
- See **[SETUP.md](./docs/SETUP.md)** for full development setup.
155
+ Create `.continue/mcpServers/shipyard.yaml`:
156
+
157
+ ```yaml
158
+ mcpServers:
159
+ - name: Shipyard
160
+ command: npx
161
+ args: ["-y", "-p", "@schoolai/shipyard-mcp@latest", "mcp-server-shipyard"]
162
+ ```
163
+
164
+ </details>
165
+
166
+ **[Full installation guide with troubleshooting →](./docs/INSTALLATION.md)**
167
+
168
+ ## Platform Support
169
+
170
+ | Platform | Experience |
171
+ |----------|-----------|
172
+ | **Claude Code** | Full integration — hooks, skills, MCP tools, auto-task creation |
173
+ | **Codex, VS Code, Cursor, Windsurf** | MCP tools — manual workflow, full functionality |
174
+ | **Other MCP clients** | Basic — depends on platform capabilities |
175
+
176
+ **[See detailed compatibility matrix →](./docs/INSTALLATION.md#feature-comparison)**
177
+
178
+ <details>
179
+ <summary><strong>Using Shipyard skills on other platforms</strong></summary>
180
+
181
+ Shipyard includes a skill (`skills/shipyard/SKILL.md`) that teaches Claude Code how to use the MCP tools effectively. Other platforms can use this same instruction content through their native mechanisms:
182
+
183
+ - **VS Code / Copilot**: Copy to `.github/skills/shipyard/` (Agent Skills preview)
184
+ - **Cursor**: Create `.cursor/rules/shipyard.mdc` with skill content
185
+ - **Windsurf**: Create `.windsurf/workflows/shipyard-task.md`
186
+ - **JetBrains**: Add to `.junie/guidelines.md`
187
+
188
+ See [skills/shipyard/README.md](./skills/shipyard/README.md) for platform-specific instructions.
189
+
190
+ </details>
137
191
 
138
192
  ## How It Works
139
193
 
@@ -150,60 +204,101 @@ See **[SETUP.md](./docs/SETUP.md)** for full development setup.
150
204
  └─────────────────┘ └─────────────────┘
151
205
  ```
152
206
 
153
- 1. Agent creates a task via MCP tool → Browser opens automatically
154
- 2. Reviewers join via shared URL → Real-time P2P sync
155
- 3. Add comments, approve, or request changes → Agent sees feedback
156
- 4. Agent uploads artifacts (screenshots, etc.) → Stored in GitHub
207
+ 1. **Agent creates task** via MCP tool → Browser opens automatically
208
+ 2. **Reviewers join** via shared URL → Real-time P2P sync
209
+ 3. **Add comments**, approve, or request changes → Agent sees feedback
210
+ 4. **Agent uploads artifacts** (screenshots, videos) → Stored in GitHub
211
+ 5. **Task auto-completes** when all deliverables have receipts (screenshots, videos, test results)
212
+
213
+ ## Features
214
+
215
+ - **BlockNote editor** — Notion-like editing with inline comments and threads
216
+ - **Kanban board** — Drag-drop tasks between Draft, Review, In Progress, Done
217
+ - **GitHub artifacts** — Screenshots, videos, test results stored in your repo
218
+ - **Offline-first** — IndexedDB persistence, works without network
219
+ - **Multi-agent** — Multiple Claude Code/Cursor instances can work on same task
220
+
221
+ <details>
222
+ <summary><strong>See more screenshots</strong></summary>
157
223
 
158
- ## Packages
224
+ ### Kanban Board
225
+ <img src="docs/assets/board-view.png" alt="Kanban board with drag-drop columns" width="600">
159
226
 
160
- | Package | Description |
161
- |---------|-------------|
162
- | [`@shipyard/server`](./apps/server) | MCP server with task tools |
163
- | [`@shipyard/web`](./apps/web) | React app with BlockNote editor |
164
- | [`@shipyard/schema`](./packages/schema) | Shared types, Yjs helpers, URL encoding |
165
- | [`@shipyard/signaling`](./apps/signaling) | WebRTC signaling server (Cloudflare Worker) |
166
- | [`@shipyard/hook`](./apps/hook) | Claude Code hooks for auto-task creation |
227
+ ### Full Task Detail
228
+ <img src="docs/assets/task-detail-full.png" alt="Task with deliverables and content" width="600">
229
+
230
+ </details>
231
+
232
+ ## Data & Privacy
233
+
234
+ | Data | Where It Lives | Control |
235
+ |------|---------------|---------|
236
+ | Task content | Browser (IndexedDB) + P2P sync | You own it |
237
+ | Artifacts (local) | `~/.shipyard/artifacts/` served via localhost | You own it |
238
+ | Artifacts (shared) | Optional: GitHub (your repo, orphan branch) | You own it |
239
+ | MCP server | Runs locally | Never leaves your machine |
240
+ | URLs | Encoded snapshots | Shareable, regenerable |
241
+
242
+ **No telemetry. No cloud storage. GitHub optional.**
243
+
244
+ Works completely locally. Add GitHub only if you need remote reviewers to access artifacts.
167
245
 
168
246
  ## Documentation
169
247
 
170
248
  | Doc | Description |
171
249
  |-----|-------------|
172
- | [SETUP.md](./docs/SETUP.md) | Installation, configuration, troubleshooting |
173
- | [BRIEF.md](./docs/BRIEF.md) | 30-second project context |
174
- | [architecture.md](./docs/architecture.md) | Data model, sync topology, tech choices |
175
- | [milestones/](./docs/milestones/) | Implementation phases and progress |
250
+ | **[Installation](./docs/INSTALLATION.md)** | Platform-specific setup guides |
251
+ | **[Setup](./docs/SETUP.md)** | Development setup, troubleshooting |
252
+ | **[Architecture](./docs/architecture.md)** | Data model, sync topology, tech choices |
253
+ | **[Brief](./docs/BRIEF.md)** | 30-second project context |
176
254
 
177
- ## Why "Shipyard"?
255
+ ## Architecture
178
256
 
179
- The name captures two ideas:
180
- 1. **Workspace metaphor** — A shipyard is where work is built
181
- 2. **Dev culture** — "Shipping" is how developers talk about delivering value
257
+ Shipyard is a monorepo with multiple components:
182
258
 
183
- The Penrose triangle logo represents the "impossible triangle" of AI development: **quality**, **speed**, and **low effort**. Traditionally you sacrifice one. Shipyard enables all three through collaborative verification loops.
259
+ | Component | Description |
260
+ |-----------|-------------|
261
+ | [**MCP Server**](./apps/server) | 12 tools for task creation, artifacts, feedback |
262
+ | [**Web App**](./apps/web) | React + BlockNote editor with Kanban board |
263
+ | [**Schema**](./packages/schema) | Shared Yjs CRDT types and URL encoding |
264
+ | [**WebRTC Signaling**](./apps/signaling) | P2P discovery (Cloudflare Worker) |
265
+ | [**Hooks**](./apps/hook) | Claude Code integration |
184
266
 
185
- > *See [ADR-0005](./docs/decisions/0005-rebrand-peer-plan-to-shipyard.md) for the full naming rationale.*
267
+ **Published package:** [`@schoolai/shipyard-mcp`](https://www.npmjs.com/package/@schoolai/shipyard-mcp) - Includes MCP server + hook
186
268
 
187
- ## Claude Cowork Integration
269
+ ## Community
188
270
 
189
- Use Shipyard with Claude Cowork via the included skill:
271
+ - **[GitHub Discussions](https://github.com/SchoolAI/shipyard/discussions)** Questions, ideas, show & tell
272
+ - **[GitHub Issues](https://github.com/SchoolAI/shipyard/issues)** — Bug reports, feature requests
190
273
 
191
- ```
192
- skills/shipyard/
193
- ├── SKILL.md # Instructions for Claude
194
- ├── README.md # Setup guide
195
- └── examples/ # Usage examples
196
- ```
274
+ ## Contributing
197
275
 
198
- See [skills/shipyard/README.md](./skills/shipyard/README.md) for setup.
276
+ We value **ideas over implementations**. Please start with discussion:
199
277
 
200
- ## Contributing
278
+ ### How to Contribute
201
279
 
202
- We welcome contributions! Please read the codebase first:
280
+ 1. **Bug reports** [Open an issue](https://github.com/SchoolAI/shipyard/issues/new)
281
+ 2. **Feature ideas** — [Start a discussion](https://github.com/SchoolAI/shipyard/discussions/new)
282
+ 3. **Questions** — [Ask in discussions](https://github.com/SchoolAI/shipyard/discussions)
203
283
 
204
- 1. [BRIEF.md](./docs/BRIEF.md) Understand the project
205
- 2. [engineering-standards.md](./docs/engineering-standards.md) — Code quality expectations
206
- 3. [architecture.md](./docs/architecture.md) How it all fits together
284
+ ### Before Submitting Code
285
+
286
+ Open an issue describing what you want to change and get maintainer approval first. This helps us:
287
+ - Ensure changes align with project direction
288
+ - Avoid duplicate efforts
289
+ - Provide design guidance upfront
290
+
291
+ PRs without a linked, approved issue may be closed.
292
+
293
+ ### AI Assistance
294
+
295
+ AI-assisted contributions are welcome. We use AI ourselves. What matters is that **you** understand what you're submitting and can answer questions about it.
296
+
297
+ ### Learn the Codebase
298
+
299
+ 1. **[Brief](./docs/BRIEF.md)** — 30-second project context
300
+ 2. **[Engineering Standards](./docs/engineering-standards.md)** — Code quality expectations
301
+ 3. **[Architecture](./docs/architecture.md)** — How it all fits together
207
302
 
208
303
  ## License
209
304
 
@@ -212,10 +307,4 @@ We welcome contributions! Please read the codebase first:
212
307
  - **Free** for all non-competing use
213
308
  - **Converts to Apache 2.0** automatically in 2 years
214
309
 
215
- We chose this to ensure that all core improvements help grow this main repository while keeping it free for developers.
216
-
217
310
  ---
218
-
219
- <div align="center">
220
- <sub>Built with Yjs, BlockNote, and the MCP protocol</sub>
221
- </div>