# Configuration – intelliTemplates

> STATUS: TEMPLATE – MUST EDIT BEFORE USE

## Hybrid Configuration Model

intelliTemplates uses a hybrid configuration approach:

1. JSON configuration for defaults:
   - `common/config.json` – system-wide defaults.
   - `apps/appName/config.json` – app-specific overrides.

2. Database-backed configuration for dynamic settings:
   - `configuration` table (or similar) stores admin-editable settings.
   - Used for security rules, password policies, debug defaults, and UI options.

3. Config loader:
   - Loads common JSON defaults.
   - Applies app JSON overrides.
   - Applies database overrides (highest priority).
   - Optionally merges environment variables.

## Precedence Order (example)

1. Environment variables (highest).
2. Database overrides.
3. App JSON config.
4. Common JSON config.
5. Built-in defaults.

## History and Versioning

- Track created/updated timestamps for security-related settings.
- Add a `version` field for auditing.
- Use a history table for changes when required.

Update this document with actual schema details (tables, columns, JSON keys) and examples once they are finalized.

