Web UI Tour

A visual walkthrough of each screen. This is a tour, not the quickest onboarding path. If you just want to get running, start with Get Started in 2 Minutes.

1. Creating a team

Go to /new (or click "Create Team" in the nav). You'll see a list of templates. Each one creates a team with agents and skills already configured. Pick one and you're done.

Screen

Template picker

Fullstack

3 agents

Frontend, backend, and QA

frontend-dev backend-dev qa-engineer

Backend

3 agents

API development and data engineering

backend-dev api-dev db-engineer

Security

2 agents

Security auditing and compliance

security-auditor devops-engineer

Click a template to create the team instantly.

2. Visibility

Teams are private by default. Only participants (machines that joined with an invite code) can view a private team's page. If someone without access visits the URL, they see a "This team is private" message.

You can toggle a team to public if you want anyone with the link to view and clone the config. Public teams show a read-only view of member names, roles, instructions, and skill IDs/descriptions. Knowledge and skill bodies are redacted. Invites, participants, and edit controls stay hidden from non-participants.

The visibility toggle lives on the team dashboard, right next to the team name.

Screen

Visibility toggle

my-team private Make public

When to use public vs. private

Use private for teams with proprietary instructions or internal workflows. Use public when you want to share your team setup with the community or let others clone your config without needing an invite.

3. Team dashboard

After creating a team, you land on the dashboard. This is where you manage members, skills, and invites. Invite links open a read-only preview — join via the CLI to get edit access.

Screen

Team dashboard

my-project

team_abc123

terminal copy
npx @teamrc/cli join trc_inv_a1b2c3

Members

3

frontend-dev

Frontend development

code-style testing

backend-dev

Backend development

write-tests

qa-engineer

Quality assurance

Skills

2

code-style

all agents

Code Style Guide

write-tests

Testing Requirements

Click any member card to edit their instructions and skills. Click a skill to edit its body.

4. Adding a member

Click "Add team member" on the dashboard. You'll see the agent catalog, grouped by category. Pick a pre-built agent or create a custom one.

Screen

Agent catalog picker

Core Development

frontend-dev

Frontend development

backend-dev

Backend development

fullstack-dev

Full-stack development

mobile-dev

Mobile development

Quality

qa-engineer

Quality assurance

code-reviewer

Code review

Picking a catalog agent pre-fills their instructions and recommended skills.

After picking an agent, you see a confirmation with the name, role, and a preview of what's included. Click "Add" and the agent joins your team.

Screen

Add member confirmation

Name

frontend-dev

Role

Frontend development
Includes instructions 2 skills: code-style write-tests
Add
Cancel

5. Editing a member

Click a member card on the dashboard to open their detail page. Here you can edit their name, role, and instructions. You can also toggle which skills are assigned to them.

Screen

Member detail

Name

frontend-dev

Role

Frontend development

Instructions

## Identity You are the frontend specialist... ## Expertise React, TypeScript, CSS, accessibility...

Skills

2
code-style Code Style Guide
write-tests Testing Requirements
security-policy all agents

Click a skill to toggle it on or off for this member. Skills marked "all agents" are always active and cannot be toggled.

6. Adding a skill

Click "Add skill" on the dashboard. You can pick from the catalog or write one from scratch. Skills are defined at the team level, then assigned to individual members on their detail pages.

Screen

Skill editor

ID

code-review

Title

Code Review Guidelines

Body

Review all code changes for: - Correctness and edge cases - Security vulnerabilities - Performance implications
Apply to all agents
Add skill
Cancel

The body is markdown. Write whatever instructions you want the agent to follow. Enable "Apply to all agents" for team-wide rules.

7. Sharing your team

There are two ways to share a team. They work differently.

Invite codes (sync access)

Invite codes create an ongoing sync connection when used via the CLI. Running teamrc join <code> makes a machine a participant that receives updates and can push changes back. Opening an invite link in a browser shows a read-only preview of the team. Invite codes expire after 24 hours.

