@schoolai/shipyard-mcp 0.3.2 → 0.4.0

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,189 @@
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
- # Step 1: Add the marketplace
60
- /plugin marketplace add SchoolAI/shipyard
61
-
62
- # Step 2: Install the plugin
63
- /plugin install shipyard@schoolai-shipyard
50
+ /plugin install SchoolAI/shipyard
64
51
  ```
65
52
 
66
- > **Note:** Claude Code requires adding a marketplace before installing plugins from it. This is intentional design (similar to app stores).
53
+ ### Cursor
67
54
 
68
- **Enable auto-updates:** After installing, run `/plugin` → Marketplaces tab → select `schoolai-shipyard` → "Enable auto-update" to receive updates automatically.
55
+ Add to `~/.cursor/mcp.json`:
69
56
 
70
- <details>
71
- <summary>Troubleshooting: If Step 1 fails with a cache error</summary>
57
+ ```json
58
+ {
59
+ "mcpServers": {
60
+ "shipyard": {
61
+ "command": "npx",
62
+ "args": ["-y", "@schoolai/shipyard-mcp@latest"]
63
+ }
64
+ }
65
+ }
66
+ ```
67
+
68
+ ### Codex (OpenAI)
72
69
 
73
- There's a known Claude Code bug (#14696) with case-sensitive GitHub org names. Try the full git URL instead:
70
+ Add via CLI:
74
71
 
75
72
  ```bash
76
- /plugin marketplace add https://github.com/SchoolAI/shipyard.git
73
+ codex mcp add shipyard -- npx -y @schoolai/shipyard-mcp@latest
77
74
  ```
78
75
 
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
76
+ Or add to `~/.codex/config.toml`:
86
77
 
87
- ### For Other Platforms (Cursor, Windsurf, Replit, etc.)
78
+ ```toml
79
+ [mcp_servers.shipyard]
80
+ command = "npx"
81
+ args = ["-y", "@schoolai/shipyard-mcp@latest"]
82
+ ```
88
83
 
89
- Install the MCP server via npm:
84
+ ### VS Code / GitHub Copilot
90
85
 
91
86
  ```bash
92
- npx -y -p @schoolai/shipyard-mcp mcp-server-shipyard
87
+ code --add-mcp '{"name":"shipyard","command":"npx","args":["-y","@schoolai/shipyard-mcp@latest"]}'
93
88
  ```
94
89
 
95
- Then configure in your platform's MCP settings:
90
+ <details>
91
+ <summary><strong>See all platforms (Claude Desktop, Windsurf, JetBrains, Zed, etc.)</strong></summary>
92
+
93
+ ### Claude Desktop
94
+
95
+ Add to your config file:
96
+ - macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
97
+ - Windows: `%APPDATA%\Claude\claude_desktop_config.json`
98
+ - Linux: `~/.config/claude/claude_desktop_config.json`
96
99
 
97
- **Cursor** (`~/.cursor/mcp.json`):
98
100
  ```json
99
101
  {
100
102
  "mcpServers": {
101
103
  "shipyard": {
102
104
  "command": "npx",
103
- "args": ["-y", "-p", "@schoolai/shipyard-mcp", "mcp-server-shipyard"]
105
+ "args": ["-y", "@schoolai/shipyard-mcp@latest"]
104
106
  }
105
107
  }
106
108
  }
107
109
  ```
108
110
 
109
- **Windsurf** (`~/.windsurf/settings.json`):
111
+ ### Windsurf
112
+
113
+ Add to `~/.codeium/windsurf/mcp_config.json`:
114
+
110
115
  ```json
