|
2 | 2 |
|
3 | 3 | ## Milestones |
4 | 4 |
|
5 | | -- v1.0 **Go Rewrite** - Phases 1-3 (shipped 2026-04-01) |
6 | | -- v1.1 **Docs, Pages & OpenClaw Positioning** - Phases 4-5 (in progress) |
| 5 | +- ✅ **v1.0 Go Rewrite** — Phases 1-3 (shipped 2026-04-01) |
| 6 | +- ✅ **v1.1 Docs, Pages & OpenClaw Positioning** — Phases 4-5 (shipped 2026-04-04) |
7 | 7 |
|
8 | 8 | ## Phases |
9 | 9 |
|
|
14 | 14 | Decimal phases appear between their surrounding integers in numeric order. |
15 | 15 |
|
16 | 16 | <details> |
17 | | -<summary>v1.0 Go Rewrite (Phases 1-3) - SHIPPED 2026-04-01</summary> |
18 | | - |
19 | | -- [x] **Phase 1: Foundation and Auth** - Go project scaffold, file-based token store, OAuth browser flow, Strava HTTP client, and MCP server wiring |
20 | | -- [x] **Phase 2: Tool Suite** - Port all 11 existing Strava tools with full feature parity (activities, athlete, streams, clubs, uploads) |
21 | | -- [x] **Phase 3: Polish and Distribution** - Portfolio-quality README and single-binary cross-platform release pipeline |
22 | | - |
23 | | -### Phase 1: Foundation and Auth |
24 | | -**Goal**: A running MCP server binary that authenticates with Strava and can make API calls, with all infrastructure ready for tool registration |
25 | | -**Depends on**: Nothing (first phase) |
26 | | -**Requirements**: INFRA-01, INFRA-02, INFRA-03, INFRA-04, INFRA-05 |
27 | | -**Success Criteria** (what must be TRUE): |
28 | | - 1. Running `go build` produces a single binary with no runtime dependencies |
29 | | - 2. Running `strava-mcp auth` opens a browser, completes OAuth, and persists tokens to ~/.strava/tokens.json |
30 | | - 3. The MCP server connects via stdio and responds to MCP protocol handshake (list tools returns empty tool set) |
31 | | - 4. Token auto-refresh works transparently -- an expired access token triggers refresh without user intervention, and concurrent refresh attempts are coalesced into one |
32 | | - 5. All logging goes to stderr only -- stdout carries exclusively MCP JSON-RPC traffic |
33 | | -**Plans**: 2 plans |
34 | | - |
35 | | -Plans: |
36 | | -- [x] 01-01-PLAN.md -- Go project scaffold, config loader, token store, and MCP server shell |
37 | | -- [x] 01-02-PLAN.md -- Strava HTTP client with auto-refresh and OAuth browser flow |
38 | | - |
39 | | -### Phase 2: Tool Suite |
40 | | -**Goal**: Users can access all core Strava data through 11 MCP tools matching the existing TypeScript feature set |
41 | | -**Depends on**: Phase 1 |
42 | | -**Requirements**: ACT-01, ACT-02, ACT-03, ACT-04, ACT-05, ATH-01, ATH-02, STR-01, CLB-01, UPL-01, UPL-02 |
43 | | -**Success Criteria** (what must be TRUE): |
44 | | - 1. User can list, view, create, and update activities through MCP tool calls |
45 | | - 2. User can retrieve heart rate/power zones, time-series streams, and athlete statistics |
46 | | - 3. User can upload activity files (GPX/TCX/FIT) via multipart form data and check upload status |
47 | | - 4. User can list club activities with pagination |
48 | | - 5. All 11 tool descriptions match the existing TypeScript versions in detail and quality (descriptions are the product UI for LLMs) |
49 | | -**Plans**: 3 plans |
50 | | - |
51 | | -Plans: |
52 | | -- [x] 02-01-PLAN.md -- Shared helpers (formatResponse, handleToolError) and 5 activity tools |
53 | | -- [x] 02-02-PLAN.md -- Athlete, streams, and club tools (4 tools) |
54 | | -- [x] 02-03-PLAN.md -- PostMultipart client method, upload tools, and RegisterAll wiring (2 tools + final wiring) |
55 | | - |
56 | | -### Phase 3: Polish and Distribution |
57 | | -**Goal**: The project is portfolio-ready with a polished README and frictionless installation via single-binary releases |
58 | | -**Depends on**: Phase 2 |
59 | | -**Requirements**: DOCS-01, DOCS-02 |
60 | | -**Success Criteria** (what must be TRUE): |
61 | | - 1. README includes badges, architecture diagram, complete tool reference, quick-start guide, and visual polish worthy of a portfolio piece |
62 | | - 2. `goreleaser` produces cross-platform binaries (macOS, Linux) from a single GitHub Actions workflow |
63 | | - 3. A new user can go from zero to working MCP server by following only the README instructions |
64 | | -**Plans**: 3 plans |
65 | | - |
66 | | -Plans: |
67 | | -- [x] 03-01-PLAN.md -- Module path migration, legacy cleanup, LICENSE, .gitignore |
68 | | -- [x] 03-02-PLAN.md -- goreleaser config, release workflow, CONTRIBUTING.md, repo metadata |
69 | | -- [x] 03-03-PLAN.md -- Portfolio-quality README and docs site rewrite |
| 17 | +<summary>✅ v1.0 Go Rewrite (Phases 1-3) — SHIPPED 2026-04-01</summary> |
70 | 18 |
|
71 | | -</details> |
72 | | - |
73 | | -### v1.1 Docs, Pages & OpenClaw Positioning (In Progress) |
74 | | - |
75 | | -**Milestone Goal:** Fix GitHub Pages deployment, position StravaMCP as a high-performance Go MCP server for OpenClaw/ZeroClaw agent frameworks, and highlight Go speed advantages over Python/JavaScript MCPs. |
| 19 | +- [x] **Phase 1: Foundation and Auth** — Go project scaffold, file-based token store, OAuth browser flow, Strava HTTP client, and MCP server wiring |
| 20 | +- [x] **Phase 2: Tool Suite** — Port all 11 existing Strava tools with full feature parity (activities, athlete, streams, clubs, uploads) |
| 21 | +- [x] **Phase 3: Polish and Distribution** — Portfolio-quality README and single-binary cross-platform release pipeline |
76 | 22 |
|
77 | | -- [ ] **Phase 4: GitHub Pages Restoration** - Fix broken deployment workflow and verify docs site renders correctly |
78 | | -- [ ] **Phase 5: OpenClaw Positioning & Performance Messaging** - Update README and docs with agent framework positioning and Go performance advantages |
| 23 | +See `.planning/milestones/v1.0-ROADMAP.md` for full phase details. |
79 | 24 |
|
80 | | -## Phase Details |
| 25 | +</details> |
81 | 26 |
|
82 | | -### Phase 4: GitHub Pages Restoration |
83 | | -**Goal**: The docs site is live and rendering correctly at stealinglight.github.io/StravaMCP |
84 | | -**Depends on**: Phase 3 (docs site content created in v1.0) |
85 | | -**Requirements**: PAGES-01, PAGES-02 |
86 | | -**Success Criteria** (what must be TRUE): |
87 | | - 1. Pushing to main triggers a GitHub Actions workflow that deploys docs/ to GitHub Pages |
88 | | - 2. stealinglight.github.io/StravaMCP loads and renders the docs site with just-the-docs theme and dark mode |
89 | | - 3. All existing docs site pages (tool reference, quick start, architecture) render without broken links or missing assets |
90 | | -**Plans**: 1 plan |
| 27 | +<details> |
| 28 | +<summary>✅ v1.1 Docs, Pages & OpenClaw Positioning (Phases 4-5) — SHIPPED 2026-04-04</summary> |
91 | 29 |
|
92 | | -Plans: |
93 | | -- [x] 04-01-PLAN.md -- Restore deploy-docs.yml workflow and verify live site rendering |
94 | | -**UI hint**: yes |
| 30 | +- [x] **Phase 4: GitHub Pages Restoration** — Fix broken deployment workflow and verify docs site renders correctly |
| 31 | +- [x] **Phase 5: OpenClaw Positioning & Performance Messaging** — Update README and docs with agent framework positioning and Go performance advantages |
95 | 32 |
|
96 | | -### Phase 5: OpenClaw Positioning & Performance Messaging |
97 | | -**Goal**: StravaMCP is positioned as a production-grade, high-performance MCP server for agent frameworks, not just a portfolio piece |
98 | | -**Depends on**: Phase 4 (docs site must be live before updating its content) |
99 | | -**Requirements**: MSG-01, MSG-02, MSG-03, MSG-04 |
100 | | -**Success Criteria** (what must be TRUE): |
101 | | - 1. README contains an OpenClaw/ZeroClaw ecosystem section that explains how StravaMCP fits as a stdio MCP server within agent framework architectures |
102 | | - 2. README includes concrete Go performance claims (sub-second startup, low memory footprint, small binary size) contrasted against typical Python/JavaScript MCP servers |
103 | | - 3. Docs site has a dedicated OpenClaw/ZeroClaw compatibility page or section with integration instructions (how to wire StravaMCP into an agent) |
104 | | - 4. The overall project tone across README and docs reads as "production-grade MCP server" rather than "portfolio project" -- language emphasizes reliability, performance, and agent framework integration |
105 | | -**Plans**: 2 plans |
| 33 | +See `.planning/milestones/v1.1-ROADMAP.md` for full phase details. |
106 | 34 |
|
107 | | -Plans: |
108 | | -- [x] 05-01-PLAN.md -- README overhaul: hero tagline, features, Why Go? table, Agent Framework Integration section |
109 | | -- [x] 05-02-PLAN.md -- Docs site: index.md update, new integration.md page, _config.yml description |
| 35 | +</details> |
110 | 36 |
|
111 | 37 | ## Progress |
112 | 38 |
|
113 | 39 | **Execution Order:** |
114 | | -Phases execute in numeric order: 4 -> 5 |
| 40 | +Phases execute in numeric order. |
115 | 41 |
|
116 | 42 | | Phase | Milestone | Plans Complete | Status | Completed | |
117 | 43 | |-------|-----------|----------------|--------|-----------| |
118 | 44 | | 1. Foundation and Auth | v1.0 | 2/2 | Complete | 2026-03-27 | |
119 | 45 | | 2. Tool Suite | v1.0 | 3/3 | Complete | 2026-03-27 | |
120 | 46 | | 3. Polish and Distribution | v1.0 | 3/3 | Complete | 2026-04-01 | |
121 | | -| 4. GitHub Pages Restoration | v1.1 | 0/1 | Planning complete | - | |
122 | | -| 5. OpenClaw Positioning | v1.1 | 0/2 | Planning complete | - | |
| 47 | +| 4. GitHub Pages Restoration | v1.1 | 1/1 | Complete | 2026-04-03 | |
| 48 | +| 5. OpenClaw Positioning | v1.1 | 2/2 | Complete | 2026-04-04 | |
0 commit comments