Minimal Configuration
The smallest viable tenant configuration - a starting point for new verticals.
Complete Minimal Config
// src/eai.config/tenants/minimal.config.ts
import type { EAIConfig } from '../types';
export const minimalConfig: EAIConfig = {
tenantId: 'minimal',
displayName: 'Minimal App',
store: {
app: {
initialState: {
initialized: false,
},
persist: false,
},
},
layout: {
header: [],
leftPane: [],
middlePane: [
{
component: 'WelcomeCard',
priority: 1,
props: {
title: 'Welcome',
message: 'Your minimal app is running!',
},
},
],
rightPane: [],
},
};
Registration
Add to src/eai.config/index.ts:
import { minimalConfig } from './tenants/minimal.config';
const configs: Record<string, EAIConfig> = {
// ... existing configs
minimal: minimalConfig,
};
Access
http://localhost:3000?tenant=minimal
What's Included
| Feature | Included | Notes |
|---|---|---|
| Store | Yes | One slice with minimal state |
| Header | No | Empty slot |
| Sidebar | No | Empty slots |
| Content | Yes | Single WelcomeCard component |
| Persistence | No | State resets on refresh |
When to Use
- Learning the configuration system
- Starting a new vertical from scratch
- Testing component development
- Minimal overhead for prototyping
Next Steps
From this minimal config, you can:
-
Add authentication state
store: {
user: {
initialState: { name: null, isAuthenticated: false },
persist: true,
},
} -
Add a header
header: [
{ component: 'Header', priority: 1 }
] -
Add sidebar navigation
leftPane: [
{ component: 'Sidebar', priority: 1 }
]
Related Examples
- Full-Featured Configuration - All options
- White-Label Configuration - Branding example