Loading...
Loading...
Use this skill when integrating, configuring, or extending Modern Admin (`@modern-admin/*`) in a host project — i.e. wiring `ModernAdminModule.forRoot`, adding admin resources, configuring Better Auth/Prisma/Redis, declaring properties or `@Action`/`@Before`/`@After` hooks, setting up role permissions (`MaRole.permissions`), or troubleshooting auth/SPA 404s. Triggers on tasks that mention `@AdminResource`, `AdminController`, `adminSource`, `BetterAuthProvider`, `ModernAdminStaticUiModule`, `setupPrismaSystem`, `MaRole`, `rolesResourceId`, the `ma_*` schema fragment, or scaffolding `bun create @modern-admin`.
npx skill4agent add modern-admin/skills modern-admin-integration@modern-admin/*npmyarnpnpmimport { uuidv7 } from '@modern-admin/core'crypto.randomUUID()randomUUID()nanoid@default(uuid(7))packages/i18n/src/locales/en.tsdeesfritjaplpt-BRrulabels?: {...}packages/reactreferences/conventions.mdMODERN_ADMIN_TOKEN=ghp_xxx bun create @modern-admin admin-service/adminreferences/deployment.mdgeneratorMa*setupPrismaSystemsrc/admin-sources.tsregisterAdminSources({...})NestFactory.createmain.tsextends AdminController<Row>@AdminResource(...)@Before@After@Action@Module({ controllers: [FooAdminController] })references/resources.mdtypeactions:The #1 mistake AI agents make.
AdminResourceMeta = Omit<ResourceOptions, 'actions'> & {source, ...}@AdminResource({ actions: {...} })TS2353@Action@Before@AfterMaRole.permissionsisAccessiblereferences/permissions.mdPromise<never>TS2416guard:isAccessible:admin()rolesResourceIdsession.user.roleundefinedma_user.role'admin'createBetterAuthMiddleware(toNodeHandler(auth))toNodeHandlerAuthController/login/me/ui-propsModernAdminStaticUiModule.forRoot({ path: '/admin', ... })/adminRedisCacheProvider({ client, subscriber })app.use(<basePath>, ...)betterAuth({ basePath })runtimeConfig.authBasePathPOST /api/auth/sign-in/email 404references/auth-and-infra.md./references/deployment.mdMa*./references/resources.mdisVisibleisAccessible./references/permissions.mdactions:isAccessibleguard:./references/actions-and-plugins.md./references/custom-ui.md@modern-admin/uiborder./references/auth-and-infra.mdBetterAuthProviderRedisCacheProviderModernAdminStaticUiModulecreateBetterAuthMiddlewareadmin()BigInt./references/conventions.md./references/anti-patterns.mdbun run devscripts/dev.sh start api-prisma web.dev-logs//adminpasswordapiKeyguard:isAccessiblebun run typecheckapps/_shared/src/admin/posts/posts.controller.tsapps/_shared/src/admin/customers/customers.controller.tspasswordsFeatureaiFillFeatureapps/_shared/src/admin/source-registry.tsapps/api-prisma/src/admin-sources.tsapps/api-prisma/src/admin.module.tspackages/core/src/decorators/{resource,property,action}-options.tspackages/core/src/actions/action.tspackages/core/src/ports/current-admin.tsActionContextCurrentAdminisAccessibleisVisiblepackages/nest/src/admin/decorators.tsAdminController@Before@After@Action