refine-dev

Refine.dev headless React framework for CRUD apps: data providers, resources, routing, authentication, hooks, and forms. Use when building admin panels, dashboards, or internal tools with React and various backends (REST, GraphQL, Supabase, Strapi), or configuring Refine data providers and authentication. Keywords: Refine, CRUD, admin panel, data provider, React.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "refine-dev" with this command: npx skills add itechmeat/llm-code/itechmeat-llm-code-refine-dev

Refine.dev Framework

Refine is a headless React framework for building enterprise CRUD applications. It provides data fetching, routing, authentication, and access control out of the box while remaining UI-agnostic.

Core Concepts

Refine is built around these key abstractions:

  1. Data Provider — adapter for your backend (REST, GraphQL, etc.)
  2. Resources — entities in your app (e.g., posts, users, products)
  3. HooksuseList, useOne, useCreate, useUpdate, useDelete, useForm, useTable
  4. Auth Provider — handles login, logout, permissions
  5. Router Provider — integrates with React Router, etc.

Quick Start (Vite)

Scaffold: npm create refine-app@latest (select Vite, Mantine, REST API). For manual setup, install @refinedev/core @refinedev/mantine @refinedev/react-router and Mantine packages.

Minimal App Structure

// src/App.tsx
import { Refine } from "@refinedev/core";
import { MantineProvider } from "@mantine/core";
import routerProvider from "@refinedev/react-router";
import dataProvider from "@refinedev/simple-rest";
import { BrowserRouter, Routes, Route } from "react-router-dom";

function App() {
  return (
    <BrowserRouter>
      <MantineProvider>
        <Refine
          dataProvider={dataProvider("https://api.example.com")}
          routerProvider={routerProvider}
          resources={[
            {
              name: "posts",
              list: "/posts",
              create: "/posts/create",
              edit: "/posts/edit/:id",
              show: "/posts/show/:id",
            },
          ]}
        >
          <Routes>{/* Your routes here */}</Routes>
        </Refine>
      </MantineProvider>
    </BrowserRouter>
  );
}

Critical Prohibitions

  • Do NOT mix multiple UI libraries (pick Mantine and stick with it)
  • Do NOT bypass data provider — always use Refine hooks for data operations
  • Do NOT hardcode API URLs — use data provider configuration
  • Do NOT skip resource definition — all CRUD entities must be declared in resources
  • Do NOT ignore TypeScript types — Refine is fully typed, leverage it

Steps for New Feature

  1. Define the resource in <Refine resources={[...]}>
  2. Create page components (List, Create, Edit, Show)
  3. Set up routes matching resource paths
  4. Use appropriate hooks (useTable for lists, useForm for create/edit)
  5. Configure auth provider if authentication is needed

Definition of Done

  • Resource defined in Refine configuration
  • All CRUD pages implemented with proper hooks
  • Routes match resource configuration
  • TypeScript types for resource data defined
  • Error handling in place
  • Loading states handled

References (Detailed Guides)

Core

  • data-providers.md — Data provider interface, available providers, custom implementation
  • resources.md — Resource definition and configuration
  • routing.md — React Router integration and route patterns

Hooks

  • hooks.md — All hooks: useList, useOne, useCreate, useUpdate, useDelete, useForm, useTable, useSelect

Security & Auth

  • auth.md — Auth provider, access control, RBAC/ABAC, Casbin/CASL integration

UI & Components

Utilities & Features

  • notifications.md — Notification provider and useNotification hook
  • i18n.md — Internationalization with i18nProvider
  • realtime.md — LiveProvider for websocket/realtime subscriptions

Links

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

react-testing-library

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

social-writer

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

commits

No summary provided by upstream source.

Repository SourceNeeds Review