Skip to main content
Prerequisites: Node.js 18 or higher. Check your version with node --version.

Repository structure

HolyStitch is a monorepo managed with npm workspaces. The MCP server — the only published package — lives under packages/mcp-server/.
The root package.json delegates to workspaces — you always run scripts from the repo root.

Clone and install

1

Clone the repository

2

Install dependencies

This installs dependencies for all workspaces in one pass.
3

Build the project

This runs tsc inside packages/mcp-server/, compiling TypeScript to packages/mcp-server/dist/. The entry point is dist/index.js.
You must run npm run build before pointing any MCP host at the local repo. The MCP host executes the compiled JavaScript in dist/, not the TypeScript source.

Available scripts

All scripts are run from the repo root.

TypeScript build process

The mcp-server package uses a standard tsc compile step with no bundler. The tsconfig.json in packages/mcp-server/ targets ESM output ("type": "module" in its package.json). Running npm run build from the root triggers npm run build --workspaces, which resolves to tsc in each workspace.
After a successful build, dist/index.js is the executable entry point.

Testing changes against a real MCP host

After making and building changes, point your MCP host at the local dist/index.js instead of a published package.
1

Make your changes

Edit files under packages/mcp-server/src/.
2

Rebuild

Or leave npm run dev running in a terminal — it recompiles automatically on every save.
3

Configure your MCP host to use the local build

Update your MCP host config to point at the local dist/index.js. Replace /path/to/holystitch with the actual path where you cloned the repo.
On Windows, use forward slashes or escaped backslashes in the path: "C:/Users/alice/holystitch/packages/mcp-server/dist/index.js"
4

Restart your MCP host

Most MCP hosts load the server process at startup. Restart the IDE or reload the MCP server to pick up the updated binary.
5

Run a conversion

Trigger the convert_stitch_to_react tool with a real Stitch project ID and verify the output matches your expectations.

Type-checking without building

To catch type errors quickly without emitting any files:
This runs tsc --noEmit across all workspaces and exits non-zero if there are any errors. Run this before opening a PR.