create-appset-egg
v1.1.2
Published
Scaffold a new project with the AppSet approved stack
Maintainers
Readme
create-appset-egg
Scaffold a new full-stack project with the AppSet approved stack.
Quick Start
npx create-appset-egg my-appYou'll be prompted for your Firebase project ID, then the scaffolder will set up your project and install dependencies.
What You Get
A production-ready monorepo with:
Frontend
- React 18 with TypeScript (strict mode)
- Vite for fast builds
- Chakra UI component library
- React Router for navigation
- Zustand for global state
- React Query for server state
- React Hook Form + Zod for forms
- Axios API client with auth interceptors
- PostHog analytics integration
Backend
- Firebase Cloud Functions
- Firebase Auth
- Firestore database
- Firebase emulator support for local development
Project Structure
my-app/
├── src/ # Frontend source
│ ├── api/ # API client
│ ├── app/ # App providers & routes
│ ├── auth/ # Auth context & guards
│ ├── components/ # UI components
│ ├── config/ # Environment & Firebase config
│ ├── state/ # Zustand stores
│ └── main.tsx
├── core-services/ # Firebase Cloud Functions
├── firebase.json # Firebase configuration
├── .firebaserc # Firebase project settings
└── package.jsonGetting Started
After scaffolding:
cd my-app
# Terminal 1: Start Firebase emulators
firebase emulators:start
# Terminal 2: Start frontend dev server
npm run devPrerequisites
- Node.js 18+
- npm
- Firebase CLI (
npm install -g firebase-tools) - A Firebase project (create one at https://console.firebase.google.com)
Conventions
- Use
@/*path alias for imports (maps tosrc/*) - Access env vars via
src/config/env.ts, notimport.meta.envdirectly - Use
loggerfromsrc/logging/logger.tsinstead ofconsole.* - Use
trackerfromsrc/analytics/tracker.tsfor analytics events
License
MIT
