Skip to main content

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

FeatureIncludedNotes
StoreYesOne slice with minimal state
HeaderNoEmpty slot
SidebarNoEmpty slots
ContentYesSingle WelcomeCard component
PersistenceNoState 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:

  1. Add authentication state

    store: {
    user: {
    initialState: { name: null, isAuthenticated: false },
    persist: true,
    },
    }
  2. Add a header

    header: [
    { component: 'Header', priority: 1 }
    ]
  3. Add sidebar navigation

    leftPane: [
    { component: 'Sidebar', priority: 1 }
    ]