111
116
  {
112
- "mcp.servers": {
117
+ "mcpServers": {
113
118
  "shipyard": {
114
- "command": "npx -y -p @schoolai/shipyard-mcp mcp-server-shipyard"
119
+ "command": "npx",
120
+ "args": ["-y", "@schoolai/shipyard-mcp@latest"]
115
121
  }
116
122
  }
117
123
  }
118
124
  ```
119
125
 
120
- See **[docs/INSTALLATION.md](./docs/INSTALLATION.md)** for comprehensive platform-specific guides.
126
+ ### JetBrains IDEs
121
127
 
122
- ### For Development
128
+ 1. Settings > Tools > AI Assistant > Model Context Protocol (MCP)
129
+ 2. Click "Add"
130
+ 3. Paste JSON config above
123
131
 
124
- ```bash
125
- # Clone and install
126
- git clone https://github.com/SchoolAI/shipyard.git
127
- cd shipyard
128
- pnpm install
132
+ ### Zed
133
+
134
+ Add to `~/.config/zed/settings.json`:
135
+
136
+ ```json
137
+ {
138
+ "context_servers": {
139
+ "shipyard": {
140
+ "command": {
141
+ "path": "npx",
142
+ "args": ["-y", "@schoolai/shipyard-mcp@latest"]
143
+ }
144
+ }
145
+ }
146
+ }
147
+ ```
129
148
 
130
- # Start all services
131
- pnpm dev:all
149
+ ### Continue.dev
150
+
151
+ Create `.continue/mcpServers/shipyard.yaml`:
152
+
153
+ ```yaml
154
+ mcpServers:
155
+ - name: Shipyard
156
+ command: npx
157
+ args: ["-y", "@schoolai/shipyard-mcp@latest"]
132
158
  ```
133
159
 
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.
160
+ </details>
161
+
162
+ **[Full installation guide with troubleshooting →](./docs/INSTALLATION.md)**
163
+
164
+ ## Platform Support
165
+
166
+ | Platform | Experience |
167
+ |----------|-----------|
168
+ | **Claude Code** | Full integration — hooks, skills, MCP tools, auto-task creation |
169
+ | **Codex, VS Code, Cursor, Windsurf** | MCP tools — manual workflow, full functionality |
170
+ | **Other MCP clients** | Basic — depends on platform capabilities |
171
+
172
+ **[See detailed compatibility matrix →](./docs/INSTALLATION.md#feature-comparison)**
173
+
174
+ <details>
175
+ <summary><strong>Using Shipyard skills on other platforms</strong></summary>
176
+
177
+ 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:
135
178
 
136
- See **[SETUP.md](./docs/SETUP.md)** for full development setup.
179
+ - **VS Code / Copilot**: Copy to `.github/skills/shipyard/` (Agent Skills preview)
180
+ - **Cursor**: Create `.cursor/rules/shipyard.mdc` with skill content
181
+ - **Windsurf**: Create `.windsurf/workflows/shipyard-task.md`
182
+ - **JetBrains**: Add to `.junie/guidelines.md`
183
+
184
+ See [skills/shipyard/README.md](./skills/shipyard/README.md) for platform-specific instructions.
185
+
186
+ </details>
137
187
 
138
188
  ## How It Works
139
189
 
@@ -150,60 +200,101 @@ See **[SETUP.md](./docs/SETUP.md)** for full development setup.
150
200
  └─────────────────┘ └─────────────────┘
151
201
  ```
152
202
 
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
203
+ 1. **Agent creates task** via MCP tool → Browser opens automatically
204
+ 2. **Reviewers join** via shared URL → Real-time P2P sync
205
+ 3. **Add comments**, approve, or request changes → Agent sees feedback
206
+ 4. **Agent uploads artifacts** (screenshots, videos) → Stored in GitHub
207
+ 5. **Task auto-completes** when all deliverables have receipts (screenshots, videos, test results)
208
+
209
+ ## Features
210
+
211
+ - **BlockNote editor** — Notion-like editing with inline comments and threads
212
+ - **Kanban board** — Drag-drop tasks between Draft, Review, In Progress, Done
213
+ - **GitHub artifacts** — Screenshots, videos, test results stored in your repo
214
+ - **Offline-first** — IndexedDB persistence, works without network
215
+ - **Multi-agent** — Multiple Claude Code/Cursor instances can work on same task
216
+
217
+ <details>
218
+ <summary><strong>See more screenshots</strong></summary>
157
219
 
158
- ## Packages
220
+ ### Kanban Board
221
+ <img src="docs/assets/board-view.png" alt="Kanban board with drag-drop columns" width="600">
159
222
 
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 |
223
+ ### Full Task Detail
224
+ <img src="docs/assets/task-detail-full.png" alt="Task with deliverables and content" width="600">
225
+
226
+ </details>
227
+
228
+ ## Data & Privacy
229
+
230
+ | Data | Where It Lives | Control |
231
+ |------|---------------|---------|
232
+ | Task content | Browser (IndexedDB) + P2P sync | You own it |
233
+ | Artifacts (local) | `~/.shipyard/artifacts/` served via localhost | You own it |
234
+ | Artifacts (shared) | Optional: GitHub (your repo, orphan branch) | You own it |
235
+ | MCP server | Runs locally | Never leaves your machine |
236
+ | URLs | Encoded snapshots | Shareable, regenerable |
237
+
238
+ **No telemetry. No cloud storage. GitHub optional.**
239
+
240
+ Works completely locally. Add GitHub only if you need remote reviewers to access artifacts.
167
241
 
168
242
  ## Documentation
169
243
 
170
244
  | Doc | Description |
171
245
  |-----|-------------|
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 |
246
+ | **[Installation](./docs/INSTALLATION.md)** | Platform-specific setup guides |
247
+ | **[Setup](./docs/SETUP.md)** | Development setup, troubleshooting |
248
+ | **[Architecture](./docs/architecture.md)** | Data model, sync topology, tech choices |
249
+ | **[Brief](./docs/BRIEF.md)** | 30-second project context |
176
250
 
177
- ## Why "Shipyard"?
251
+ ## Architecture
178
252
 
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
253
+ Shipyard is a monorepo with multiple components:
182
254
 
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.
255
+ | Component | Description |
256
+ |-----------|-------------|
257
+ | [**MCP Server**](./apps/server) | 12 tools for task creation, artifacts, feedback |
258
+ | [**Web App**](./apps/web) | React + BlockNote editor with Kanban board |
259
+ | [**Schema**](./packages/schema) | Shared Yjs CRDT types and URL encoding |
260
+ | [**WebRTC Signaling**](./apps/signaling) | P2P discovery (Cloudflare Worker) |
261
+ | [**Hooks**](./apps/hook) | Claude Code integration |
184
262
 
185
- > *See [ADR-0005](./docs/decisions/0005-rebrand-peer-plan-to-shipyard.md) for the full naming rationale.*
263
+ **Published package:** [`@schoolai/shipyard-mcp`](https://www.npmjs.com/package/@schoolai/shipyard-mcp) - Includes MCP server + hook
186
264
 
187
- ## Claude Cowork Integration
265
+ ## Community
188
266
 
189
- Use Shipyard with Claude Cowork via the included skill:
267
+ - **[GitHub Discussions](https://github.com/SchoolAI/shipyard/discussions)** Questions, ideas, show & tell
268
+ - **[GitHub Issues](https://github.com/SchoolAI/shipyard/issues)** — Bug reports, feature requests
190
269
 
191
- ```
192
- skills/shipyard/
193
- ├── SKILL.md # Instructions for Claude
194
- ├── README.md # Setup guide
195
- └── examples/ # Usage examples
196
- ```
270
+ ## Contributing
197
271
 
198
- See [skills/shipyard/README.md](./skills/shipyard/README.md) for setup.
272
+ We value **ideas over implementations**. Please start with discussion:
199
273
 
200
- ## Contributing
274
+ ### How to Contribute
201
275
 
202
- We welcome contributions! Please read the codebase first:
276
+ 1. **Bug reports** [Open an issue](https://github.com/SchoolAI/shipyard/issues/new)
277
+ 2. **Feature ideas** — [Start a discussion](https://github.com/SchoolAI/shipyard/discussions/new)
278
+ 3. **Questions** — [Ask in discussions](https://github.com/SchoolAI/shipyard/discussions)
203
279
 
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
280
+ ### Before Submitting Code
281
+
282
+ Open an issue describing what you want to change and get maintainer approval first. This helps us:
283
+ - Ensure changes align with project direction
284
+ - Avoid duplicate efforts
285
+ - Provide design guidance upfront
286
+
287
+ PRs without a linked, approved issue may be closed.
288
+
289
+ ### AI Assistance
290
+
291
+ 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.
292
+
293
+ ### Learn the Codebase
294
+
295
+ 1. **[Brief](./docs/BRIEF.md)** — 30-second project context
296
+ 2. **[Engineering Standards](./docs/engineering-standards.md)** — Code quality expectations
297
+ 3. **[Architecture](./docs/architecture.md)** — How it all fits together
207
298
 
208
299
  ## License
209
300
 
@@ -212,10 +303,4 @@ We welcome contributions! Please read the codebase first:
212
303
  - **Free** for all non-competing use
213
304
  - **Converts to Apache 2.0** automatically in 2 years
214
305
 
215
- We chose this to ensure that all core improvements help grow this main repository while keeping it free for developers.
216
-
217
306
  ---
218
-
219
- <div align="center">
220
- <sub>Built with Yjs, BlockNote, and the MCP protocol</sub>
221
- </div>