Team setup
This page shows a shared project layout under .chord/:
- keep personal credentials and default providers in global config
- put team-shared hooks, LSP, commands, and defaults in project-level
.chord/config.yaml - let the primary role orchestrate work instead of editing everything directly
- split sub-agents into read-only discovery, mechanical execution, and review
~/.config/chord/config.yaml
providers: anthropic: type: messages api_url: https://api.anthropic.com/v1/messages models: claude-opus-4.7: limit: context: 1000000 input: 1000000 output: 128000 thinking: type: adaptive effort: medium
model_pools: thinking: - anthropic/claude-opus-4.7 fast: - anthropic/claude-opus-4.7
context: compact_threshold: 0.8
desktop_notification: truelog_level: info~/.config/chord/auth.yaml
anthropic: - "$ANTHROPIC_API_KEY"<repo>/.chord/config.yaml
context: compaction: model_pool: fast reserved: 16000
hooks: on_tool_call: - name: audit-shell tools: ["Shell"] command: ["./scripts/chord-hooks/audit-shell.sh"] timeout: 5
on_tool_batch_complete: - name: golangci-lint tools: ["Edit", "Write", "Delete"] paths: ["**/*.go"] min_changed_files: 1 command: ["./scripts/chord-hooks/run-golangci-lint.sh"] result: append_on_failure result_format: tail max_result_lines: 80 join: before_next_llm
on_before_tool_result_append: - name: redact-keys tools: ["Shell", "WebFetch", "Read"] command: ["./scripts/chord-hooks/redact-keys.sh"] timeout: 3
lsp: gopls: command: gopls file_types: [".go"] root_markers: ["go.work", "go.mod", ".git"]
commands: /review: | Review the staged diff for correctness, security, and style. Highlight the most important issues first. /commit: | Generate a Conventional Commit message from the staged diff.<repo>/.chord/agents/orchestrator.md
---name: "orchestrator"description: "Primary agent for multi-file work — plans, delegates, and synthesizes results."mode: "main"model_pools: - thinkingpermission: "*": allow Handoff: deny Delete: ask Shell: "sudo *": ask "rm *": ask "rmdir *": ask "mv *": ask "git add *": ask "git checkout *": ask "git clean *": ask "git commit *": ask "git push *": ask "git reset *": ask "git restore *": ask "git tag *": ask---## Role
- Decompose complex work and route it to specialized sub-agents.- Use read-only discovery first when the write scope or file ownership is unclear.- Keep product-code edits in sub-agents unless the task is explicitly about orchestration metadata.
## Available Sub-agents
- **expert**: reasoning, bug investigation, architecture, complex implementation- **coder**: mechanical execution of well-specified edits- **reviewer**: read-only correctness review, tests, lint- **explorer**: read-only repo discovery
## Workflow
1. Gather enough context before dispatching implementation.2. Build a task graph for multi-file or plan-driven work.3. Parallelize only when write scopes are clearly disjoint.4. Use `reviewer` for final correctness review on substantial changes.<repo>/.chord/agents/coder.md
---name: "coder"description: "Mechanical executor for fully-specified changes."mode: "subagent"model_pools: - fastpermission: "*": allow TodoWrite: deny Delegate: deny Delete: ask Shell: "sudo *": ask "rm *": ask "rmdir *": ask "mv *": ask "git add *": ask "git checkout *": ask "git clean *": ask "git commit *": ask "git push *": ask "git reset *": ask "git restore *": ask "git tag *": ask---## Rules
- Apply only the requested change and the minimum adjacent edits required to keep the tree consistent.- If the task requires choosing behavior or architecture, stop and hand it back to the orchestrator.- Run the lightest relevant verification after editing.<repo>/.chord/agents/reviewer.md
---name: "reviewer"description: "Read-only reviewer for correctness, tests, and lint."mode: "subagent"model_pools: - thinkingpermission: "*": deny Read: allow Grep: allow Glob: allow Shell: "*": allow "rm *": deny "mv *": deny "git add *": deny "git commit *": deny "git push *": deny "git reset *": deny "git restore *": deny "sudo *": deny---## Scope
- Review changed files for correctness, regressions, and missing verification.- Run targeted tests and lint checks, but never modify project files.<repo>/.chord/agents/explorer.md
---name: "explorer"description: "Read-only repo scout for path and structure discovery."mode: "subagent"model_pools: - fastpermission: "*": deny Read: allow Grep: allow Glob: allow Shell: "*": allow "rm *": deny "mv *": deny "git add *": deny "git commit *": deny "git push *": deny "git reset *": deny "git restore *": deny "sudo *": deny---## Scope
- Find candidate files and report direct structure.- Do not make design decisions or modify files.<repo>/.chord/agents/expert.md
---name: "expert"description: "Judgment-heavy agent for bug analysis, architecture, and complex implementation."mode: "subagent"model_pools: - thinkingpermission: "*": allow TodoWrite: deny Delegate: deny Delete: ask Shell: "sudo *": ask "rm *": ask "rmdir *": ask "mv *": ask "git add *": ask "git checkout *": ask "git clean *": ask "git commit *": ask "git push *": ask "git reset *": ask "git restore *": ask "git tag *": ask---## Scope
- Investigate bugs, reason about edge cases, and make design choices when the task is not fully specified.- Verify conclusions before handing execution back to the orchestrator or coder.This is closer to a real shared workflow than a single builder role with a few permissions:
- the primary role plans and routes work instead of editing everything directly
explorerhandles read-only discoverycoderexecutes explicit changesreviewerowns final correctness, lint, and testsexperthandles judgment-heavy tasks
If your team does not need the full split yet, keep orchestrator and reviewer first, then add more specialized agents over time.