Skip to content

Configuration

Felipe Marzochi edited this page Sep 30, 2026 · 4 revisions

Configuration

Install profiles

egc install --profile <name> selects a bundle of install modules, defined in manifests/install-profiles.json:

Profile Description
minimal Low-context setup: rules, agents, commands, platform configs, and quality workflow support, no hook runtime
core Minimal baseline plus commands, hooks, platform configs, and quality workflow support
developer Default engineering profile for most EGC users working across app codebases
security Security-heavy setup with baseline runtime support and security-specific guidance
research Research and content-oriented setup for investigation, synthesis, and publishing workflows
full Complete install with every currently classified module

Inspect what a profile resolves to before installing:

egc plan --profile developer --target cursor
egc catalog profiles
egc catalog components --family language
egc catalog show framework:nextjs

Install targets

--target selects which AI tool to install into. Valid values match the harness target ids in Supported-Tools: claude, antigravity, cursor, codex, opencode, codebuddy, windsurf, amp, copilot, zed, kiro, trae, junie, goose, openhands, aider, cline, warp, qwen, plus egc for the generic/base install. Kiro's and Trae's non-skill assets ship through their Tier 1 adapters; the shell scripts they used to depend on were retired.

The retired ids gemini, continue, and roocode are still recognized so that install, doctor, repair, and auto-update explain the retirement instead of calling a formerly valid id unknown.

State and memory

  • State files: ~/.egc/state/<project-slug>/<branch>.md, one per project per git branch, encrypted at rest with AES-256-GCM. The encryption key lives at ~/.egc/encryption.key.
  • Legacy flat state files (pre-branch-scoping) are still read as a fallback.
  • Global scope: update_state with scope: "global" writes user-wide preferences and lessons shared across every project; get_state appends them after the project state, with project and branch entries taking precedence.
  • egc status --json queries the SQLite state store status summary. egc overview gives a read-only aggregated view across every project. egc consolidate compacts oversized state files into layered summaries.

Environment variables

Variable Purpose
ANTHROPIC_API_KEY, GEMINI_API_KEY, OPENAI_API_KEY, OPENROUTER_API_KEY Enable semantic session-intent detection and, together with EGC_LLM_ROUTING=1, LLM-based routing in orchestrate_task. Without a key, EGC uses local keyword scoring and lifecycle hooks still guarantee state is saved.
EGC_LLM_ROUTING=1 Opt in to sending the task prompt to a provider for semantic routing. A configured key alone changes nothing about routing.
EGC_MESH_PUSH=0 Opt a memory server out of real-time wake-on-write on the session bus; session_wait degrades to a single read.
EGC_DISABLED_HOOKS Comma-separated hook ids to switch off, for example pre:bash:crusher-rewrite or pre:scrubber.
EGC_DISABLED_MCPS Servers to leave out of EGC-generated MCP config during install and sync flows.
EGC_SQLITE_ENGINE native or wasm: pin the state store to native sqlite3 or the portable sql.js engine (by default sql.js is used only when the native binary cannot load).
EGC_PORT Dashboard port (default 7890).
EGC_SESSION_ID Session identifier used by hooks; sanitized out of transcript logs.
GEMINI_TRANSCRIPT_PATH Transcript path for the Antigravity backend; sanitized out of logs.
EGC_STOP_SAVE_INTERVAL_MINUTES Throttles the end-of-reply save reminder (default: once per project every 30 minutes). Set to 0 to prompt on every stop.
TRAE_ENV=cn Switches the Trae install target to the ~/.trae-cn/ path.

Telemetry

Opt-in, asked once on the first run of egc install, egc init, or egc doctor. Sends EGC version and OS platform only, no project data or identifiers.

egc telemetry status
egc telemetry off

Dashboard

Local dashboard at http://localhost:7890 (or EGC_PORT), started automatically by egc install and egc init on an interactive terminal:

egc dashboard
egc dashboard stop
egc dashboard status

Hooks

Hook manifest at hooks/hooks.json; implementations live under scripts/hooks/. Event types in the manifest: PreToolUse, PostToolUse, PostToolUseFailure, UserPromptSubmit, SessionStart, SessionEnd, PreCompact, Stop. On every installed target the Guardian validation, the Token Crusher rewrite, the Scrubber, and the mesh drain notice are wired as PreToolUse and UserPromptSubmit hooks, so every shell command, file write, and prompt is handled before it runs; the lifecycle hooks save state at session end and before compaction.

Team memory sync

egc team (backed by the team_init, team_sync, team_status tools in egc-memory) syncs lessons and decisions across teammates via a git remote. team init prints a team key; every other member joins with --key. Files are sealed with the team key (AES-256-GCM plus an HMAC-SHA256 signature) before they are pushed, and sync merges only files that open with that key and an intact signature.

egc team init --backend git --remote git@github.com:org/egc-memory
egc team init --backend git --remote git@github.com:org/egc-memory --key <team key>
egc team sync
egc team status

Budget guardian

egc budget enforces per-session token and cost limits at the PreToolUse hook layer; commands are blocked when the configured budget is exceeded.

Plugins

egc plugin installs, lists, removes, or updates community skills, agents, or rules bundles from npm or a local path.

Clone this wiki locally