Appkit
Appkit
Section titled “Appkit”Elevator Pitch
Section titled “Elevator Pitch”TypeScript and React libraries for aligning business forms, validation and record operations around a schema.
Why & Value
Section titled “Why & Value”Define request fields once, validate input before saving, and connect the result to an application-owned data adapter. Explicit database and storage boundaries keep provider decisions visible. AI contracts let the application review proposals before applying changes.
Key Highlights
Section titled “Key Highlights”- Schema forms and record tables with explicit persistence boundaries.
- Framework-free storage, data, graph, AI and regional helpers.
- Two npm packages with feature subpaths; React stays in the React package.
Quickstart
Section titled “Quickstart”Use an existing React 19 application:
bun add @alneas/appkit-core @alneas/appkit-react react@^19.2.3 react-dom@^19.2.3Supply an adapter for your authenticated backend:
import { useState, type ComponentProps } from 'react';import type { DataAccessAdapter } from '@alneas/appkit-core/data';import { QueryClientProvider } from '@tanstack/react-query';import { createQueryClient, DataAccessProvider } from '@alneas/appkit-react/tools/data-access/react';import { FormView } from '@alneas/appkit-react/tools/form';import '@alneas/appkit-react/styles';
const schema: ComponentProps<typeof FormView>['schema'] = { type: 'object', properties: { name: { type: 'string', title: 'Name', minLength: 2 }, reason: { type: 'string', title: 'Reason', 'x-ui': { widget: 'textarea' } }, }, required: ['name'],};export function RequestForm({ adapter }: { adapter: DataAccessAdapter }) { const [client] = useState(createQueryClient); const [saved, setSaved] = useState(''); return <QueryClientProvider client={client}><DataAccessProvider adapter={adapter}> <FormView testId="persistence" collection="records" mode="create" schema={schema} validation={{ emptyStrings: 'preserve', locale: 'en', cast: { numericMode: 'strict' } }} onSuccess={record => setSaved(JSON.stringify(record))} /> <output aria-label="Persisted">{saved}</output> </DataAccessProvider></QueryClientProvider>;}The adapter controls persistence. Your application owns authorization, migrations, concurrency checks and final writes.
Next Steps
Section titled “Next Steps”| Package | Feature imports | Documentation |
|---|---|---|
@alneas/appkit-core |
/storage, /data, /japan, /graph, /ai, /us |
Core guide |
@alneas/appkit-react |
/ui, /tools, /ai, /styles |
React guide |
Migration from app-core/react-tools · Complete form recipe · Contributing · Releasing
AI checks cover API metadata and developer-authored integrations. End-to-end coding-agent task evaluation remains unverified. Optional peers and public imports are listed in each package export reference.
Canonical documentation is English. The documentation portal owns ingestion, Japanese translation and delivery.