{"_id":"@bonkit/airdrop-studio","_rev":"3-2be90c11f1d5d683add509a767cbbd51","name":"@bonkit/airdrop-studio","dist-tags":{"latest":"0.1.0"},"versions":{"0.0.0-bootstrap.0":{"name":"@bonkit/airdrop-studio","version":"0.0.0-bootstrap.0","keywords":["solana","airdrop","campaign","studio","bonkit"],"author":{"name":"Bonkit-Dev"},"license":"MIT","_id":"@bonkit/airdrop-studio@0.0.0-bootstrap.0","maintainers":[{"name":"bonkit-dev","email":"dev@bonkit.dev"}],"homepage":"https://github.com/bonkit-dev/airdrop-studio#readme","bugs":{"url":"https://github.com/bonkit-dev/airdrop-studio/issues"},"bin":{"airdrop-studio":"dist/cli.js"},"dist":{"shasum":"770a513af738085f33ef878580d11f5e9795d4a4","tarball":"https://registry.npmjs.org/@bonkit/airdrop-studio/-/airdrop-studio-0.0.0-bootstrap.0.tgz","fileCount":166,"integrity":"sha512-Dh1zcFFfi89QMo/ZOtqcif4J8NDC0QkZT34KkeiTSz6OYmZTWYoPobQUFtXlSWw/2mHcJm1T7xspzL+uQ9qztA==","signatures":[{"sig":"MEUCIQCFL2CVxuULKvC2NibzNlGv5eoq584Y7cPFmR8lBJ+5yAIgS7eNFLb7i4MsNLYyRp/gI9Z0tCiKArPCSnM+UNXP7EM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2016003},"type":"module","engines":{"node":">=18"},"gitHead":"1f5a169652ee4a43d5f2ab51638ce1e8e2a3fa7b","scripts":{"lint":"tsc -p tsconfig.json --noEmit && tsc -p studio-app/tsconfig.json --noEmit","test":"node -e \"console.log('no tests yet for @bonkit/airdrop-studio')\"","build":"rm -rf dist && tsc -p tsconfig.json && vite build --config studio-app/vite.config.ts","prettier":"pnpm prettier --write packages/**/*.{ts.tsx}","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p studio-app/tsconfig.json --noEmit","dev:studio":"node --import tsx src/dev/run-studio-dev.ts"},"_npmUser":{"name":"bonkit-dev","email":"dev@bonkit.dev"},"deprecated":"Bootstrap release for trusted publisher setup. Use 0.1.0 or later.","repository":{"url":"git+https://github.com/bonkit-dev/airdrop-studio.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI that launches a local browser-based studio for creating Solana airdrop campaign pages.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"zod":"^3.24.3","bs58":"^6.0.0","open":"^10.1.0","@solana/web3.js":"^1.98.4","@coral-xyz/anchor":"0.31.1","@solana/spl-token":"^0.4.14","@bonkit/airdrop-sdk":"^0.3.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","clsx":"^2.1.1","vite":"^7.1.11","react":"^19.2.0","zustand":"^5.0.0","react-dom":"^19.2.0","@types/node":"^22.15.3","tailwindcss":"^4.2.2","@types/react":"^19.2.14","lucide-react":"^0.564.0","tailwind-merge":"^3.3.1","tw-animate-css":"^1.4.0","@types/react-dom":"^19.2.3","react-day-picker":"^9.8.0","@tailwindcss/vite":"^4.2.2","@radix-ui/react-slot":"^1.2.4","@vitejs/plugin-react":"^4.7.0","@radix-ui/react-toast":"^1.2.15","@rollup/plugin-inject":"^5.0.5","@radix-ui/react-dialog":"^1.1.14","@radix-ui/react-select":"^2.2.6","@radix-ui/react-switch":"^1.2.6","@radix-ui/react-popover":"^1.1.14","@radix-ui/react-tooltip":"^1.2.8","@radix-ui/react-progress":"^1.1.8","class-variance-authority":"^0.7.1","vite-plugin-node-polyfills":"^0.26.0","@solana/wallet-adapter-base":"^0.9.27","@solana/wallet-adapter-react":"^0.15.39","@icons-pack/react-simple-icons":"^13.8.0","@solana/wallet-adapter-wallets":"^0.19.37"},"_npmOperationalInternal":{"tmp":"tmp/airdrop-studio_0.0.0-bootstrap.0_1776665035918_0.41013570793458065","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@bonkit/airdrop-studio","version":"0.1.0","type":"module","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"repository":{"type":"git","url":"git+https://github.com/bonkit-dev/airdrop-studio.git"},"bin":{"airdrop-studio":"dist/cli.js"},"engines":{"node":">=18"},"scripts":{"build":"rm -rf dist && tsc -p tsconfig.json && vite build --config studio-app/vite.config.ts","dev:studio":"node --import tsx src/dev/run-studio-dev.ts","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p studio-app/tsconfig.json --noEmit","prettier":"pnpm prettier --write packages/**/*.{ts.tsx}","lint":"tsc -p tsconfig.json --noEmit && tsc -p studio-app/tsconfig.json --noEmit","test":"node -e \"console.log('no tests yet for @bonkit/airdrop-studio')\""},"dependencies":{"@bonkit/airdrop-sdk":"^0.3.3","@coral-xyz/anchor":"0.31.1","@solana/spl-token":"^0.4.14","@solana/web3.js":"^1.98.4","bs58":"^6.0.0","open":"^10.1.0","zod":"^3.24.3"},"devDependencies":{"@icons-pack/react-simple-icons":"^13.8.0","@radix-ui/react-dialog":"^1.1.14","@radix-ui/react-popover":"^1.1.14","@radix-ui/react-progress":"^1.1.8","@radix-ui/react-select":"^2.2.6","@radix-ui/react-slot":"^1.2.4","@radix-ui/react-switch":"^1.2.6","@radix-ui/react-toast":"^1.2.15","@radix-ui/react-tooltip":"^1.2.8","@rollup/plugin-inject":"^5.0.5","@solana/wallet-adapter-base":"^0.9.27","@solana/wallet-adapter-react":"^0.15.39","@solana/wallet-adapter-wallets":"^0.19.37","@tailwindcss/vite":"^4.2.2","@types/node":"^22.15.3","@types/react":"^19.2.14","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^4.7.0","class-variance-authority":"^0.7.1","clsx":"^2.1.1","lucide-react":"^0.564.0","react":"^19.2.0","react-day-picker":"^9.8.0","react-dom":"^19.2.0","tailwind-merge":"^3.3.1","tailwindcss":"^4.2.2","tsx":"^4.20.6","tw-animate-css":"^1.4.0","vite":"^7.1.11","vite-plugin-node-polyfills":"^0.26.0","zustand":"^5.0.0"},"description":"CLI that launches a local browser-based studio for creating Solana airdrop campaign pages.","keywords":["solana","airdrop","campaign","studio","bonkit"],"license":"MIT","author":{"name":"Bonkit-Dev"},"homepage":"https://github.com/bonkit-dev/airdrop-studio#readme","bugs":{"url":"https://github.com/bonkit-dev/airdrop-studio/issues"},"gitHead":"4509e3d9374ba3b63d562a5b646fd91bd083fa67","_id":"@bonkit/airdrop-studio@0.1.0","_nodeVersion":"24.14.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-XZ/3PXymMEzzuuyne+qeXpe/YWz9vBzgRHlZ2DAwOYgIfqwm83RSgq2+YbBbwFfxV2lhzCAGdYZLpzK2es4EyQ==","shasum":"1be5adeb5d070832fa67e536ee76207b3e61fc25","tarball":"https://registry.npmjs.org/@bonkit/airdrop-studio/-/airdrop-studio-0.1.0.tgz","fileCount":166,"unpackedSize":2015991,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bonkit%2fairdrop-studio@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEwU3CqCFhF+StXIDmnrhpMY1XwJ3HycBkGWpXKF0vFtAiB+EoPsaSpLr9SNsuexBCLC9bLYcFMzbrKH3T9k8hWOIA=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7e0d51d-41a4-4061-bb85-bab401c262f1"}},"directories":{},"maintainers":[{"name":"bonkit-dev","email":"dev@bonkit.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/airdrop-studio_0.1.0_1776665962702_0.37748676881418897"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-20T06:03:55.807Z","modified":"2026-04-20T06:19:23.160Z","0.0.0-bootstrap.0":"2026-04-20T06:03:56.107Z","0.1.0":"2026-04-20T06:19:22.856Z"},"bugs":{"url":"https://github.com/bonkit-dev/airdrop-studio/issues"},"author":{"name":"Bonkit-Dev"},"license":"MIT","homepage":"https://github.com/bonkit-dev/airdrop-studio#readme","keywords":["solana","airdrop","campaign","studio","bonkit"],"repository":{"type":"git","url":"git+https://github.com/bonkit-dev/airdrop-studio.git"},"description":"CLI that launches a local browser-based studio for creating Solana airdrop campaign pages.","maintainers":[{"name":"bonkit-dev","email":"dev@bonkit.dev"}],"readme":"# @bonkit/airdrop-studio\n\nCLI tool that launches a local browser-based studio for creating Solana airdrop campaign pages. Generates a deployable static SPA — no server required.\n\n## Quick Start\n\n```bash\nnpx @bonkit/airdrop-studio my-campaign\n```\n\nThis opens the Bonkit studio in your browser. Configure your campaign visually, then click **Generate App** to produce a deployable project.\n\n## What It Does\n\n1. **Opens a visual studio** in your browser for campaign configuration\n2. **Configures layout, theme, branding** with live preview\n3. **Creates an on-chain airdrop** (draft → recipients → deposit → start)\n4. **Generates a static React app** deployable to any hosting (Vercel, Netlify, GitHub Pages, etc.)\n\n> Creating an on-chain airdrop requires a Solana wallet and SOL for transaction fees.\n\n## Usage\n\n```bash\n# Create a new campaign workspace and open the studio\nnpx @bonkit/airdrop-studio my-campaign\n\n# Or install globally\nnpm install -g @bonkit/airdrop-studio\n\n# Then use the CLI directly\nairdrop-studio my-campaign\n\n# Re-open an existing workspace\nairdrop-studio ./my-campaign\n\n# Open studio for current directory\nairdrop-studio .\n\n# Help\nairdrop-studio --help\n```\n\n## Generated App\n\nThe studio generates a Vite + React + TypeScript SPA with:\n\n- **4 layout presets** — Centered, Two-Column, Hero Banner, Step Card\n- **Solana wallet integration** — Phantom, Solflare, and all Wallet Standard compatible wallets\n- **On-chain airdrop claim** — eligibility check + token claim flow\n- **Customizable theme** — colors, fonts, radius, all via CSS custom properties\n- **AI-ready** — generated apps include `CLAUDE.md` and `AGENTS.md` so AI coding agents (Claude Code, Cursor, etc.) can safely customize the output\n\n### Deploy\n\n```bash\ncd my-campaign\npnpm install\n\n# Set deployment URL for social sharing meta tags (optional)\n# Edit .env and set VITE_SITE_URL=https://your-domain.com\n\npnpm build\n# Upload dist/ to your hosting provider\n```\n\nHTTPS is required — Solana wallet extensions refuse to connect on plain HTTP.\n\n## Requirements\n\n- Node.js >= 18\n- pnpm\n\n## Links\n\n- [Bonkit](https://bonkit.dev)\n","readmeFilename":"README.md"}