A minimal, modern Vite + React + TypeScript starter focused on clean structure, fast DX, and reusable UI primitives.
- Modern stack: Vite, React, TypeScript, ESLint
- Clean structure:
src/modules,src/routes, andsrc/layoutsfor clear separation of concerns - UI components: Reusable inputs, buttons, dialogs, and toasts in
src/components/ui - Example modules:
- Counter: Simple state and event handling example
- Timer: Interval-based state updates
- Tasks: Data, schema, and UI for task-style flows
- Experiment: Small focus/UX experiments
src/app.tsx: App entry layout and routing shellsrc/main.tsx: React + Vite bootstrapsrc/layouts: Shared layout componentssrc/modules: Feature modules (task,timer,counter, etc.)src/routes: Route-level components (e.g.about,task-id)src/components/ui: Base UI building blocks
- Node.js: Recommended LTS (via nvm is ideal)
- npm: Comes with Node
You can verify:
node -v
npm -v-
Clone the repo
git clone https://github.com/thalhahs/flowzen.git cd flowzen -
Install dependencies
npm install
-
Start the dev server
npm run dev
Then open the URL Vite prints, typically:
http://localhost:5173/
npm run dev: Start Vite dev servernpm run build: Create a production buildnpm run preview: Preview the production build locally
- Add new pages: Create a component in
src/routesand wire it intoapp.tsx - Add new features: Create a folder in
src/modulesand keep UI/data/logic close together - Adjust styling: Tweak global styles in
src/index.cssand extend the UI primitives insrc/components/ui
- Fork the repo
- Create a feature branch
- Commit your changes with clear messages
- Open a pull request describing your change
This project is open source; feel free to use it as a starting point for your own experiments and internal tools.