Marigold

Comment on AI-generated webpages; feedback flows back to your coding agent. Free, MIT, local-first.

AI & MLTypeScriptv0.9.1

marigold

Local drafts — a review loop for agent-authored HTML. Your coding agent writes a rich HTML/SVG draft to a file; marigold-draft open serves it in a comment shell in your browser; you highlight, comment, and edit in place; Send feedback to agent returns your review to the agent's blocked CLI call as JSON, and its next save live-reloads the tab with your comments re-anchored.

No database, no accounts, no network. One warm background daemon; comments persist in a sidecar file next to the draft.

npm i -g marigold-draft
marigold-draft agent-setup   # wires up Claude Code (skill) + Claude Desktop (MCP)

Or hand this prompt to your coding agent:

Install Marigold for me using npm i -g marigold-draft, then read https://marigold.page/draft/setup.md and set yourself up to use it.

Full docs: packages/local/README.md — the agent loop, in-place edits, .svg drafts, sharing, and graduating a draft to hosted Marigold when you want a link you can send to someone.

What's in this repo

PackageWhat it is
packages/localmarigold-draft (npm) — the CLI, daemon, review shell, and MCP server
packages/coreThe shared anchoring engine: deterministic element instrumentation, composite comment anchors (marigoldId → css → textQuote), and the Marigold Way methodology packs. Bundled into the CLI at build time.

The anchoring engine is the same one hosted Marigold runs, so comments re-anchor identically across draft revisions locally and doc versions in the cloud, and a draft promoted to the cloud instruments byte-for-byte the same.

pnpm install
pnpm test        # vitest across both packages
pnpm build       # bundles packages/local/dist/cli.cjs

Relationship to hosted Marigold

Hosted Marigold ("Google Docs for AI-generated webpages" — share by email, comment on the rendered page, agents read feedback over MCP) is a separate, closed-source service. This repo is the open-source local tool, MIT-licensed, and is where its issues and pull requests live.

Development happens in a private monorepo that also contains the hosted service; the OSS subset is auto-synced here on every change, so this mirror is always current. PRs are welcome — they're reviewed here and ported onto the internal tree with your authorship preserved.

License

MIT.

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y marigold-draft

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-immuneeb-marigold": {
      "command": "npx",
      "args": [
        "-y",
        "marigold-draft"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

marigold-draftnpm

Compatible MCP Clients

Marigold works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More