create-amade
v1.0.0
Published
Scaffold a finished React admin dashboard — users, roles, notifications, auth and settings already built, wired to a documented API
Maintainers
Readme
create-amade
Scaffold a finished React admin dashboard — not a starter kit of parts you assemble into one.
amade — ئامادە — Kurdish for ready.
npm create amade@latest my-appIt asks for a display name, brand colour, languages, and whether to keep the in-memory backend, then writes a tailored project that runs immediately.
What you get
Users, roles and permissions, notifications, account settings with device management, five auth screens, a ⌘K command palette, tables, charts and uploads — all built, all wired to a documented API.
| Screen | What's in it | |---|---| | Dashboard | Stat tiles, revenue series, channel breakdown, range picker | | Items | The reference CRUD list: server paging/sort/search, filters, row selection, bulk delete, CSV export, detail page, activity feed | | Users | Invite and edit, status filter, suspend/reactivate, bulk actions, CSV export, deep-linked by role | | Roles | Permission matrix over a server-sent catalogue, built-in roles locked, member counts linking into Users | | Notifications | Topbar bell with a polled unread badge, preview dropdown, cursor-paged feed | | Settings | Profile, avatar upload, change password with a live strength meter, signed-in devices with revoke | | Auth | Sign in, register, forgot password, reset password, verify email |
Runs with no backend at all: with VITE_API_URL unset the app serves
itself from an in-memory mock, so every screen above works on the first
npm run dev. The whole mock layer is dropped from a production build rather
than shipped as dead code.
Connecting your backend
docs/API.md in the generated project is the full contract — every endpoint,
its query params, request and response shapes, and the conventions that apply
across all of them (auth, error shape, pagination, bulk actions). Implement it,
set VITE_API_URL in .env.local, and nothing else changes.
POST /auth/login { email, password } → { accessToken, user }
GET /auth/me → User
GET /<resource> ?page&pageSize&sort&dir&search → { data, total }Stack
Vite 8 · React 19 · TypeScript 7 · Tailwind v4 (CSS-first theme, no config file) · React Router 8 · TanStack Query 5 · TanStack Table 9 · Recharts 3 · react-hook-form + zod · Playwright.
English, Arabic and Kurdish with full RTL, built on CSS logical properties rather than direction branching — so the whole layout mirrors, including tables, pagers and menus.
Conventions
The generated project carries a CLAUDE.md holding the rule set that keeps
every screen consistent: colours only from index.css, logical properties
only, one table component, one chart layer, no inline strings. Read it before
adding code — it is what stops the pattern drifting as the app grows.
License
MIT