Team owners can find the Invites section on the dashboard. Click "Generate invite" to create a new code. Share it as a CLI command or as a URL.

Screen

Invites section

Invites

Generate invite
npx @teamrc/cli join trc_inv_x7y8z9 copy

Expires in 24 hours

To open this team in a browser, visit: /invite/trc_inv_x7y8z9

Clone tokens (read-only copy)

Clone tokens let someone copy your team config. The clone supports read-only pull to fetch updates, but does not grant push or sync access. Clone tokens are only available for public teams. Unlike invite codes, they do not expire. To fork a cloned team into their own, the user runs teamrc init which creates a new independent team on the relay.

When your team is public, the clone token and command appear on the dashboard. Visitors to your public team page also see a "Clone this team" section with the CLI command.

Screen

Clone token (public teams only)

Clone

public
npx @teamrc/cli clone trc_cl_r4s5t6 copy

This copies the current team config. No ongoing sync. Use an invite code for that.

Clone vs. join

Clone ( trc_cl_... ): one-time snapshot, no sync, no expiry. Good for sharing templates or letting others try your setup. Join ( trc_inv_... ): ongoing sync, full participation, expires in 24 hours. Good for teammates.

8. Connected machines

Your connected machines are listed on your personal dashboard at /dashboard , not on the team page. Only you can see your machines. Other participants cannot see your machine names, hostnames, or tokens.

Each card shows the machine name (your computer's hostname), whether it's scoped to a specific project or global, and when it last synced. Machine names only appear for machines that have run teamrc login . The CLI warns you before sharing your hostname.

Screen

Dashboard: active machines

Active Machines 3

MacBook Pro trc_ak_x7...q2
my-project 2 minutes ago
GitHub Actions Runner trc_ak_m3...k8
global 15 minutes ago
Unnamed trc_ak_p1...w5
my-project 3 hours ago

Privacy note

Machine names come from your computer's hostname. They are only shared when you run teamrc login . The CLI warns you before sending it. If a machine has not logged in, it shows as "Unnamed." Machines are only visible to you on your personal dashboard. They never appear on the team page. Other participants cannot see them.

9. Team knowledge

The knowledge section shows shared notes that your agents have written during their work. When an agent discovers something important (an architecture decision, a debugging insight, a gotcha), it appends to the team knowledge file. That knowledge syncs to every machine on the next pull.

Knowledge is managed through the CLI and your agents. You cannot edit it in the web UI. The dashboard shows you what's there.

Screen

Knowledge (populated)

Knowledge

## Database
- Using Postgres 18, connection pool size is 10
- Migrations run automatically on deploy

## Auth
- Ed25519 keypairs, one per machine
- Tokens are base64url-encoded public keys
- Never log private keys

## Frontend
- Tailwind CSS with DaisyUI, no custom CSS files
- All components in lib/teamrc_web/components/

Screen

Knowledge (empty)

Knowledge

No knowledge yet. Knowledge is managed via the CLI.

How does knowledge get written?

The team-knowledge skill handles automatic loading. As an alwaysApply rule, it injects the knowledge file into every agent's context at the start of each session and instructs agents to append useful findings as ## <topic> entries before finishing.

teamrc also installs built-in slash commands for manual control: /trc-save-knowledge to save a finding, /trc-save-core to save permanent preamble knowledge, and /trc-knowledge to view and search knowledge mid-session. These work in Claude Code and Cursor.

On teamrc push or teamrc sync , knowledge uploads to the relay. On pull, every machine gets the merged result with duplicates removed. When knowledge exceeds 100KB, the oldest ## sections are pruned automatically. The preamble (content before the first heading) is permanent and never pruned.

The full flow

1 Create a team from a template (web) or teamrc init (CLI)
2 Add or tweak members and skills on the dashboard
3 Run teamrc pull on your machine to apply changes
4 Share the invite code to connect more machines or people
5 Keep editing. Run teamrc sync whenever you want the latest