The fastest way to create Solana apps π
Run one command to generate a new project:
# npm npm create solana-dapp@latest # pnpm pnpm create solana-dapp@latest # bun bun create solana-dapp@latest # yarn (only supports the 'latest' tag) yarn create solana-dappThis is a CLI that automates the initialization of predefined Solana templates (see below).
The official create-solana-dapp templates can be found in this repository.
You can also use create-solana-dapp to create projects using external templates:
The --template (or -t) flag supports anything that giget supports
# npm npm create solana-dapp@latest -t <github-org>/<github-repo> # pnpm pnpm create solana-dapp@latest -t <github-org>/<github-repo> # yarn yarn create solana-dapp -t <github-org>/<github-repo>Template authors can add an init script to the package.json file to help set up the project.
Use this script to return instructions to the user, check the anchor and solana versions, and replace text and files in the project.
Contributions are welcome! Please see CONTRIBUTING.md for more info.
Tip
This project uses pnpm as the package manager. If you don't have it, you can install it using corepack:
corepack enable corepack prepare pnpm@10 --activateTo install the project locally, run the following commands:
git clone https://github.com/solana-foundation/create-solana-dapp.git cd create-solana-dapp pnpm install pnpm buildDetailed instructions on the local development workflow are outlined in the Development Workflow section of the CONTRIBUTING guidelines.
{ "name": "your-template", "create-solana-dapp": { // These instructions will be returned to the user after installation "instructions": [ "Run Anchor commands:", // Adding a '+' will make the line bold and '{pm}' is replaced with the package manager "+{pm} run anchor build | test | localnet | deploy", ], // Rename is a map of terms to rename "rename": { // Rename every instance of counter "counter": { // With the name of the project "to": "{{name}}", // In the following paths "paths": ["anchor", "src"], }, }, // Check versions and give a warning if it's not installed or the version is lower "versions": { "adb": "33.0.0", "anchor": "0.30.1", "solana": "1.18.0", }, }, }