{
  "markdown": "# yrdsl\n\n[![CI](https://github.com/KuvopLLC/yrdsl/actions/workflows/ci.yml/badge.svg)](https://github.com/KuvopLLC/yrdsl/actions/workflows/ci.yml)\n[![Publish packages](https://github.com/KuvopLLC/yrdsl/actions/workflows/publish-packages.yml/badge.svg)](https://github.com/KuvopLLC/yrdsl/actions/workflows/publish-packages.yml)\n[![Publish MCP](https://github.com/KuvopLLC/yrdsl/actions/workflows/publish-mcp.yml/badge.svg)](https://github.com/KuvopLLC/yrdsl/actions/workflows/publish-mcp.yml)\n\nYrdsl (\"Digital Yard Sale\") creates a hosted web page that lists items with photos, prices, short\ndescriptions, and contact buttons for email, SMS, and WhatsApp. Buyers\nmessage you directly. No cart, no checkout, no payments.\n\nThis repo is the open-source side of [yrdsl.app](https://yrdsl.app):\nshared schemas, the React viewer, themes, the MCP server, and the docs\nthat explain how to publish a sale. Everything here is MIT-licensed.\n\nThere are two ways to publish a sale and this repo teaches both.\n\n## Publish a sale via JSON files\n\nThis is the self-hosted path. A sale is three things on disk:\n\n- `site.json` — sale title, contact methods, theme, currency.\n- `items.json` — an array of items with title, price, tags, photos.\n- `public/photos/*` — the actual photo files referenced from items.\n\n[`KuvopLLC/yrdsl-self-hosted`](https://github.com/KuvopLLC/yrdsl-self-hosted)\nis a GitHub template repo that wires these three into a working site\nbuilt with Vite and deployed to GitHub Pages. Click **Use this\ntemplate**, edit the JSON, push. A GitHub Action builds and publishes\nat `https://<your-username>.github.io/<your-repo>/`.\n\nThe JSON shapes are defined by zod schemas in\n[`packages/core`](./packages/core) and published as\n[`@yrdsl/core`](https://www.npmjs.com/package/@yrdsl/core). The\nself-hosted template validates against them before every deploy and\naccepts the same ZIPs that the hosted editor exports, so you can move\na sale between modes losslessly.\n\n## Publish a sale via Claude (MCP)\n\nThe same operations work through a chat with\n[Claude](https://claude.ai/download) via the Model Context Protocol\nserver published as\n[`@yrdsl/mcp`](https://www.npmjs.com/package/@yrdsl/mcp).\n\nClaude can add items, write descriptions, set prices, attach photos,\nmark things reserved, and publish the sale — all from a conversation.\nExamples:\n\n- *\"Add a Moccamaster coffee maker, $80.\"*\n- *\"Draft an item from this Amazon link and add it at 40% off retail.\"*\n- *\"Mark the coffee maker sold for $70.\"*\n\nThe MCP points at either mode:\n\n- **Hosted:** an API token against `api.yrdsl.app`. The hosted app has\n  a *Connect Claude* tab that walks you through getting a key and\n  installing the MCP in Claude Desktop or Claude Code.\n- **Self-hosted:** a path to your self-hosted fork. The MCP reads and\n  writes the JSON files and the photos folder directly; setup lives\n  in the template repo's README.\n\nSource: [`packages/mcp`](./packages/mcp).\n\n## Packages in this repo\n\n- [`@yrdsl/core`](./packages/core) — zod schemas + types for\n  `SaleSite`, `SaleItem`, `SaleContact`.\n- [`@yrdsl/viewer`](./packages/viewer) — React component that renders\n  a sale page. Used by both hosted and self-hosted.\n- [`@yrdsl/themes`](./packages/themes) — the four visual themes\n  (`conservative`, `artsy`, `hip`, `retro`) as plain CSS.\n- [`@yrdsl/mcp`](./packages/mcp) — the MCP server (stdio CLI + library).\n\n## Help and feedback\n\n- **Bugs in this code, or feature requests for the OSS bits** (core, viewer,\n  themes, MCP, self-hosted template, landing): open a [GitHub issue](https://github.com/KuvopLLC/yrdsl/issues).\n- **Anything about the hosted product at [yrdsl.app](https://yrdsl.app)** — questions,\n  problems, ideas, \"I tried X and it was weird\": post in\n  [r/yrdsl](https://www.reddit.com/r/yrdsl/). That's where we listen for\n  hosted-product feedback. Public on purpose so other users can chime in.\n- For private or security-sensitive things: [matt@mreider.com](mailto:matt@mreider.com)\n  (see [SECURITY.md](./SECURITY.md) for the disclosure policy).\n\n## Contributing\n\nDev setup, running locally, tests: [CONTRIBUTING.md](./CONTRIBUTING.md).\n\n## License\n\nMIT. Operated by [Kuvop LLC](https://oss.kuvop.com).\n",
  "bytes": 4192,
  "sha": "95a559ced5815c23a8780bb70e50081ed777140c4e603f563da68866dcdcdea6",
  "repo_slug": "kuvopllc/yrdsl",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_kuvopllc_yrdsl_yrdsl_8ce737e2/readme"
}