create-fsd-gardener-planner
v1.4.1
Published
Scaffold a Feature-Sliced Design gardener planner app with React 18, Vite, TypeScript
Readme
create-fsd-gardener-planner
A CLI scaffolder for Feature-Sliced Design React 18 + Vite + TypeScript projects with a gardener/todo-map theme.
Prerequisites
- Node.js ≥ 18
- pnpm (npm fallback available)
Usage
npx create-fsd-gardener-planner@latest my-app
cd my-app
pnpm devWhat's Included
✨ Complete FSD Architecture
- 6 layers:
app→pages→widgets→features→entities→shared - Barrel exports for clean imports
- Path aliases (
@app,@pages,@widgets,@features,@entities,@shared)
📦 Tech Stack
- React 18 + Vite 5 + TypeScript (strict mode)
- TanStack Query v5 (data fetching/caching)
- Zustand v4 (state management)
- react-hook-form + Zod (forms + validation)
- Tailwind CSS v3 + shadcn/ui patterns
- react-leaflet + Leaflet (maps)
- React Router v6 (routing)
- Axios (HTTP client with JWT interceptors)
⚙️ Dev Tools
- ESLint + Prettier (linting & formatting)
- Vitest (unit testing)
- Strict TypeScript configuration
Project Structure
src/
├── app/ # Root, providers (Query, Auth), router
├── pages/ # Page-level components (PlannerPage)
├── widgets/ # Composite UI widgets (TodoMap)
├── features/ # Feature logic (TodoCreate form)
├── entities/ # Domain models (Todo, Location, Route)
└── shared/ # Utilities, API client, auth helpersAvailable Scripts
pnpm dev # Start dev server (localhost:5173)
pnpm build # Build for production
pnpm preview # Preview production build
pnpm lint # Run ESLint
pnpm format # Format code with Prettier
pnpm test # Run VitestFSD Import Rules
Layers can only import from lower layers:
app→pages,sharedpages→widgets,features,entities,sharedwidgets→features,entities,sharedfeatures→entities,sharedentities→sharedonlyshared→ npm packages only
Next Steps
- Update
VITE_API_BASE_URLin.env.localto your API endpoint - Implement real Todo API endpoints (currently stubbed)
- Customize Tailwind theme and components
- Add more features following the FSD pattern
License
MIT
