Skip to main content
TRW
Skip to content
TRWConfiguration Reference — Env Vars and Defaults

Docs

Configuration

TRW works with sensible defaults, but one setting matters more than any other on modern installs: target_platforms. That list tells TRW which client targets to record for this repo. Dedicated integrations write native client surfaces where the installer provides them; retired identifiers such as Aider are rejected rather than recorded as configuration targets.

Common config changes

Target more than one client

List every selected client under target_platforms. TRW writes each one’s native files and automation; which surfaces appear differs by client.

Record the checks your project actually runs

Run tests, builds, lint, and type checks with project-native commands first. Then pass their scope, counts, failures, and static-check state to trw_build_check.

Connect to the hosted platform only when you want to

Platform sync is optional. Local runs, checkpoints, and learnings work without it. Add platform_url only when needed and supply the key through TRW_PLATFORM_API_KEY or .trw/credentials.yaml.

Client profiles

The installer selects these profiles for you, but you can always edit target_platforms later. Every current profile has a dedicated integration, but the mix of native files and automation differs per client. The matrix also lists the retired Aider identifier, which current installs reject.

Claude Code

End-to-end TRW integration for local CLI workflows that lean on hooks and durable instructions.

Support shape
Hooks & agents
What TRW writes
CLAUDE.md, .claude/INSTRUCTIONS.md, .claude/hooks/, .mcp.json
Support notes
Hooks, skills, MCP config, and portable workstream guidance
Common workflow
Local CLI workflows that want repo-native hooks, agents, and guidance

Cursor IDE

TRW translated into Cursor’s IDE rules, hooks, MCP config, and editor-first automation.

Support shape
IDE-native
What TRW writes
.cursor/rules/, .cursor/mcp.json, .cursor/hooks/, .cursor/skills/
Support notes
IDE rules plus translated hooks, commands, skills, and subagents
Common workflow
Interactive editor-first workflows inside Cursor

Cursor CLI

TRW adapted for headless Cursor runs where explicit permissions and CLI-safe defaults matter.

Support shape
Headless-safe
What TRW writes
AGENTS.md, .cursor/cli.json, .cursor/hooks.json, .cursor/mcp.json
Support notes
Headless-safe permissions and CLI hook subset
Common workflow
cursor-agent, CI, and scripted terminal workflows

OpenCode

TRW translated into OpenCode’s instruction, command, and agent surfaces.

Support shape
Command-first
What TRW writes
opencode.json, .opencode/INSTRUCTIONS.md, .opencode/commands/, .opencode/agents/
Support notes
Curated commands, agents, and instruction-first guidance
Common workflow
Terminal workflows built around commands and repo-local instructions

Codex CLI

TRW adapted to Codex’s workflow and context constraints without changing the core loop.

Support shape
Codex-native
What TRW writes
.codex/config.toml, .codex/INSTRUCTIONS.md, .codex/agents/, optional .codex/hooks.json
Support notes
Codex-specific config, agents, curated skills, optional hooks
Common workflow
Codex sessions that want tighter context control and repo-local guidance

GitHub Copilot CLI

TRW translated into GitHub-native repo instructions, hooks, and agent surfaces.

Support shape
GitHub-native
What TRW writes
.mcp.json, .github/copilot-instructions.md, .github/instructions/, .github/hooks/, .github/agents/
Support notes
Project MCP config, repo instructions, path-scoped guidance, hooks, agents, and skills
Common workflow
GitHub-native repos adopting agent workflows and path-scoped guidance

Antigravity CLI

TRW writes Antigravity-native instructions, MCP registration, subagents, and supported hooks.

Support shape
Antigravity-native
What TRW writes
ANTIGRAVITY.md, .antigravitycli/settings.json, .antigravitycli/agents/, .antigravitycli/hooks.json
Support notes
Native instructions, MCP config, subagents, and supported before-tool hooks
Common workflow
New Google CLI workflows that need large context and native agent surfaces

Aider

The Aider target was retired because it never had a native adapter. Current installation rejects the identifier.

