Skip to content

Configuration

ben-ic edited this page Mar 14, 2026 · 3 revisions

Configuration

.teamrc.yaml

The team definition file. Lives in your project root (or ~/.teamrc/team.yaml for global teams). Commit this to your repo.

name: my-team              # 1-64 chars, alphanumeric/spaces/hyphens/underscores
teamId: abc123             # set by relay on init/join
relay: https://teamrc.ai   # relay URL (optional, defaults to teamrc.ai)
platforms:
  - claude-code
  - cursor

members:
  - name: backend-dev       # 1-64 chars, no spaces
    role: Backend developer
    description: "Designs APIs and business logic. Use when tasks involve endpoints, database schemas, or server-side architecture."
    soul: |                 # agent instructions/personality
      You are a backend developer focused on clean APIs...
    skills:
      - write-tests
      - api-first

skills:
  - id: write-tests
    title: Write Tests
    description: Always write tests for new code
    alwaysApply: true       # written as a native always-on rule
    body: |
      Write unit tests for all new functions...

  - id: typescript-only
    title: TypeScript Only
    globs:                  # activates only for matching files
      - "**/*.ts"
      - "**/*.tsx"
    body: |
      Use TypeScript strict mode...

  - id: tdd
    title: Test-Driven Development
    userInvocable: true     # user can invoke on demand
    body: |
      Follow red-green-refactor...

Size Limits

Field Limit
File size 256 KB
Members 100
Skills 200
Member name 64 chars
Member role 256 chars
Member description 1,000 chars
Member soul 10,000 chars
Skill ID 64 chars
Skill body 10,000 chars
Knowledge file 512 KB

Skill Body from File

Instead of inline content, reference an external file:

skills:
  - id: coding-standards
    body:
      source: ./docs/coding-standards.md   # relative to project root, max 1 MB

Validation Rules

  • Team name: /^[a-zA-Z0-9][a-zA-Z0-9 _-]{0,63}$/
  • Member/skill names: /^[a-zA-Z0-9][a-zA-Z0-9_-]{0,63}$/ (no spaces)
  • Relay URL: must be https:// for remote; http:// only allowed for localhost

Machine Config

Stored at ~/.teamrc/config.json. Created automatically on first run.

{
  "token": "trc_ak_...",
  "machineName": "work-laptop",
  "account": {
    "email": "you@example.com"
  }
}
  • token: your machine identity (Ed25519 public key, format trc_ak_<base64url(pubkey)>)
  • machineName and account: set after teamrc login
  • Relay URL is never stored in config (resolved per-request)

Key file: ~/.teamrc/key (Ed25519 keypair, 0600 permissions)

Relay URL Resolution

Checked in order:

  1. --relay <url> flag
  2. TEAMRC_RELAY environment variable
  3. relay: field in .teamrc.yaml
  4. Default: https://teamrc.ai

Supported Platforms

Platform Scope Detection Signal
claude-code project + global ~/.claude exists
cursor project only ./.cursor exists
codex project only ~/.codex or ./.codex exists
gemini project + global ./.gemini or ~/.gemini exists
openclaw global only ~/.openclaw exists

Planned but not yet implemented: copilot, amazon-q, windsurf, cline.

Clone this wiki locally