lili-solana-cli
Version:
Production-ready CLI tool for Solana developers - Build, Deploy, and Manage Solana programs
331 lines (330 loc) • 10.3 kB
JSON
{
"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}"
}
}
]
}
}
}
]
}