Configuration

Configure Diverga for your research workflow with configuration files, environment variables, and memory systems.

Overview

Diverga uses a multi-layered configuration system to maintain context across sessions and projects. Understanding these files helps you customize behavior and persist research decisions.

Configuration Files

Four core files control Diverga's behavior and memory:

CLAUDE.md

Project root

Purpose:

Project-specific instructions for Claude Code

Contains:

Agent triggers, workflow patterns, domain knowledge

Scope: Per project

AGENTS.md

Project root (auto-generated)

Purpose:

Hierarchical codebase documentation

Contains:

File summaries, architecture notes, component relationships

Scope: Per project

project-memory.json

.omc/project-memory.json

Purpose:

Persistent project context

Contains:

Tech stack, build commands, conventions, directives

Scope: Per project

notepad.md

.omc/notepad.md

Purpose:

Session memory and working notes

Contains:

Priority context, working memory, manual notes

Scope: Per session

Environment Variables

API keys and configuration for external services:

.env
ANTHROPIC_API_KEYREQUIRED

Claude API access (required for all agent operations)

sk-ant-api03-...
GROQ_API_KEYOPTIONAL

Groq LLM for I-category screening (budget-friendly alternative)

gsk_...
OPENAI_API_KEYOPTIONAL

OpenAI API for embeddings and optional agents

sk-proj-...

CLAUDE.md Structure

The CLAUDE.md file defines project-specific behavior and agent triggers:

CLAUDE.md
# CLAUDE.md

## Project Overview
This project uses the I-category pipeline for systematic literature reviews
in education research.

## Agent Triggers
- "systematic review" → I0-ScholarAgentOrchestrator
- "meta-analysis" → C4-MetaAnalyst
- "literature search" → B1-LiteratureScout

## Research Context
- Domain: Educational Technology
- Methodology: PRISMA 2020
- Analysis: Meta-analytic structural equation modeling

Project Memory Schema

The project-memory.json file stores structured project context:

.omc/project-memory.json
{
  "techStack": {
    "languages": ["Python", "TypeScript"],
    "frameworks": ["Next.js", "FastAPI"],
    "databases": ["PostgreSQL", "ChromaDB"]
  },
  "build": {
    "install": "pnpm install",
    "dev": "pnpm dev",
    "build": "pnpm build",
    "test": "pytest tests/"
  },
  "conventions": {
    "codeStyle": "Black formatter, 100 char line length",
    "naming": "snake_case for Python, camelCase for TypeScript",
    "imports": "Absolute imports from src/"
  },
  "directives": [
    {
      "directive": "Always use TypeScript strict mode",
      "priority": "high",
      "context": "Type safety is critical for research data"
    }
  ]
}

Notepad Structure

The notepad.md file maintains session memory with three sections:

.omc/notepad.md
# Priority Context (always loaded, max 500 chars)
Research question: How do AI chatbots improve language learning?
Stage: PRISMA screening (Stage 3)
Database: Semantic Scholar + OpenAlex (N=342 papers)

# Working Memory (auto-pruned after 7 days)
[2025-02-05T10:30:00Z] Excluded 23 papers for non-English
[2025-02-05T11:15:00Z] Identified 5 high-impact papers (>100 citations)
[2025-02-05T14:20:00Z] Changed inclusion criteria: added "speaking skills"

# MANUAL (never auto-pruned)
Key finding: Chatbot effectiveness depends on feedback immediacy
Important papers: Smith (2023), Lee (2024) - both use similar frameworks

Setup & Installation

Configure Diverga after installation:

1

1. Run setup wizard

Command
/diverga:setup

Interactive configuration for checkpoints, HUD, and language

2

2. Set API keys

Command
export ANTHROPIC_API_KEY=sk-ant-...

Add to .env file or shell profile

3

3. Initialize project

Command
/diverga:deepinit

Generate AGENTS.md and initialize project memory

Best Practices

Recommendations for effective configuration:

  • Keep CLAUDE.md concise - focus on project-specific patterns
  • Use Priority Context for critical session state (research stage, current task)
  • Add directives for non-obvious conventions (e.g., "Never use pandas.append()")
  • Review notepad.md regularly and promote insights to project-memory.json
  • Version control CLAUDE.md and AGENTS.md, but .gitignore .omc/

Learn More