VVibeFlui

Core Package

@vibeflui/core provides the schema contract, React components, provider, registry helpers, default theme behavior, endpoint provider, plugin application utilities, and example schemas.

Install

BASH
npm install @vibeflui/core
BASH
pnpm add @vibeflui/core
BASH
yarn add @vibeflui/core

Main exports

ExportPurpose
FluiKitMain schema renderer.
FluiKitProviderRuntime context for registry, providers, messages, permissions, and plugins.
createRegistryCreates and merges runtime registry entries.
createFluiKitPluginDefines a plugin object.
applyFluiKitPluginsApplies plugins outside React if an app needs manual inspection.
createEndpointProviderDefault endpoint-backed data provider.
fluiKitConfigSchemaZod schema for runtime validation.
normalizeSchemaResolves defaults and inferred schema values.

Minimal render

TSX
import { FluiKit } from "@vibeflui/core";

export const usersSchema = {
  resource: "users",
  table: {
    columns: ["name", "email", "status"]
  }
} as const;

export const usersData = [
  { id: 1, name: "Ada Lovelace", email: "ada@example.test", status: "active" },
  { id: 2, name: "Grace Hopper", email: "grace@example.test", status: "pending" }
];

export function UsersTable() {
  return <FluiKit schema={usersSchema} data={usersData} />;
}

Provider setup

Use FluiKitProvider when the page needs registry entries, plugins, data providers, messages, or permissions.

TSX
import { FluiKit, FluiKitProvider, createRegistry } from "@vibeflui/core";
import { StatusBadge } from "@/components/vibeflui/renderers/status/StatusBadge";

const registry = createRegistry({
  renderers: {
    StatusBadge
  }
});

export function UsersPage() {
  return (
    <FluiKitProvider registry={registry}>
      <FluiKit schema={usersSchema} data={usersData} />
    </FluiKitProvider>
  );
}

Plugin setup

TSX
import { FluiKitProvider } from "@vibeflui/core";
import { shadcnPlugin } from "@vibeflui/shadcn";

export function AppProviders({ children }: { children: React.ReactNode }) {
  return <FluiKitProvider plugins={[shadcnPlugin]}>{children}</FluiKitProvider>;
}

Common mistakes

  • Use createRegistry for runtime registry entries.
  • Do not put runtime functions inside JSON-only schema examples.
  • Do not treat optional adapter behavior as core behavior.