create-reactive
Scaffolding tool that creates a new Reactive project with your choice of framework, tooling, and example contracts.
Usage
bash
npm create @growae/reactivebash
yarn create @growae/reactivebash
pnpm create @growae/reactiveInteractive Setup
The scaffolder prompts you for:
- Project name — directory name for the new project
- Framework — React, Vue, Solid, or Vanilla (core only)
- Template — Vite, Next.js, Nuxt, or SolidStart
- Features — Which Aeternity features to include examples for:
- Basic (connect + balance)
- Contracts (deploy + call)
- AENS (name registration)
- Oracles
- State Channels
Example
bash
$ pnpm create @growae/reactive
✔ Project name: my-aepp
✔ Framework: React
✔ Template: Vite
✔ Features: Basic, Contracts
Scaffolding project in ./my-aepp...
Done. Now run:
cd my-aepp
pnpm install
pnpm devTemplates
Vite + React
- React 18+ with Vite
@growae/reactive-react+@tanstack/react-query- Example connect wallet + balance component
- TypeScript configured
Next.js
- Next.js App Router
@growae/reactive-react+@tanstack/react-query- SSR-safe provider setup
- Server/client component examples
Vite + Vue
- Vue 3 with Vite
@growae/reactive-vue+@tanstack/vue-query- Example composable usage
- TypeScript configured
Nuxt
- Nuxt 3 with Reactive module
- Auto-imported composables
- SSR configured
Vite + Solid
- SolidJS with Vite
@growae/reactive-solid+@tanstack/solid-query- Example primitive usage
- TypeScript configured
Generated Structure
my-aepp/
├── src/
│ ├── App.tsx # Main component with examples
│ ├── config.ts # Reactive config
│ ├── main.tsx # Entry point with providers
│ └── generated.ts # Generated contract types (if contracts selected)
├── contracts/ # Example Sophia contracts (if contracts selected)
│ └── Greeter.aes
├── reactive.config.ts # CLI config
├── package.json
├── tsconfig.json
└── vite.config.tsNon-interactive Mode
Pass flags to skip prompts:
bash
pnpm create @growae/reactive my-aepp --template vite-react --features basic,contracts