create-dot-app
v3.0.0
Published
A CLI tool to bootstrap Polkadot-based decentralized applications with multiple frontend frameworks
Readme
Create Dot App
A command-line interface (CLI) tool designed to streamline the development process for Polkadot-based decentralized applications (dApps).
Features
Choose the Polkadot stack you want to build with:
⚡ Solidity - next
- Next.js (App Router) with React 19 and Tailwind CSS
- Web3Auth social/embedded wallet login
- Wagmi for EVM wallet and contract interactions
- Solidity smart contracts on Polkadot Hub (EVM)
🟣 Substrate (PAPI) - next-papi
- Next.js (App Router) with React 19 and Tailwind CSS
- PAPI (polkadot-api) for native Polkadot interaction
- smoldot light client transport
- Connect Wallet plus a sample
system.remarkextrinsic, wired out of the box
📦 Package Manager Support
Compatible with npm, yarn, pnpm, and bun
📋 Planned Templates
- Frontend Frameworks: Svelte, SvelteKit, Solid, Remix
- Backend Frameworks: Hono, Elysia, Fastify, H3
Want any specific UI or frontend framework such as Shadcn/UI, Chakra UI, or others? Let me know by opening an issue!
Usage
Interactive Mode
Create a new Polkadot dApp project with interactive prompts:
npx create-dot-app@latestEnter your project name when prompted, then pick a stack: Solidity (next) or Substrate (PAPI) (next-papi).
Non-Interactive Mode
Skip the prompts by providing options via CLI flags:
# Specify project name only (defaults to the next template)
npx create-dot-app@latest my-dapp
# Solidity dapp (Polkadot Hub EVM)
npx create-dot-app@latest my-dapp --template next
# Substrate dapp, PAPI SDK (Polkadot native)
npx create-dot-app@latest my-dapp --template next-papiCLI Options
| Option | Alias | Description |
|--------|-------|-------------|
| --template <template> | -t | Specify template (see available templates below) |
| --name <name> | | Specify project name (can also be first positional arg) |
| --help | -h | Show help message |
| --version | -v | Show version number |
Available Templates
next- Solidity (Next.js + Web3Auth + Wagmi, Polkadot Hub EVM)next-papi- Substrate (Next.js + PAPI light client, Polkadot native)
Quick Start
# Interactive mode (pick Solidity or Substrate)
npx create-dot-app@latest
# Non-interactive with a specific template
npx create-dot-app@latest my-dapp --template next # Solidity
npx create-dot-app@latest my-dapp --template next-papi # Substrate (PAPI)
# Navigate to project directory
cd my-dapp
# Install dependencies
npm install
# Start development server
npm run devDevelopment
Building from Source
# Clone the repository
git clone https://github.com/preschian/create-dot-app.git
cd create-dot-app/cli
# Install dependencies
bun install
# Build the CLI
bun run build
# Run locally
node dist/index.jsTesting
This CLI includes comprehensive E2E tests using Vitest and node-pty:
# Run all tests
bun run test
# Run tests in watch mode
bun run test:watchFor more details about testing, see TESTING.md.
CI/CD
The project uses GitHub Actions for continuous integration:
- CLI E2E Tests: Automated tests for all templates and features
- Package Manager Tests: Tests template installations with npm, yarn, pnpm, and bun
- Automated Releases: Publishes to npm on version tags
Contributing
We welcome contributions! Please feel free to submit issues and pull requests.
Get started building your Polkadot dApp today! 🚀
