You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Karthik (CTO) recommended stack + Adam (DevRel) onboarding patch shipped.
.github/workflows/test.yml — Node 20+22 × Ubuntu/macOS/Windows (6 cells)
with all-green gate via re-actors/alls-green (SHA-pinned). Runs:
npm ci → lint → build → test → `node dist/index.js --selftest`.
Catches the Windows-broken-MCP-server-on-day-one failure mode that
Karthik flagged in CTO §2.1.
.github/workflows/release.yml — release-please + npm trusted publishing
via OIDC (`id-token: write` + `npm publish --access public --provenance`).
No long-lived NPM_TOKEN attack surface; publishing produces a signed
attestation that the build came from this commit SHA. Anthropic / Stripe
/ Vercel SDKs all use this pattern.
.github/dependabot.yml — grouped updates (mcp-sdk / production / dev
+ actions) to keep PR noise tractable for a solo-maintained repo.
release-please-config.json + .release-please-manifest.json — required
by the release workflow.
src/index.ts — Adam #1's --selftest flag (15 LOC). Runs:
$ node dist/index.js --selftest
→ selftest OK | base=https://api.etymolt.com | 142ms
Exits 0 if API reachable, 1 on bad status, 2 on network error.
Unlocks the "60-second onboarding" claim — a developer can verify the
install before editing any MCP client config.
Founder action remaining: add NPM_TOKEN to repo secrets at
https://github.com/etymolt/mcp-server/settings/secrets/actions
→ New repository secret: NPM_TOKEN (generate at npmjs.com → Access Tokens →
Granular access token, scope = @etymolt/mcp-server, type = Automation).
Then merge a commit with a Conventional Commit header (feat: / fix: /
chore!:) and release-please auto-cuts the next version.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
0 commit comments