Skip to main content

Side Dog

A golden retriever watching an event timeline

Side Dog helps you follow coding agents across projects: Watch shows their activity over time, while Board shows the live session roster and recorded contributions. See edits, tests, commits, pull requests, issues, and agent turns in your terminal or a local browser panel.

Read the Side Dog documentation.

Side Dog was inspired by Sundai Hack 138. Sundai Club is a community for building and launching AI prototypes every Sunday.

Install

Requires Python 3.11+, Git, and macOS or Linux. Install uv, then:

uv tool install side-dog
side-dog --version

Upgrade an existing installation with uv tool upgrade side-dog. If the command is not found, run uv tool update-shell and open a new terminal. Follow the platform installation guide for prerequisites, PATH, upgrades, Git snapshots, uninstall, and offline man pages.

Two terminal views

Watch — follow the work

Watch shows a chronological feed with agent/model attribution, edits, test results, commits, pushes, and PR observations. Press e to expand activity and b to switch to Board.

Side Dog Watch showing synthetic agent edits, tests, commits, and PR activity

Board — see the live roster

Run side-dog board for the live session roster: agent, terminal or app, repository and branch, linked issues, PR checks and review state, and status. Use j/k to select a session, Enter for detail, and g to group rows. Conflicts appear briefly when they are first detected; press c to show the complete list again. Press a to toggle the compact recorded-contributions table; press it again to return to the roster shown here. Press w to switch to Watch.

Side Dog Board live session roster with four synthetic agents, repositories, issues, PRs, and changing status

Both recordings use synthetic data rendered by the current terminal UI; they do not expose real agent sessions. See the recording instructions.

Try it

side-dog --version
side-dog demo --watch
side-dog doctor ~/src/my-project
side-dog watch ~/src/my-project
side-dog board

Replace the path with a real project. Use side-dog demo --panel for the browser tour. For a real project, side-dog panel ~/src/my-project opens the local browser timeline; its /board page shows the live roster. The server binds to loopback. Claude Code requires optional project hooks for attributed tool activity; the other registered agents read local metadata without Side Dog hooks.

Coding agent support

Supports Codex, Claude Code, Pi, OpenCode, Crush, Cursor Agent, Grok Build, DeepSeek Harness, Cline, and Antigravity CLI. Herdr is optional, not an agent. See the current integration table and setup instructions. It distinguishes session discovery from live activity, including Cursor/Grok through T3 Code, and lists custom data-location variables.

With or without Herdr

Herdr is optional. side-dog watch . pins an explicit folder in a standalone terminal. Bare watch discovers agent folders; inside Herdr it follows Herdr context. See discovery and everyday use.

What Side Dog shows

Watch is chronological activity; Board presents current sessions and a compact contributions table by model/session. GitHub polling adds state to matching work but never becomes credited agent effort. Read Which model worked on this PR?.

Only validated metadata enters Side Dog history or its local browser panel. See privacy, configuration and disposable state. Tokens and estimated cost are separate from PR contribution counts.

Terminal and panel controls

Press ? for help, v for Watch settings, b for Board, and w to return. In Board, a toggles contributions and the live roster, and c reopens the temporary conflict notice. The browser panel's /board page shows the live roster. See view-specific controls and workflows.

Configuration

Optional settings live in ~/.config/side-dog/config.toml. Saved spaces, worktree discovery, display preferences and notifications are explained in the configuration guide.

Other commands

side-dog help lists commands. side-dog man opens the bundled offline manual; side-dog man board opens a command-specific page.

Develop from a checkout

uv sync --locked
uv run python -m unittest discover -s tests -q
uv run python scripts/build_man_pages.py --check
python scripts/build_docs_site.py
python scripts/check_docs_links.py

Release preparation follows the maintainer guide; merging does not publish a package.

For private vulnerability reporting, use the security policy. Do not put security details in public issues. Side Dog uses the MIT License.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

side_dog-2.1.3.tar.gz (570.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

side_dog-2.1.3-py3-none-any.whl (338.5 kB view details)

Uploaded Python 3

File details

Details for the file side_dog-2.1.3.tar.gz.

File metadata

  • Download URL: side_dog-2.1.3.tar.gz
  • Upload date:
  • Size: 570.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for side_dog-2.1.3.tar.gz
Algorithm Hash digest
SHA256 ee82b8e84d82916a19099cb484ba2c66cbf6c39cd8299ba64db793b3421b9fe7
MD5 fb469bdd7426727fc8fdc65066ad8ce2
BLAKE2b-256 7f2075f4d0a6cb4e543858a80668d1902c52c14cd69463c13ad758c2f45bf9e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for side_dog-2.1.3.tar.gz:

Publisher: release.yml on qfennessy/side-dog

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file side_dog-2.1.3-py3-none-any.whl.

File metadata

  • Download URL: side_dog-2.1.3-py3-none-any.whl
  • Upload date:
  • Size: 338.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for side_dog-2.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 11e2c7e6843001fa382994a2a1bb693ab278b90297dd730085737c6c5b081e4e
MD5 ef5b3e4041c13c9b813428f213dc78e1
BLAKE2b-256 9acac40fc82bb4703955b12f5f3ef8a85bceff916502110659d102349ced9ba8

See more details on using hashes here.

Provenance

The following attestation bundles were made for side_dog-2.1.3-py3-none-any.whl:

Publisher: release.yml on qfennessy/side-dog

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

2.3.1

2 files

2.2.1

2 files

2.2.0

2 files

This release

2.1.3 This release

2 files

2.1.2

2 files

2.1.1

2 files

2.0.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page