Repository navigation
Configuration
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--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 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_statewithscope: "global"writes user-wide preferences and lessons shared across every project;get_stateappends them after the project state, with project and branch entries taking precedence. -
egc status --jsonqueries the SQLite state store status summary.egc overviewgives a read-only aggregated view across every project.egc consolidatecompacts oversized state files into layered summaries.
| 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. |
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 offLocal 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 statusHook 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.
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 statusegc budget enforces per-session token and cost limits at the PreToolUse hook layer; commands are blocked when the configured budget is exceeded.
egc plugin installs, lists, removes, or updates community skills, agents, or rules bundles from npm or a local path.