{
  "markdown": "# Lacuna developer tools\n\n[![License: MIT](https://img.shields.io/npm/l/lacuna-toolkit.svg)](./LICENSE)\n\nOpen-source SDK, CLI, MCP server, and Agent Skill for the [Lacuna Music API](https://lacuna.fm). Generate AI music programmatically from any Node 18+ runtime, your shell, an MCP-compatible client, or an AI coding agent that supports the [Agent Skills](https://agentskills.io) standard.\n\n| Surface | Install | Use case |\n| --- | --- | --- |\n| [`lacuna-sdk`](./packages/sdk) | `npm install lacuna-sdk` | TypeScript / JavaScript SDK with webhook verification. |\n| [`lacuna-toolkit`](./packages/cli) | `npx lacuna-toolkit` | Command-line interface for one-off generation, scripting, CI. |\n| [`lacuna-mcp`](./packages/mcp) | `npx lacuna-mcp` | Model Context Protocol server for Claude Desktop, Claude Code, Cursor, etc. |\n| [`lacuna-music` skill](./skills/lacuna-music) | `npx skills add JOYLINK-LTD/lacuna-toolkit` | Agent Skill for Claude Code, Codex CLI, Cursor, and other tools that follow the [SKILL.md](https://agentskills.io) standard. |\n\nThe three npm packages are released together and share the same API surface. The skill is markdown-only and tracks the latest published packages.\n\n---\n\n## Repository layout\n\n```\n.\n├── packages/\n│   ├── sdk/                   →  npm: lacuna-sdk\n│   ├── cli/                   →  npm: lacuna-toolkit\n│   └── mcp/                   →  npm: lacuna-mcp\n├── skills/\n│   └── lacuna-music/SKILL.md  →  Agent Skill (skills.sh, skillsmp.com, etc.)\n├── pnpm-workspace.yaml\n├── tsconfig.base.json\n└── package.json\n```\n\nThis is a [pnpm](https://pnpm.io) workspace. The CLI and MCP server depend on the SDK via `workspace:*`, which is rewritten to a real version range on publish. The skill is plain markdown and is not part of the workspace.\n\n## Development\n\n```sh\npnpm install            # install all workspace deps\npnpm -r run build       # build every package\npnpm -r run typecheck   # typecheck every package\npnpm --filter lacuna-mcp run dev  # iterate on a single package\n```\n\nThe SDK must be built before `pnpm -r run typecheck` can resolve the CLI/MCP packages' types. `pnpm -r run build` handles dependency order automatically.\n\n## Releasing\n\nEach package versions independently from `packages/<pkg>/package.json`. Bump versions in lockstep, build, then publish:\n\n```sh\n# bump the version in all three package.jsons + packages/mcp/server.json\n# (packages/sdk/src/version.ts is injected from package.json at build time — do not hand-edit)\npnpm -r run build\npnpm --filter lacuna-sdk publish --access public\npnpm --filter lacuna-toolkit publish --access public\npnpm --filter lacuna-mcp publish --access public\n```\n\n`workspace:*` references in `dependencies` are rewritten to the published version automatically (pnpm handles this).\n\n## Distributing the skill\n\nThe skill at [`skills/lacuna-music/`](./skills/lacuna-music) follows the [Agent Skills](https://agentskills.io) open standard, so it works with Claude Code, Codex CLI, Cursor, and any other tool that loads `SKILL.md` files.\n\nThere is **no submission step** for skill marketplaces — they index public GitHub repos automatically:\n\n- **[skills.sh](https://skills.sh)** (Vercel Labs) ranks skills by anonymous install telemetry. Once the repo is public, anyone can install with `npx skills add JOYLINK-LTD/lacuna-toolkit`, and installs feed the leaderboard. The CLI auto-discovers `SKILL.md` files under `skills/<name>/`.\n- **[skillsmp.com](https://skillsmp.com)** and **[claudeskills.info](https://claudeskills.info)** crawl public GitHub repos that contain `SKILL.md` and a minimum of 2 stars.\n- The official **[anthropics/skills](https://github.com/anthropics/skills)** repo accepts community-contributed skills via PR if you want a canonical listing.\n\nTo verify discovery locally:\n\n```sh\nnpx skills add JOYLINK-LTD/lacuna-toolkit\n```\n\nThis installs `lacuna-music` into `~/.claude/skills/lacuna-music/` (and the equivalent for other agents). Edits to `skills/lacuna-music/SKILL.md` show up on the next `skills add`.\n\n## License\n\n[MIT](./LICENSE) © Louis Tsang\n",
  "bytes": 4058,
  "sha": "158e7b5019015fb02d6dad26d38166a15f26dd82848ba6542043db99721c8e63",
  "repo_slug": "joylink-ltd/lacuna-toolkit",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_joylink_ltd_lacuna_mcp_01431631/readme"
}