Commit 3a8a135
authored
release: 4.0.4 PATH-based MCP setup (#30)
## Summary
Fixes #29.
Combines the MCP setup fix, the missing MCP client documentation
updates, the dependency bump from PR #32, the `4.0.4` release metadata,
and the SEO cleanup that missed the already-merged PR #31.
## Root Cause
`setup-mcp` used `std::env::current_exe()` when writing
`.claude/settings.json`, and the website MCP client guide still showed
`/absolute/path/to/gather-step`. Both could pin MCP setup to a build,
worktree, or stale install path instead of the stable command users
already have on `PATH`.
The initial PR also left two silent-failure paths: malformed existing
Claude settings JSON was overwritten instead of rejected, and users got
no visible signal when `gather-step` could not be resolved on the MCP
client's `PATH`.
## Key Decisions
- Use `command: "gather-step"` for generated MCP config and manual setup
examples.
- Use the public top-level `serve` command in MCP args instead of the
hidden `mcp serve` alias.
- Probe `PATH` during `setup-mcp`, emit `path_resolution` in JSON
output, and warn in human output when the command is not found.
- Preserve malformed or structurally invalid existing settings files by
returning an error instead of overwriting them.
- Add a Codex CLI MCP config example, including the restart note
required before `mcp__gather_step` tools appear in a running session.
- Fold PR #32 into this branch so the release/version/changelog work
lands once.
- Carry forward the missed landing SEO cleanup from PR #31 after
rebasing this branch on `main`.
## Files Changed
| File | Change |
| --- | --- |
| `crates/gather-step-cli/src/commands/setup_mcp.rs` | Writes `command:
"gather-step"` and `args: ["--workspace", ..., "serve"]`, reports PATH
resolution, and rejects malformed settings JSON. |
| `crates/gather-step-cli/tests/cli_setup_mcp.rs` | Regression coverage
for generated MCP settings shape, malformed JSON preservation, entry
replacement, and bad `mcpServers` shape. |
| `crates/gather-step-cli/tests/cli_commands.rs` | Integration coverage
for the PATH command, global/local scope behavior, missing HOME, and
JSON `path_resolution`. |
| `website/src/content/docs/reference/cli.md` | Documents the generated
command behavior. |
| `website/src/content/docs/guides/getting-started.md` | Updates the
generic sample MCP config to use the `PATH` command. |
| `website/src/content/docs/guides/mcp-clients.md` | Updates Claude,
Codex, Cursor, and generic MCP examples, fixes the Claude Code user
settings path, and adds the macOS GUI PATH note. |
| `Cargo.toml`, `Cargo.lock`, `website/package.json` | Bump
release/package metadata to `4.0.4`. |
| `website/bun.lock`, `website/package.json` | Bump `astro` to `^6.3.1`
and `@astrojs/starlight` to `^0.39.1`. |
| `website/src/content/docs/changelog.md` and landing components | Add
the `v4.0.4` changelog entry and release stamps. |
| `website/src/layouts/LandingLayout.astro`,
`website/src/styles/landing.css` | Use computed site URLs in JSON-LD,
add theme/manifest metadata, preload Google Fonts with `display=swap`,
and remove ignored `X-Content-Type-Options` meta. |
## Dependency Notes
- Cargo updated the resolvable `wasm-bindgen` stack.
- `generic-array` remains at `0.14.7` because `crypto-common v0.1.7`
requires `generic-array = "=0.14.7"` exactly; forcing `0.14.9` fails
dependency resolution.
## Verification
- Confirmed PR #31 was merged from `dadd90f`, before the follow-up SEO
cleanup commit.
- Rebasing PR #30 on `origin/main` completed cleanly.
- `cargo fmt --all`
- `cargo check --locked --workspace`
- `cargo test --test cli_commands setup_mcp`
- `cargo test --test cli_setup_mcp`
- `cargo test --workspace`
- `cd website && bun install`
- `cd website && bun install --frozen-lockfile`
- `cd website && bun run build`
- Verified generated `dist/index.html` has theme color, manifest, font
preload, computed JSON-LD IDs, and no `X-Content-Type-Options` meta.
- Verified generated sitemap includes `https://gatherstep.dev/`.
- `git diff --check`
## Follow-ups
- PR #32 is superseded by this combined PR.16 files changed
Lines changed: 319 additions & 111 deletions
File tree
- crates/gather-step-cli
- src/commands
- tests
- website
- src
- components/landing
- content/docs
- guides
- reference
- layouts
- styles
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | | - | |
| 17 | + | |
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| |||
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
27 | | - | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | | - | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
2 | 5 | | |
3 | 6 | | |
4 | 7 | | |
| |||
25 | 28 | | |
26 | 29 | | |
27 | 30 | | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
28 | 41 | | |
29 | 42 | | |
30 | 43 | | |
| |||
34 | 47 | | |
35 | 48 | | |
36 | 49 | | |
37 | | - | |
38 | | - | |
39 | | - | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
40 | 57 | | |
41 | 58 | | |
42 | 59 | | |
43 | 60 | | |
44 | 61 | | |
| 62 | + | |
| 63 | + | |
45 | 64 | | |
46 | 65 | | |
47 | 66 | | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
48 | 72 | | |
49 | 73 | | |
50 | 74 | | |
51 | 75 | | |
52 | | - | |
| 76 | + | |
53 | 77 | | |
54 | 78 | | |
55 | 79 | | |
| |||
58 | 82 | | |
59 | 83 | | |
60 | 84 | | |
61 | | - | |
| 85 | + | |
| 86 | + | |
62 | 87 | | |
63 | 88 | | |
64 | 89 | | |
65 | 90 | | |
66 | 91 | | |
67 | 92 | | |
68 | 93 | | |
69 | | - | |
70 | | - | |
71 | 94 | | |
72 | | - | |
73 | | - | |
| 95 | + | |
| 96 | + | |
74 | 97 | | |
75 | 98 | | |
76 | 99 | | |
| |||
90 | 113 | | |
91 | 114 | | |
92 | 115 | | |
93 | | - | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
94 | 124 | | |
0 commit comments