Side Dog
Side Dog is a narrow terminal timeline and local browser panel for watching coding agents work. It shows edits, tests, Git activity, pull requests, issues, and agent turns as they happen.
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
Install a released package with uv tool install side-dog on macOS or Linux.
Follow the platform installation guide for prerequisites,
PATH, upgrades, Git snapshots, uninstall, and offline man pages.
These guides describe current source. Until the next release, use the Git
snapshot for contributions, man pages and the repaired macOS demo.
Try it
side-dog --version
side-dog demo --watch
side-dog doctor ~/src/my-project
side-dog watch ~/src/my-project
Replace the path with a real project. Use side-dog demo --panel for the browser tour.
Claude Code requires optional project hooks for attributed tool activity; the
other registered agents read local metadata without Side Dog hooks.
Coding agent support
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 recorded contributions by model/session. GitHub polling is labeled as observation and unknown attribution stays unknown. 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. 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.
- Troubleshooting
- Documentation validation and platform coverage
- Maintainer release guide
- Dependency maintenance
- Security policy
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file side_dog-2.1.1.tar.gz.
File metadata
- Download URL: side_dog-2.1.1.tar.gz
- Upload date:
- Size: 564.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
682549ef548db23ec39f82546b50eb05df3b9a7138ac7b06f814f5d83e9cb41d
|
|
| MD5 |
788d621dfe0b9246f9cc36252d8f4c9e
|
|
| BLAKE2b-256 |
76c65c0db121418531031196d0988d76743891f9796f7573ceee589193e3c7b4
|
Provenance
The following attestation bundles were made for side_dog-2.1.1.tar.gz:
Publisher:
release.yml on qfennessy/side-dog
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
side_dog-2.1.1.tar.gz -
Subject digest:
682549ef548db23ec39f82546b50eb05df3b9a7138ac7b06f814f5d83e9cb41d - Sigstore transparency entry: 2761688092
- Sigstore integration time:
-
Permalink:
qfennessy/side-dog@d1769bbd35f15b65098e3c1a422d1a5736f4ac0e -
Branch / Tag:
refs/tags/v2.1.1 - Owner: https://github.com/qfennessy
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@d1769bbd35f15b65098e3c1a422d1a5736f4ac0e -
Trigger Event:
push
-
Statement type:
File details
Details for the file side_dog-2.1.1-py3-none-any.whl.
File metadata
- Download URL: side_dog-2.1.1-py3-none-any.whl
- Upload date:
- Size: 335.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
333b83b48801d972d45518772d881a2a774283d5406b0ed549574202b35f8ab4
|
|
| MD5 |
e453b5c4877876f6af0c72c45a8de7ba
|
|
| BLAKE2b-256 |
52db89d894da685a450f55dcbe3243f73f74eeca771bffef989a6afbfae93284
|
Provenance
The following attestation bundles were made for side_dog-2.1.1-py3-none-any.whl:
Publisher:
release.yml on qfennessy/side-dog
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
side_dog-2.1.1-py3-none-any.whl -
Subject digest:
333b83b48801d972d45518772d881a2a774283d5406b0ed549574202b35f8ab4 - Sigstore transparency entry: 2761688097
- Sigstore integration time:
-
Permalink:
qfennessy/side-dog@d1769bbd35f15b65098e3c1a422d1a5736f4ac0e -
Branch / Tag:
refs/tags/v2.1.1 - Owner: https://github.com/qfennessy
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@d1769bbd35f15b65098e3c1a422d1a5736f4ac0e -
Trigger Event:
push
-
Statement type: