UNPKG

lili-solana-cli

Version:

Production-ready CLI tool for Solana developers - Build, Deploy, and Manage Solana programs

331 lines (330 loc) 10.3 kB
{ "version": 1, "templates": [ { "name": "fullstack-starter", "title": "Official Solana dApp Scaffold", "description": "Fetches the Solana Labs dApp scaffold from GitHub (React + Anchor).", "source": "github", "repo": "solana-labs/dapp-scaffold", "ref": "main", "subdir": "app", "featured": true, "bootstrap": { "packageManager": "npm", "installCommand": "npm install", "devCommand": "npm run dev" } }, { "name": "token-gated-site", "title": "Token-Gated Next.js Site", "description": "Next.js membership portal with SPL token gating logic and wallet adapter UI.", "source": "github", "repo": "reposlayer/lili-token-gated-site", "ref": "main", "featured": true, "bootstrap": { "packageManager": "npm", "installCommand": "npm install", "devCommand": "npm run dev", "liliDeploy": { "type": "web", "tokenSetup": { "tokens": [ { "id": "membership", "label": "Membership Token", "purpose": "Holders unlock the members portal.", "defaultSymbol": "GATE", "defaultSupply": "1_000_000", "amountPrompt": { "message": "Minimum token balance required to access (UI units)", "default": "1" } } ] }, "prompts": [ { "key": "COMMUNITY_NAME", "type": "input", "message": "Community display name", "default": "Lili Members" } ], "envTargets": [ { "file": ".env.local", "entries": { "NEXT_PUBLIC_SOLANA_RPC": "{rpcUrl}", "NEXT_PUBLIC_REQUIRED_MINT": "{TOKEN_MEMBERSHIP_MINT}", "NEXT_PUBLIC_REQUIRED_DECIMALS": "{TOKEN_MEMBERSHIP_DECIMALS}", "NEXT_PUBLIC_REQUIRED_BALANCE": "{TOKEN_MEMBERSHIP_REQUIRED_AMOUNT_UI}", "NEXT_PUBLIC_COMMUNITY_NAME": "{PROMPT_COMMUNITY_NAME}" } } ] } } }, { "name": "raffle-dapp", "title": "Raffle Program + dApp", "description": "Anchor/Solana raffle program with Vite React frontend and automated env wiring.", "source": "github", "repo": "reposlayer/lili-raffle-dapp", "ref": "main", "featured": true, "bootstrap": { "packageManager": "pnpm", "installCommand": "pnpm install", "deployCommands": [ { "command": "pnpm --filter anchor build" }, { "command": "pnpm --filter anchor deploy:devnet" } ], "devCommand": "pnpm dev", "liliDeploy": { "workspace": "anchor", "programName": "lili_raffle_program", "envTargets": [ { "file": ".env", "entries": { "ANCHOR_PROVIDER_URL": "{rpcUrl}", "ANCHOR_WALLET": "{walletPath}", "VITE_SOLANA_RPC": "{rpcUrl}", "VITE_RAFFLE_PROGRAM_ID": "{programId}" } }, { "file": "anchor/.env", "entries": { "ANCHOR_PROVIDER_URL": "{rpcUrl}", "ANCHOR_WALLET": "{walletPath}", "PROGRAM_KEYPAIR": "{programKeypairWorkspaceRelative}", "PROGRAM_ID": "{programId}" } } ] } } }, { "name": "dao-launch-kit", "title": "DAO Launch Kit", "description": "Governance token mint, multisig config, and React admin dashboard starter.", "source": "github", "repo": "reposlayer/lili-dao-launch-kit", "ref": "main", "featured": true, "bootstrap": { "packageManager": "npm", "installCommand": "npm install", "devCommand": "npm run dev", "liliDeploy": { "type": "web", "tokenSetup": { "tokens": [ { "id": "governance", "label": "Governance Token", "purpose": "Token used for DAO voting weight and membership.", "defaultSymbol": "GOV", "defaultSupply": "1_000_000" } ] }, "prompts": [ { "key": "REALM", "type": "input", "message": "Realm address (optional, enter later if unknown)", "default": "", "validate": "publicKey", "optional": true }, { "key": "TREASURY", "type": "input", "message": "Treasury address (optional)", "default": "", "validate": "publicKey", "optional": true } ], "envTargets": [ { "file": ".env.local", "entries": { "NEXT_PUBLIC_SOLANA_RPC": "{rpcUrl}", "NEXT_PUBLIC_REALM": "{PROMPT_REALM}", "NEXT_PUBLIC_TREASURY": "{PROMPT_TREASURY}", "NEXT_PUBLIC_GOVERNANCE_MINT": "{TOKEN_GOVERNANCE_MINT}", "NEXT_PUBLIC_GOVERNANCE_DECIMALS": "{TOKEN_GOVERNANCE_DECIMALS}" } } ] } } }, { "name": "anchor-program-starter", "title": "Anchor Program Starter", "description": "Pure Anchor workspace with TypeScript tests and deploy scripts.", "source": "github", "repo": "reposlayer/lili-anchor-program-starter", "ref": "main", "featured": true, "bootstrap": { "packageManager": "npm", "installCommand": "npm install", "deployCommands": [ { "command": "npm run build" }, { "command": "npm run deploy:devnet" } ], "liliDeploy": { "programName": "lili_anchor_program", "envTargets": [ { "file": ".env", "entries": { "ANCHOR_PROVIDER_URL": "{rpcUrl}", "ANCHOR_WALLET": "{walletPath}", "PROGRAM_KEYPAIR": "{programKeypairWorkspaceRelative}", "PROGRAM_ID": "{programId}" } } ] } } }, { "name": "anchor-fullstack-starter", "title": "Anchor Fullstack Monorepo", "description": "Anchor workspace + Next.js app with generated SDK and orchestrated dev script.", "source": "github", "repo": "reposlayer/lili-anchor-fullstack-starter", "ref": "main", "featured": true, "bootstrap": { "packageManager": "pnpm", "installCommand": "pnpm install", "deployCommands": [ { "command": "pnpm --filter anchor build" }, { "command": "pnpm --filter anchor deploy:devnet" } ], "devCommand": "pnpm dev", "liliDeploy": { "workspace": "anchor", "programName": "lili_anchor_program", "envTargets": [ { "file": ".env", "entries": { "ANCHOR_PROVIDER_URL": "{rpcUrl}", "ANCHOR_WALLET": "{walletPath}", "NEXT_PUBLIC_SOLANA_RPC": "{rpcUrl}", "NEXT_PUBLIC_ANCHOR_PROGRAM_ID": "{programId}", "PROGRAM_ID": "{programId}" } }, { "file": "anchor/.env", "entries": { "ANCHOR_PROVIDER_URL": "{rpcUrl}", "ANCHOR_WALLET": "{walletPath}", "PROGRAM_KEYPAIR": "{programKeypairWorkspaceRelative}", "PROGRAM_ID": "{programId}" } } ] } } }, { "name": "solana-coinflip", "title": "Coinflip Wager DApp", "description": "Anchor-powered coinflip game with PDA vault, TypeScript tests, and deploy script.", "source": "github", "repo": "reposlayer/lili-solana-coinflip", "ref": "main", "featured": false, "bootstrap": { "packageManager": "npm", "installCommand": "npm install", "deployCommands": [ { "command": "anchor build" }, { "command": "anchor test" } ] } }, { "name": "nft-launchpad", "title": "NFT Launchpad", "description": "Metaplex-ready Next.js launchpad with wallet adapters and drop configurator.", "source": "github", "repo": "reposlayer/lili-nft-launchpad", "ref": "main", "featured": true, "bootstrap": { "packageManager": "npm", "installCommand": "npm install", "deployCommands": [ { "name": "Provision marketplace", "command": "npm run bootstrap:devnet", "env": { "MARKETPLACE_TARGET_NETWORK": "{PROMPT_MARKETPLACE_NETWORK}", "MARKETPLACE_SEED_DEMO": "{PROMPT_SEED_DEMO_DATA}" } } ], "devCommand": "npm run dev", "liliDeploy": { "type": "web", "prompts": [ { "key": "MARKETPLACE_NETWORK", "message": "Which Solana cluster? (devnet / mainnet-beta)", "default": "devnet" }, { "key": "SEED_DEMO_DATA", "type": "confirm", "message": "Seed a demo NFT listing after bootstrap?", "default": true } ], "envTargets": [ { "file": ".env.local", "entries": { "NEXT_PUBLIC_SOLANA_RPC": "{rpcUrl}", "NEXT_PUBLIC_SOLANA_CLUSTER": "{network}", "MARKETPLACE_AUTHORITY_PUBLIC_KEY": "{walletPublicKey}", "MARKETPLACE_AUTHORITY_KEYPAIR": "{walletPath}" } } ] } } } ] }