How zuiidea/antd-admin works
Antd Admin is both a pair of admin-app templates and a scaffolding CLI. In the app, users authenticate, enter guarded routes, and work with URL-synced user tables and CRUD actions; the templates also provide themes and mock-first development. The README documents the CLI’s template-scaffolding purpose, while the tree shows its modules; detailed CLI call wiring and most app internals were not sampled, so those links are kept conservative. Lingui is an optional variant.
Main entry points: create.ts Create command · main.tsx App entry · MainLayout/index.tsx Admin layout · users/index.tsx User management
Components 32
Admin templates
- Routes and pages
apps/basic/src/routes - Admin layout
apps/basic/src/components/Layout/MainLayout/index.tsx - Dashboard
apps/basic/src/routes/_auth/dashboard/index.tsx - User management
apps/basic/src/routes/_auth/users/index.tsx - Table controls
apps/basic/src/components/DataTable/index.tsx - URL table state
apps/basic/src/hooks/useUrlSearchState.ts - Theme settings
apps/basic/src/stores/settings.ts - Theme controls
apps/basic/src/hooks/useAppTheme.ts - Lingui variant
apps/with-lingui/src
Identity and access
- Auth API
apps/basic/src/api/auth.ts - Login and registration
apps/basic/src/components/Auth/index.tsx - Auth state
apps/basic/src/stores/auth.ts - Session restore
apps/basic/src/utils/session.ts - Permission guards
apps/basic/src/hooks/usePermission.ts
Data and API
- CRUD hooks
apps/basic/src/hooks/useResourceCRUD.ts - User API
apps/basic/src/api/user.ts - HTTP client
apps/basic/src/utils/http.ts - API schemas
apps/basic/src/api/schemas.ts
App runtime
- App entry
apps/basic/src/main.tsx - Mock handlers
apps/basic/src/mocks/handlers/index.ts - Mock service worker
apps/basic/public/mockServiceWorker.js
Scaffolding CLI
- CLI entry
packages/create/src/cli.ts - Create command
packages/create/src/commands/create.ts - Scaffold prompts
packages/create/src/prompts.ts - Template catalog
packages/create/src/examples.ts - Template download
packages/create/src/download.ts - Project transforms
packages/create/src/transforms/run-transforms.ts - Dependency install
packages/create/src/install.ts - Git initialization
packages/create/src/git.ts
Other components
- Admin user
- CLI user
- Generated project
Connections 35
- Admin user → Routes and pages: navigates
- App entry → Routes and pages: mounts router
- App entry → Auth state: rehydrates
- App entry → Theme settings: rehydrates
- App entry → Session restore: restores session
- Routes and pages → Admin layout: renders
- Routes and pages → Permission guards: guards access
- Admin layout → Dashboard: navigates
- Admin layout → User management: navigates
- User management → Table controls: renders
- User management → URL table state: syncs search
- User management → CRUD hooks: uses
- CRUD hooks → User API: calls
- Login and registration → Auth API: calls
- Auth API → HTTP client: sends requests
- User API → HTTP client: sends requests
- User API → API schemas: uses contracts
- Session restore → Auth API: fetches session
- Session restore → Auth state: updates
- Admin layout → Theme controls: offers controls
- Theme controls → Theme settings: reads and writes
- App entry → Mock service worker: starts in development
- Mock service worker → Mock handlers: intercepts requests
- CLI user → CLI entry: runs
- CLI entry → Create command: dispatches
- Create command → Scaffold prompts: collects options
- Create command → Template catalog: resolves template
- Create command → Template download: downloads template
- Create command → Project transforms: applies transforms
- Create command → Dependency install: installs dependencies
- Create command → Git initialization: initializes repository
- Template download → Generated project: writes project
- Dependency install → Generated project: installs in project
- Git initialization → Generated project: initializes project
- Lingui variant → App entry: variant of