Skip to content

rjerue/underwritten.app

Repository files navigation

Underwritten

Underwritten is a browser-first markdown editor with a companion MCP bridge. The web app owns the editor and workspace state. The published underwritten-mcp package lets external MCP clients connect to that live browser session through a local bridge process.

Apps

  • apps/website: the Underwritten web app and PWA
  • apps/cli: the underwritten CLI for agent and terminal use
  • apps/mcp: the published underwritten-mcp package

Packages

  • packages/underwritten-bridge: shared localhost bridge runtime
  • packages/underwritten-bridge-contract: shared bridge protocol types and helpers

Releasing

Releases are currently handled manually by updating the version numbers in package.json files and pushing to main. CI will automatically detect new versions and publish them to npm via OIDC.

To publish manually from your local machine (requires npm login):

vp run publish-packages

Development

Install dependencies:

vp install

Run the website:

vp run website#dev

Run the MCP bridge from source in another terminal:

vp dlx tsx apps/mcp/src/cli.ts

Validation

Run formatting, linting, and type checks:

vp check

Run unit tests:

vp test

Run end-to-end tests:

vp run test:e2e

Install Playwright browsers when needed:

vp run website#test:e2e:install

Build the monorepo:

vp run build -r

License

MIT

Releases

No releases published

Packages

 
 
 

Contributors