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/coreBASH
pnpm add @vibeflui/coreBASH
yarn add @vibeflui/coreMain exports
| Export | Purpose |
|---|---|
FluiKit | Main schema renderer. |
FluiKitProvider | Runtime context for registry, providers, messages, permissions, and plugins. |
createRegistry | Creates and merges runtime registry entries. |
createFluiKitPlugin | Defines a plugin object. |
applyFluiKitPlugins | Applies plugins outside React if an app needs manual inspection. |
createEndpointProvider | Default endpoint-backed data provider. |
fluiKitConfigSchema | Zod schema for runtime validation. |
normalizeSchema | Resolves 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
createRegistryfor runtime registry entries. - Do not put runtime functions inside JSON-only schema examples.
- Do not treat optional adapter behavior as core behavior.