Installation
Package Installation
Schema Engine is a monorepo with multiple packages. Install only what you need:
# Core packages
bun add @schema-engine/forms @schema-engine/forms-react zod
# Optional: standalone actions package
bun add @schema-engine/actionsPackage Overview
| Package | Description |
|---|---|
@schema-engine/forms | Core form engine (framework-agnostic) |
@schema-engine/forms-react | React components and hooks |
@schema-engine/actions | Domain-agnostic action system |
@schema-engine/registry | Base registry (internal dependency) |
Development Setup
To contribute or explore the source code:
Prerequisites
- Bun - This project uses Bun as the JavaScript runtime
- Node.js 18+ (for compatibility)
- Git for cloning the repository
Clone and Setup
# Clone the repository
git clone https://github.com/andeeplus/schema-engine.git
cd schema-engine
# Install dependencies
bun install
# Start documentation site
bun dev:wwwThe development server will start at http://localhost:3000.
Development Scripts
# Start documentation site
bun dev:www
# Build all packages
bun run build
# Run tests
bun test
# Type check
bun run typecheckVerification
To verify that the installation was successful, check the version of the installed packages:
bun list | grep schema-engineYou should see @schema-engine/forms and @schema-engine/forms-react listed with their versions.
Project Structure
schema-engine/
├── packages/
│ ├── forms/ # @schema-engine/forms
│ ├── forms-react/ # @schema-engine/forms-react
│ ├── actions/ # @schema-engine/actions
│ └── registry/ # @schema-engine/registry
├── apps/
│ └── www/ # Documentation site
└── package.json
TypeScript Configuration
Schema Engine is built with TypeScript. Recommended tsconfig.json:
{
"compilerOptions": {
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"moduleResolution": "bundler",
"jsx": "react-jsx"
}
}Peer Dependencies
The packages require the following peer dependencies:
zod>= 3.23react>= 18 (for forms-react)react-hook-form>= 7 (for forms-react)
What's Next?
- Quick Start - Build your first form
- Forms Package - Core engine documentation
- Forms React - React integration