CoreLayer Docs
Configuration

Storage

Configure data storage modes: local SQLite, Supabase, or PostgreSQL.

CoreLayer supports three storage backends that can be hot-swapped at runtime.

Storage Modes

ModeDescriptionUse Case
SQLiteLocal file database (default)Personal use, offline-first
SupabaseCloud PostgreSQL with real-time syncMulti-device sync
PostgreSQLSelf-hosted PostgreSQLTeam/enterprise use

SQLite (Default)

SQLite is the default storage mode. Data is stored locally in a .db file:

{
  "storage": {
    "mode": "sqlite",
    "path": "~/.corelayer/data.db"
  }
}

No external dependencies required. Works fully offline.

Supabase

Connect to Supabase for cloud sync:

{
  "storage": {
    "mode": "supabase",
    "url": "https://your-project.supabase.co",
    "anonKey": "eyJ..."
  }
}

Set up Supabase:

  1. Create a project at supabase.com
  2. Run the CoreLayer migration scripts
  3. Add your project URL and anon key

PostgreSQL

Connect to a self-hosted PostgreSQL instance:

{
  "storage": {
    "mode": "postgres",
    "connectionString": "postgresql://user:pass@localhost:5432/corelayer"
  }
}

Hot-Switching

You can switch storage modes at runtime from the Control Center:

  1. Open Settings → Storage
  2. Select the new mode
  3. Enter connection details
  4. Click Switch

CoreLayer will migrate data between modes automatically.

Data Schema

CoreLayer uses a highly structured local-first database schema, storing the following main entities:

  • workspaces — top-level workspaces managing goals, task breakdowns, and runtime state
  • projects — specific project folders inside workspaces, including specs, tech stacks, and root paths
  • tasks — task nodes forming the dependency graph for execution
  • artifacts — target deliverables separating valuable files/reports from execution log noise
  • agent_runs — single Agent execution sessions, tracking state, latency, routing, and logs
  • approval_requests — pending high-risk actions awaiting user manual approval decisions
  • permission_memories — temporary decision caching to prevent repetitive permission popups
  • conversations / messages — chat conversation histories and individual message records
  • tool_call_logs — audit logs capturing duration, args, risk levels, and results
  • app_connections — configured local or remote MCP servers and application connections
  • model_profiles — model gateway configurations and provider endpoints
  • memories — Jarvis long-term memories (facts, preferences, context, pinned)
  • scheduled_tasks — cron jobs triggering automated tasks and skills
  • environment_sessions / environment_events — sandbox containers and event streams
  • articles — reading list entries
  • reviews — daily/weekly review summaries

Next Steps

On this page