// Reference

Configuration

Full reference for the timoro.config.ts object. All keys are optional except brain.

brain

Controls which LLM engine powers Timoro. Defaults to local inference via Candle — no API key required.

schemaTypeScript
interface BrainConfig {
  provider: 'local' | 'openai' | 'claude' | 'gemini' | 'ollama'
  model:    string     // e.g. 'llama3.2', 'gpt-4o', 'claude-sonnet-4-5'
  apiKey?:  string     // required only for external providers
  temperature?: number // 0.0–1.0, default: 0.3
  maxTokens?:   number // default: 2048
}
ProviderModel examplesRequires
localllama3.2, mistralNothing — downloaded at init
openaigpt-4o, gpt-4o-miniapiKey + npm install openai
claudeclaude-sonnet-4-5, claude-opus-4-6apiKey + npm install @anthropic-ai/sdk
geminigemini-pro, gemini-flashapiKey + npm install @google/generative-ai
ollamallama2, mistral, neural-chatOllama running locally

knowledge

Defines the sources Timoro indexes into its local vector store. All fields are optional.

schemaTypeScript
interface KnowledgeConfig {
  dirs?:            string[]  // local directories to index recursively
  files?:           string[]  // specific files to index
  db?: {
    url:            string    // PostgreSQL, MySQL, SQLite, MongoDB
    tables?:        string[]  // which tables (all if omitted)
  }
  urls?:            string[]  // external docs/URLs to scrape
  externalProject?: string    // path to another local project
}

Supported file types

Code: .ts .tsx .js .jsx .py .go .rs .java .cpp .rb .php
Docs: .md .txt .pdf .docx
Config: .json .yaml .yml .toml

Database connection URLs

examples
# PostgreSQL
postgresql://user:pass@localhost:5432/mydb

# MySQL
mysql://user:pass@localhost:3306/mydb

# SQLite
sqlite://./database.sqlite

# MongoDB
mongodb+srv://user:[email protected]/db

watch

Controls how Timoro watches your terminal and reacts to errors.

schemaTypeScript
interface WatchConfig {
  terminal:          string   // command to spawn and watch
  autoFix?:          boolean  // apply fixes automatically (default: false)
  confirmBeforeFix?: boolean  // ask confirmation before fixing
  alertOnly?:        boolean  // observe and alert only, no fix attempt
  dirs?:             string[] // dirs to watch for file changes
}
Never set autoFix: true in production. Use alertOnly: true instead — Timoro will monitor and log without modifying any files.

pentester

Security analysis engine. See the Pentester Mode page for the full reference.

schemaTypeScript
interface PentesterConfig {
  enabled:   boolean
  mode:      'static' | 'active'
  target?:   string   // required for mode: 'active'
  realtime?: boolean  // continuous analysis during watch
  severity?: 'low' | 'medium' | 'high' | 'critical'
  static?:   StaticAnalysisConfig
  bruteforce?: BruteforceConfig
  firewall?: FirewallConfig
  active?:   ActiveTestConfig
}

log

Controls the structured Markdown log written to .timoro/log.md.

schemaTypeScript
interface LogConfig {
  path?:             string  // default: './.timoro/log.md'
  append?:           boolean // false = recreate on each session
  includeTimestamp?: boolean // default: true
  includeDiff?:      boolean // include before/after diffs (default: true)
}

Full development config

timoro.config.tsTypeScript
import { TimoroConfig } from 'timoro'

const config: TimoroConfig = {
  brain: {
    provider: 'local',
    model: 'llama3.2',
    temperature: 0.3,
  },
  knowledge: {
    dirs: ['./src', './docs'],
    files: ['./README.md'],
    db: { url: process.env.DATABASE_URL },
    urls: ['https://docs.example.com'],
  },
  watch: {
    terminal: 'npm run dev',
    autoFix: true,
    dirs: ['./src'],
  },
  pentester: {
    enabled: true,
    mode: 'static',
    static: { owasp: true, secrets: true, dependencies: true },
    severity: 'medium',
  },
  log: {
    path: './.timoro/log.md',
    includeDiff: true,
  },
}

export default config