Support shape
Retired; manual only
What TRW writes
Legacy identifier retained for cleanup; no Aider-native file is generated
Support notes
No dedicated Aider integration; use explicit local CLI operations
Common workflow
Existing manual workflows that do not select Aider during TRW initialization

Example config

.trw/config.yaml
task_root: docs
runs_root: .trw/runs
build_check_coverage_min: 90.0
source_package_name: trw_mcp
source_package_path: trw-mcp/src
tests_relative_path: trw-mcp/tests

target_platforms:
  - "cursor-ide"
  - "codex"
  - "antigravity-cli"

platform_url: "https://api.trwframework.com"
platform_telemetry_enabled: false

The installer rewrites this file carefully. If you re-run install after choosing a new client mix, TRW updates target_platforms without clobbering the rest of your repo-local configuration.

Core fields

target_platforms
Type
list[str]
Default
["claude-code"]
What it controls
Client targets selected for this repo. Every current profile has a dedicated integration that keeps its native surfaces in sync; retired identifiers are dropped with a warning instead of being recorded.
response_format
Type
"yaml" | "json"
Default
profile-derived
What it controls
MCP response format. Full IDE profiles often use JSON for tool wiring; others prefer YAML.
task_root
Type
str
Default
docs
What it controls
Root directory used for PRDs and task artifacts.
runs_root
Type
str
Default
.trw/runs
What it controls
Independent root directory for tracked run artifacts.
build_check_coverage_min
Type
float
Default
85.0
What it controls
Coverage threshold used by configured phase-gate validation; TRW does not run the coverage command.
debug
Type
bool
Default
false
What it controls
The single verbosity toggle. Turns on DEBUG-level logging plus the .trw/logs/ file sink, identically for every client — no generated MCP config passes a --debug flag.
platform_url
Type
str
Default
""
What it controls
Primary hosted platform endpoint for sync and telemetry.
platform_urls
Type
list[str]
Default
[]
What it controls
Endpoints sync fans out to. When telemetry or an API key is configured, the installer rewrites this block to the endpoint it resolved.
platform_api_key
Type
SecretStr
Default
""
What it controls
Holds the resolved credential at runtime, but is never read from config.yaml — a key left there is dropped at load. Supply it via TRW_PLATFORM_API_KEY or .trw/credentials.yaml.
platform_telemetry_enabled
Type
bool
Default
false
What it controls
Master opt-in for usage telemetry. Gates every off-machine telemetry send; when false, no tool-call events are transmitted.
learning_sharing_enabled
Type
bool
Default
false
What it controls
Separate opt-in for publishing learning content (summary and detail, PII-redacted) for cross-project recall. Independent of usage telemetry.
user_tier_enabled
Type
bool
Default
false
What it controls
Opt-in machine-local user memory tier at ~/.trw, shared across every repo on the box. Off keeps single-store, project-only behavior.

Environment variable overrides

TRW_TARGET_PLATFORMS
Maps to
target_platforms
Use it for
Override selected clients with a JSON list such as ["cursor-ide","codex"].
TRW_TASK_ROOT
Maps to
task_root
Use it for
Override where PRDs and task artifacts are stored.
TRW_BUILD_CHECK_COVERAGE_MIN
Maps to
build_check_coverage_min
Use it for
Override the build gate coverage threshold.
TRW_PLATFORM_URL
Maps to
platform_url
Use it for
Override the primary platform URL.
TRW_PLATFORM_API_KEY
Maps to
platform_api_key
Use it for
Inject the platform API key without writing it into the repo.
TRW_RESPONSE_FORMAT
Maps to
response_format
Use it for
Force yaml or json regardless of the client profile default.
TRW_DEBUG
Maps to
debug
Use it for
Turn on DEBUG logging for one session without editing config.yaml. TRW_LOG_LEVEL takes precedence over it.

Next: tools and troubleshooting

Once configuration feels clear, learn which tools the runtime actually calls and how to debug client-specific setup issues.

Next

Configuration is easier once you know the install path and platform surface you actually need to support.