{"_id":"@bestagentkits/build-with-ak","_rev":"4-5c2dd50bc6d164fb46bad1679551a512","name":"@bestagentkits/build-with-ak","dist-tags":{"latest":"1.0.3"},"versions":{"1.0.0":{"name":"@bestagentkits/build-with-ak","version":"1.0.0","keywords":["agentkit","build-with-ak","mcp","mcp-server","cli","showcase","cloudflare-workers"],"author":{"name":"AgentKit"},"license":"MIT","_id":"@bestagentkits/build-with-ak@1.0.0","maintainers":[{"name":"mrgoonie","email":"duynguyen@wearetopgroup.com"}],"bin":{"build-with-ak":"dist/cli/main.js","build-with-ak-mcp":"dist/mcp/stdio.js"},"dist":{"shasum":"ccb1a8b4c13ec6f2f27f30570c852a7c4c7e4a50","tarball":"https://registry.npmjs.org/@bestagentkits/build-with-ak/-/build-with-ak-1.0.0.tgz","fileCount":39,"integrity":"sha512-THKA55tNER0+o/xqJVLwKqzwxJqYJ6Grp7Stm7K3ImSss5UfMg+jtsn0mVHXE/ifUlgbJzNRFGWR/sBjqR+UHA==","signatures":[{"sig":"MEUCIAF/5tnle8JZO80FJeTOM3V3vSCJPmQWq7lRTfyAQzPhAiEApD+HZLFAFJMwYe41ac6EcaJEhs+dDtPg+yTKJDD5k18=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2161621},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"dcbd3b1043bbd531f2ee12c695f782599be81005","scripts":{"dev":"tsx watch src/cli/main.ts","test":"vitest run","build":"tsup","changelog":"tsx scripts/generate-changelog.ts","test:base":"vitest run --exclude=\"**/*target-extensions*\"","typecheck":"tsc --noEmit","test:watch":"vitest","check:drift":"tsx scripts/check-contract-drift.ts","test:target":"vitest run","prepublishOnly":"pnpm build","sync:contracts":"tsx scripts/sync-contracts.ts"},"_npmUser":{"name":"mrgoonie","email":"duynguyen@wearetopgroup.com"},"_npmVersion":"11.19.0","description":"CLI tool and MCP server for submitting and customizing showcase layouts on Build with AK (agentkit.best)","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^3.24.2","jose":"^6.0.8","commander":"^13.1.0","picocolors":"^1.1.1","@modelcontextprotocol/sdk":"^1.6.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","tsup":"^8.4.0","vitest":"^3.0.7","wrangler":"^4.128.0","typescript":"^5.8.2","@types/node":"^22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/build-with-ak_1.0.0_1788340342930_0.48173379004937034","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@bestagentkits/build-with-ak","version":"1.0.1","keywords":["agentkit","build-with-ak","mcp","mcp-server","cli","showcase","cloudflare-workers"],"author":{"name":"AgentKit"},"license":"MIT","_id":"@bestagentkits/build-with-ak@1.0.1","maintainers":[{"name":"mrgoonie","email":"duynguyen@wearetopgroup.com"}],"homepage":"https://github.com/bestagentkits/build-with-ak-toolkits#readme","bugs":{"url":"https://github.com/bestagentkits/build-with-ak-toolkits/issues"},"bin":{"build-with-ak":"dist/cli/main.js","build-with-ak-mcp":"dist/mcp/stdio.js"},"dist":{"shasum":"d963956ea3d3938a8bdaf0b7139ff4028e6cd4eb","tarball":"https://registry.npmjs.org/@bestagentkits/build-with-ak/-/build-with-ak-1.0.1.tgz","fileCount":39,"integrity":"sha512-gFXMWxJp3b6agAGJ6gJB1M/eESRm2pSKSEMZwfyAmssQj5V87JTi/CevLkoWNAcqPqhMStKdEu/0w2Hl+F0LbQ==","signatures":[{"sig":"MEUCIBfIR5D7SSe7jDls31im6EC5Eah7KBErY8HyASuObnoWAiEA5MS6/2er1qn20gVzw89qOwNxiPwffPtS3EtkL11avY0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bestagentkits%2fbuild-with-ak@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2362070},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"5334f951ee59ab3cdca50665fa358e857b200b52","scripts":{"dev":"tsx watch src/cli/main.ts","test":"vitest run","build":"tsup","changelog":"tsx scripts/generate-changelog.ts","test:base":"vitest run --exclude=\"**/*target-extensions*\"","typecheck":"tsc --noEmit","test:watch":"vitest","check:drift":"tsx scripts/check-contract-drift.ts","test:target":"vitest run","prepublishOnly":"pnpm build","sync:contracts":"tsx scripts/sync-contracts.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:072a6c15-3b49-45e5-8d3f-6b4e9fb8893f"}},"repository":{"url":"git+https://github.com/bestagentkits/build-with-ak-toolkits.git","type":"git"},"_npmVersion":"12.0.2","description":"CLI tool and MCP server for submitting and customizing showcase layouts on Build with AK (agentkit.best)","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.24.2","jose":"^6.0.8","commander":"^13.1.0","picocolors":"^1.1.1","@modelcontextprotocol/sdk":"^1.6.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","tsup":"^8.4.0","vitest":"^3.0.7","wrangler":"^4.128.0","typescript":"^5.8.2","@types/node":"^22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/build-with-ak_1.0.1_1789205411968_0.46588057951848283","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@bestagentkits/build-with-ak","version":"1.0.2","keywords":["agentkit","build-with-ak","mcp","mcp-server","cli","showcase","cloudflare-workers"],"author":{"name":"AgentKit"},"license":"MIT","_id":"@bestagentkits/build-with-ak@1.0.2","maintainers":[{"name":"mrgoonie","email":"duynguyen@wearetopgroup.com"}],"homepage":"https://github.com/bestagentkits/build-with-ak-toolkits#readme","bugs":{"url":"https://github.com/bestagentkits/build-with-ak-toolkits/issues"},"bin":{"build-with-ak":"dist/cli/main.js","build-with-ak-mcp":"dist/mcp/stdio.js"},"dist":{"shasum":"7e7c7a7897077fa7bfd878d327b80fbcf6e74ad9","tarball":"https://registry.npmjs.org/@bestagentkits/build-with-ak/-/build-with-ak-1.0.2.tgz","fileCount":39,"integrity":"sha512-ggKRCm5iZp5vGzv3WjEaWRGy19zS8g3PMW2OdBAMfRY4SMMVqT576x95BJraU0xoMLAtcEY3rhPLFe4cq1u7xg==","signatures":[{"sig":"MEYCIQD2/BUGkDJdrXpzGViBTArrruacn/F5t/YrrLuvpH2tqQIhAPxbBoVJJ2G35TgiR3+HPEaD/jWGrqkVdI5zb2nXjFJo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bestagentkits%2fbuild-with-ak@1.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2600962},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"988ce16ff270b9cf2b40cc93914faa1f0cbacd32","scripts":{"dev":"tsx watch src/cli/main.ts","test":"vitest run","build":"tsup","changelog":"tsx scripts/generate-changelog.ts","test:base":"vitest run --exclude=\"**/*target-extensions*\"","typecheck":"tsc --noEmit","test:watch":"vitest","check:drift":"tsx scripts/check-contract-drift.ts","test:target":"vitest run","prepublishOnly":"pnpm build","sync:contracts":"tsx scripts/sync-contracts.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:072a6c15-3b49-45e5-8d3f-6b4e9fb8893f"}},"repository":{"url":"git+https://github.com/bestagentkits/build-with-ak-toolkits.git","type":"git"},"_npmVersion":"12.0.2","description":"CLI tool and MCP server for submitting and customizing showcase layouts on Build with AK (agentkit.best)","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.24.2","jose":"^6.0.8","commander":"^13.1.0","ipaddr.js":"2.2.0","picocolors":"^1.1.1","@modelcontextprotocol/sdk":"^1.6.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","tsup":"^8.4.0","vitest":"^3.0.7","wrangler":"^4.128.0","typescript":"^5.8.2","@types/node":"^22.13.9"},"_npmOperationalInternal":{"tmp":"tmp/build-with-ak_1.0.2_1789206587885_0.23734128529847287","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@bestagentkits/build-with-ak","version":"1.0.3","description":"CLI tool and MCP server for submitting and customizing showcase layouts on Build with AK (agentkit.best)","repository":{"type":"git","url":"git+https://github.com/bestagentkits/build-with-ak-toolkits.git"},"main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","bin":{"build-with-ak":"dist/cli/main.js","build-with-ak-mcp":"dist/mcp/stdio.js"},"publishConfig":{"access":"public"},"scripts":{"build":"tsup","dev":"tsx watch src/cli/main.ts","test":"vitest run","test:base":"vitest run --exclude=\"**/*target-extensions*\"","test:target":"vitest run","test:watch":"vitest","sync:contracts":"tsx scripts/sync-contracts.ts","check:drift":"tsx scripts/check-contract-drift.ts","typecheck":"tsc --noEmit","changelog":"tsx scripts/generate-changelog.ts","prepublishOnly":"pnpm build"},"keywords":["agentkit","build-with-ak","mcp","mcp-server","cli","showcase","cloudflare-workers"],"author":{"name":"AgentKit"},"license":"MIT","dependencies":{"@modelcontextprotocol/sdk":"^1.6.1","commander":"^13.1.0","ipaddr.js":"2.2.0","jose":"^6.0.8","picocolors":"^1.1.1","zod":"^3.24.2"},"devDependencies":{"@types/node":"^22.13.9","tsup":"^8.4.0","tsx":"^4.19.3","typescript":"^5.8.2","vitest":"^3.0.7","wrangler":"^4.128.0"},"gitHead":"9e96799b18d9ea7092527ebbd37c2554efa0f046","_id":"@bestagentkits/build-with-ak@1.0.3","bugs":{"url":"https://github.com/bestagentkits/build-with-ak-toolkits/issues"},"homepage":"https://github.com/bestagentkits/build-with-ak-toolkits#readme","_nodeVersion":"22.23.2","_npmVersion":"12.0.2","dist":{"integrity":"sha512-rMutzaVsAJEn5ajyOFKrGpG6nQ6pox0lNck3cJDhx9ZLUs8P7L/2f2VICBegZ3TJhg4ypTu00fyoujuGlZoCCg==","shasum":"831c53e5cebfc3164982c1b306056477428f8306","tarball":"https://registry.npmjs.org/@bestagentkits/build-with-ak/-/build-with-ak-1.0.3.tgz","fileCount":39,"unpackedSize":2639735,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bestagentkits%2fbuild-with-ak@1.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHtzDNnzPkTz0qr2fPUPCwXEkTPkyvZ3dofzGnii/HOIAiB+bGwCPykOvK2dPUm/yz4bsGdYeewJFAZ8iA811oDyWA=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:072a6c15-3b49-45e5-8d3f-6b4e9fb8893f"}},"directories":{},"maintainers":[{"name":"mrgoonie","email":"duynguyen@wearetopgroup.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/build-with-ak_1.0.3_1789209077455_0.904408937228248"},"_hasShrinkwrap":false}},"time":{"created":"2026-09-02T09:12:22.784Z","modified":"2026-09-12T10:31:18.097Z","1.0.0":"2026-09-02T09:12:23.068Z","1.0.1":"2026-09-12T09:30:12.114Z","1.0.2":"2026-09-12T09:49:48.044Z","1.0.3":"2026-09-12T10:31:17.721Z"},"bugs":{"url":"https://github.com/bestagentkits/build-with-ak-toolkits/issues"},"author":{"name":"AgentKit"},"license":"MIT","homepage":"https://github.com/bestagentkits/build-with-ak-toolkits#readme","keywords":["agentkit","build-with-ak","mcp","mcp-server","cli","showcase","cloudflare-workers"],"repository":{"type":"git","url":"git+https://github.com/bestagentkits/build-with-ak-toolkits.git"},"description":"CLI tool and MCP server for submitting and customizing showcase layouts on Build with AK (agentkit.best)","maintainers":[{"name":"mrgoonie","email":"duynguyen@wearetopgroup.com"}],"readme":"# Build with AK Toolkits 🚀\n\nOfficial developer **CLI** and **Model Context Protocol (MCP) server** for creating, validating, previewing, and submitting product showcases on **Build with AK** ([agentkit.best/build-with-ak](https://agentkit.best/build-with-ak)).\n\nPackage: `@bestagentkits/build-with-ak` · Binaries: `build-with-ak`, `build-with-ak-mcp`\n\n---\n\n## Overview\n\nBuild with AK Toolkits lets developers and AI coding agents publish rich, block-based product showcases to the AgentKit directory — from the terminal, from an interactive TUI studio, or autonomously via MCP.\n\n- **CLI** — `init`, `template`, `slug`, `media`, `pull`, `analytics`, `validate`, `diff`, `preview`, `push`, `submit`, `studio`.\n- **Terminal Studio** — keyboard-driven TUI for metadata, 12 block types, reorder, and review.\n- **Local preview** — loopback `127.0.0.1` live-reload server and offline static HTML export.\n- **Dual-transport MCP server** — local `stdio` for Cursor/Claude/OpenCode, and a Cloudflare Workers Streamable HTTP server with OAuth 2.1 (RFC 9728) + `x-api-key`.\n- **12 layout blocks, 5 curated templates** — includes YouTube video, owner-authored Activities, and server-measured Pulse; image fields require finalized asset UUIDs.\n- **Atomic CAS push & frozen submit** — single-call `PUT /listing` with `expectedDraftRevisionId`, and moderation-frozen `POST /submit`.\n\n---\n\n## Quick Start\n\n```bash\n# Install\nnpm install -g @bestagentkits/build-with-ak      # or: pnpm add -g / bun add -g\n\n# Configure your customer API key (generate at agentkit.best → Customer Dashboard)\nexport AGENTKIT_API_KEY=ck_live_...\nexport AGENTKIT_ENV=staging                 # or production (default)\n\n# Scaffold a workspace from a template\nbuild-with-ak init --template saas_product_launch\n\n# Upload media, validate, preview\nbuild-with-ak media upload ./assets/logo.png --kind logo --ref logo\nbuild-with-ak validate --ready\nbuild-with-ak preview --watch\n\n# Push (atomic CAS) then submit for moderation\nbuild-with-ak push --yes\nbuild-with-ak submit --yes\n```\n\nEvery command accepts `--json` for machine-readable `{ ok, data?, error? }` output and standardized exit codes (`0` ok, `2` validation, `3` auth, `4` not found, `5` CAS conflict, `6` network).\n\nAuthor `video`, `activities`, and `pulse` in `build-with-ak.json` using the existing validate/preview/push workflow. Activities start empty; add only real product updates with valid dates and optional safe public HTTPS links. Pulse accepts only a title alongside its type. Monitoring uses the published listing's `websiteUrl` and upstream server cron; local previews contain no check history or invented health metrics. See [Block Schemas](docs/block-schemas.md) for fields and limits. There are no dedicated Activities, Pulse, or cron CLI commands.\n\nRead your product page analytics without initializing a workspace:\n\n```bash\nbuild-with-ak analytics --json\nbuild-with-ak analytics --from 2026-08-01 --to 2026-08-31 --listing-id <owned-listing-uuid> --json\n```\n\nUses the existing API key (or global `--api-key`). Returns first-party totals and zero-filled daily UTC counts; default last 30 days, maximum 366. Views deduplicate IP + user agent per listing/day; outbound clicks count redirect requests; `referralConversions` is always `null` in totals and daily rows because conversion tracking is not instrumented. Report conversions as unavailable; do not infer conversions, conversion rates, or external product sales. MCP agents can call `build_with_ak_get_analytics` on either transport. Requires an upstream backend with `GET /api/build-with-ak/listing/analytics`; no target-extension flag is needed.\n\n---\n\n## Agent & Marketplace Integrations\n\n### 1. Claude Code & Claude Desktop Plugin\n\nInstall directly via Claude Plugin Marketplace:\n\n```bash\nclaude plugin add bestagentkits/build-with-ak-toolkits\n```\n\n### 2. skills.sh (Agent Ecosystem)\n\nInstall the skill to your coding agent (Claude Code, Cursor, Codex, OpenCode, Amp) via [skills.sh](https://skills.sh):\n\n```bash\n# Install to current project\nnpx skills add bestagentkits/build-with-ak-toolkits\n\n# Or install globally across all supported agents\nnpx skills add bestagentkits/build-with-ak-toolkits -g -y\n\n# Or use directly without installing\nnpx skills use bestagentkits/build-with-ak-toolkits --skill build-with-ak\n```\n\n### 3. Hosted Remote MCP Server (Streamable HTTP)\n\nConnect an OAuth-capable Streamable HTTP MCP client to this URL. Its normal browser sign-in and consent flow grants access to your own account; analytics starts with `build-with-ak:read`, and write actions request additional consent:\n\n```json\n{\n  \"mcpServers\": {\n    \"build-with-ak\": {\n      \"type\": \"http\",\n      \"url\": \"https://bwak.agentkit.best/mcp\"\n    }\n  }\n}\n```\n\nFor clients without browser OAuth, an optional `x-api-key` header remains supported. CLI and local stdio continue using your customer API key.\n\nThe hosted HTTP MCP endpoint above is separate from the optional [webmcp.dev](https://webmcp.dev/) connection inside the website's active Studio editor. That browser connection edits the open draft through Studio autosave; it does not submit or publish. See [MCP Setup](docs/mcp-setup.md#browser-studio-webmcp) for the boundary.\n\n### 4. Local stdio MCP Server\n\nAdd to your local MCP client configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"build-with-ak\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"--package=@bestagentkits/build-with-ak\", \"build-with-ak-mcp\"],\n      \"env\": {\n        \"AGENTKIT_API_KEY\": \"ck_live_...\",\n        \"AGENTKIT_ENV\": \"production\"\n      }\n    }\n  }\n}\n```\n\n### 5. OpenAI / ChatGPT Service Discovery\n\nThe live Cloudflare Worker provides standard discovery and schema manifests:\n\n- **AI Plugin Manifest**: `https://bwak.agentkit.best/.well-known/ai-plugin.json`\n- **OpenAPI 3.1.0 Specification**: `https://bwak.agentkit.best/openapi.json`\n- **OAuth 2.1 Metadata (RFC 9728)**: `https://bwak.agentkit.best/.well-known/oauth-protected-resource`\n- **Service Index**: `https://bwak.agentkit.best/`\n\n---\n\n## Documentation\n\n- [Quickstart](docs/quickstart.md)\n- [CLI Reference](docs/cli-reference.md)\n- [MCP Setup](docs/mcp-setup.md)\n- [Cloudflare Deployment](docs/cloudflare-deployment.md)\n- [OAuth 2.1 Configuration](docs/oauth-configuration.md)\n- [Release & NPM Publishing](docs/release-and-publishing.md)\n- [Block Schemas](docs/block-schemas.md)\n- [Media Guide](docs/media-guide.md)\n- Agent Skill: [`skills/build-with-ak/SKILL.md`](skills/build-with-ak/SKILL.md)\n\n---\n\n## Development\n\n```bash\npnpm install\npnpm test:base      # base 11-endpoint contract suite (100% green)\npnpm test:target    # target extension endpoints (media library, slug availability)\npnpm build          # bundle CLI, MCP stdio, worker, and library\npnpm typecheck\npnpm sync:contracts # re-pin wire schemas from ak-web (intentional contract upgrades only)\npnpm check:drift    # verify committed snapshots match the pinned commit\n```\n\nWire schemas are pinned from [`bestagentkits/ak-web`](https://github.com/bestagentkits/ak-web) at commit `6e548457dba509a39f875cb3fceffb2a5f722a1a` and committed under `src/contracts/generated/` with provenance digests in `src/contracts/provenance.ts`.\n\n---\n\n## License\n\nMIT © [AgentKit](https://agentkit.best)\n","readmeFilename":"README.md"}