create-efr-app
v0.0.2
Published
Scaffold modern full-stack applications with best practices baked in
Maintainers
Readme
create-efr-app
Scaffold modern full-stack applications with best practices baked in.
Usage
# pnpm (recommended)
pnpm create efr-app my-app
# npm
npm create efr-app my-app
# yarn
yarn create efr-app my-app
# bun
bun create efr-app my-appFeatures
- 🚀 Multiple platforms: Desktop (Tauri) or Web
- ⚛️ Modern frameworks: React + Vite or Next.js
- 🎨 shadcn/ui: Beautiful, accessible components
- 🔥 TypeScript: Full type safety
- 🎯 Best practices: ESLint (antfu config), proper configs
- 📦 Package managers: pnpm, npm, yarn, or bun
- 🔄 CI/CD: Optional GitHub Actions workflows
- 🎭 Addons: TanStack Query, Drizzle ORM, tRPC
Tech Stack
Base Templates
- Tauri + React: Cross-platform desktop apps with Rust backend
- Tauri + Next.js: Desktop apps with Next.js (coming soon)
- Web + React: Fast web apps with Vite
- Web + Next.js: Full-stack web apps (coming soon)
Optional Addons
- shadcn/ui: Pre-configured UI component library
- TanStack Query: Powerful async state management
- Drizzle ORM: TypeScript-first database toolkit
- tRPC: End-to-end typesafe APIs
Development
# Install dependencies
pnpm install
# Run in dev mode
pnpm dev
# Build
pnpm build
# Test the CLI
pnpm start my-test-appProject Structure
create-efr-app/
├── src/
│ ├── index.ts # CLI entry point
│ ├── cli.ts # Main CLI logic
│ ├── prompts.ts # Interactive prompts
│ ├── scaffold.ts # Project scaffolding (fetches from GitHub)
│ ├── types.ts # TypeScript types
│ ├── installers/ # Base and addon installers
│ │ ├── base.ts # GitHub repo references for templates
│ │ └── addons.ts # Addon configurations
│ └── utils/ # Helper utilities
│ ├── files.ts # File operations & token replacement
│ └── package.ts # Package.json updates
└── dist/ # Build outputNote: Templates are fetched from GitHub repositories (using giget) rather than bundled locally. This keeps the CLI package size small and allows templates to be updated independently.
Contributing
Contributions welcome! Please read the contributing guidelines first.
License
MIT © eggfriedrice24
