Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
Admiral is a React framework for building admin panels and back-office apps with CRUD generation, auth, theming, routing, and 30+ UI components.
Admiral is an open-source React framework from dev.family for building admin panels and back-office applications, with CRUD generation, authentication, theming, routing, and 30+ UI components out of the box.
Admiral is a frontend framework and component library for creating back-office interfaces, published as @devfamily/admiral on npm under the MIT license. It runs on React 19, React Router 7, Vite 6, and TypeScript 5.7, and it takes a data provider plus resource page configs to produce working admin screens: index, create, and update views with tables, forms, filters, and pagination. A live demo is available at admiral.dev.family running on mock data.
Admiral's feature set centers on one-file resource definitions, a 30+ component library, and built-in admin infrastructure for auth, theming, and localization.
createCRUD helper and get index, create, and update pages, including table columns, form fields, validation, and pagination.@devfamily/admiral/ui, and form inputs such as TextInput, SelectInput, and DatePickerInput live in @devfamily/admiral/form.visibleWhen, disabledWhen, and requiredWhen rules as a function or JSON rule; Form.When reveals field groups, and AjaxSelectInput cascades with resetOnChangeOf (for example country to city).Form.Tabs displays a badge with the number of invalid fields on each tab and switches to the first invalid tab on a failed submit, skipping fields hidden by rules.pages/ directory map to routes automatically, mirroring Next.js conventions: pages/users/index.tsx becomes /users, pages/users/create.tsx becomes /users/create, and pages/users/[id].tsx becomes /users/:id.authProvider adds a login page, guards all routes, checks sessions, and supports OAuth redirects for Google, GitHub, and Jira.Admiral is for anyone shipping a React-based back-office interface, from individual developers to product teams.
React developers who need to ship an admin panel or back-office UI quickly without assembling routing, forms, tables, and auth from scratch. Teams with an existing API can point Admiral at their endpoints through a data provider and generate CRUD pages for resources like users, orders, or products. Agencies and product teams can scaffold a new project with npx create-admiral-app@latest and choose an Express.js backend template or a frontend-only setup.
Admiral covers the common admin-panel jobs: generating CRUD screens, adding authenticated dashboards, and building custom forms within the same design system.
Form component and the useForm() hook to build bespoke pages, while still using the same inputs, theming, and layout.Admiral is installed into a Vite-based project with Node.js 20 or later. After adding @devfamily/admiral and peer dependencies, you wrap your app in an Admin component, provide a data provider and menu, and define pages either as file-based modules or through createCRUD resources. The framework then handles data fetching, routing, authentication, theming, and notifications automatically. A scaffold path via create-admiral-app offers a fully configured Express.js backend or a frontend-only template.
Pros: Open-source MIT license; granular module imports reduce bundle size; TypeScript coverage across components and hooks; v6 includes machine-readable AI_GUIDE.md and MIGRATION_AI.md for AI coding assistants. Cons: v6 is a breaking release that is ESM-only and requires React 19, so existing CommonJS or older React projects need to migrate; the package focuses on admin UIs, not general-purpose frontend.
Admiral is free and open source under the MIT license. No paid tiers or cloud service are mentioned in the documentation.
React Admin — a similar resource-based admin framework for React that also generates pages from data-provider definitions. Refine — an open-source React meta-framework with a similar data-provider model.
Yes, Admiral is released under the MIT license and available on npm as @devfamily/admiral. There are no paid tiers or usage restrictions described in the documentation.
Admiral v6 requires React 19, along with react-router-dom 7, axios 1, and a bundler such as Vite 6. Node.js 20 or higher is needed to use the package.
Yes. The optional authProvider accepts an oauthLogin method and a list of providers such as Google, GitHub, and Jira. When configured, Admiral renders OAuth login buttons and handles the callback route.
Admiral v6 is published as an ESM-only package. Projects using CommonJS or older module resolution will need to update their build setup or migrate the import syntax.
Use the createCRUD helper with a resource name, path, table columns, and form fields for create and edit. It exports IndexPage, CreatePage, and UpdatePage components, and a data provider implements getList, getOne, create, update, deleteOne, and related methods.
