Harden and polish: tests, CI, lint, publish metadata, docs - #1
Open
ryw wants to merge 1 commit into
Open
Conversation
- Extract createServer() factory (src/server.ts) with a structural TemboApi interface and shared runTool helper; slim src/index.ts to a thin stdio entry point - Add 11 vitest tests driving the server over InMemoryTransport with a mocked Tembo client - Add Biome lint/format config and GitHub Actions CI (Node 20/22: lint, typecheck, build, test) - Add LICENSE (MIT), fix stale repo URLs, add engines.node >=20, bump dependency floors, clear npm audit vulnerabilities, add prepublishOnly gate, bump version to 0.1.1 - README: Claude Code install, env var + create_task param tables, development section; add CLAUDE.md Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Makes the repo publish-ready and maintainable without changing the tool surface (all 5 tools behave identically).
src/server.tsexports acreateServer(tembo)factory with a structuralTemboApiinterface; a sharedrunToolhelper replaces the 5× duplicated try/catch blocks;src/index.tsshrinks to a thin stdio entry point. Server version is now read from package.json instead of hardcoded.create_taskkeeps bothpromptanddescription(published contract), withdescriptionmarked as a deprecated alias.InMemoryTransportagainst a mocked Tembo client — tool listing, arg mapping, zod defaults, description→prompt fallback, error paths.tembo-io/tembo-mcptotembo/mcp;engines.node >=20; dependency floors bumped to match the lockfile;npm audit fixclears all 5 vulnerabilities (MCP SDK now resolves to 1.29.0, validated by the new tests);prepublishOnlygate; version bumped to 0.1.1.claude mcp add), env var table, fullcreate_taskparam table,tembo-mcpbin name note, and a Development section; new CLAUDE.md.Verification
npm run check,npm run typecheck,npm run build,npm testall green (11/11)tools/listreturns all 5 toolsTEMBO_API_KEY→ error + exit 1npm pack --dry-run: tarball containsdist/, README, LICENSE; shebang intactNote for reviewer
package.json now points at
github.com/tembo/mcp(the actual git remote). Confirm that's the intended canonical public URL before the nextnpm publish.🤖 Generated with Claude Code
Note
Low Risk
Changes are mostly refactor, tests, CI, and metadata; runtime tool contracts stay the same aside from version sourced from package.json.
Overview
Prepares @tembo-io/mcp for ongoing maintenance and npm publish without changing the five MCP tools’ outward behavior.
Server layout: Tool registration moves from
src/index.tsintocreateServer(tembo)in newsrc/server.ts, backed by a structuralTemboApiinterface and sharedrunToolerror/JSON handling. The bin entrypoint only wires env, the Tembo client, and stdio. Server version comes frompackage.jsonat runtime instead of a hardcoded string;descriptiononcreate_taskis documented as a deprecated alias forprompt.Quality gates: Adds Vitest tests (
tests/server.test.ts) over InMemoryTransport, Biome, a GitHub Actions matrix on Node 20/22 (biome, typecheck, build, test), andprepublishOnlyrunning check + typecheck + test. Bumps to 0.1.1, adds MIT LICENSE to the tarball,engines.node >= 20, refreshed repo URLs and dependency floors (lockfile refresh includes MCP SDK 1.29.0).Docs: README and new CLAUDE.md cover install (including Claude Code), env vars, tool params, and local dev/smoke-test steps.
Reviewed by Cursor Bugbot for commit 06843d5. Bugbot is set up for automated code reviews on this repo. Configure here.