Enable your organization
An organization owner enables the shared workspace.
GitHub verifies your owner role before the workspace is enabled.
Connect your GitHub organization and see how coding agents support your team, repository by repository.
◉ Continue with GitHub ↗Start with your GitHub account. Choose your personal workspace or a GitHub organization, then connect your device.
You choose what prompt content to share.
Collection starts after you set up the local utility.
Use the private launch link printed by your running FootPrint local server. It establishes access in this browser without GitHub.
The link contains a local access secret. Keep it private; FootPrint removes it from the address bar before connecting.
Connect your local collector and choose what to save.
The local server stores data persistently in its own directory. These commands use a separate collector state directory and do not change your organization enrollment.
Run these from an installed FootPrint utility, or replace footprint with python3 -m agent_reports in the source checkout. The key-file path must match your local server's data directory.
Doctor checks source locations and supported formats without printing prompt bodies. Preview shows eligible data locally. Start begins collection after enrollment. Backfill of older history requires an explicit choice.
FootPrint reads supported local logs; it does not record the screen or capture every prompt entered into every app. Amp requires explicit capture. Source gaps and unknown usage remain visible.
Connect devices and manage workspace access.
Choose where the FootPrint GitHub App is installed. Your current GitHub access still limits what you can view. Refresh after changing an installation.
Install the FootPrint GitHub App for your personal repositories or organization, then refresh. Accept any pending membership or organization approval in GitHub.
An organization owner enables the shared workspace.
GitHub verifies your owner role before the workspace is enabled.
Each teammate authenticates and connects their own device.
The server has not published a CLI release yet. An installation command appears here when a release is available.
Until the public release is available, your workspace operator can provide the FootPrint source. From that checkout, with Python 3.9+ and Git installed, run:
python3 -m pip install .This installs the local utility. Continue with the organization and privacy setup below.
FootPrint reads supported local agent logs from enrolled GitHub checkouts. It excludes assistant output, reasoning, tools, and source-code files. Prompt bodies may contain code or private information. Permitted workspace viewers can inspect shared prompts.
Setup signs in with GitHub and previews eligible activity before you confirm collection. Historical backfill is a separate choice.
For a user-local release before 0.2.4, bootstrap once without repeating setup:
Then run footprint update. Public Homebrew installs use brew update && brew upgrade bornwest/tap/footprint. Keep your existing enrollment.
A device’s state directory belongs to one GitHub account and one organization. Use a separate --state-dir for another organization.
Connectivity and collected activity are separate signals.
Waiting for a collector heartbeat.
Waiting for a recent collector heartbeat.
Run an agent in an enrolled organization repository after starting the collector.
Your device status is available here. Repository analytics follows your verified GitHub access and the workspace access policy.
Choose a GitHub teammate and their FootPrint role. Repository visibility follows verified GitHub access.
This read exceeded the server’s memory budget. No partial totals were returned. Select a repository or a shorter UTC date window and retry.
Loading organization analytics…
Sessions, turns, and reported tokens.
Connect a device to start collecting activity.
Observed activity by UTC date.
| Repository | Sessions | Reported tokens |
|---|
Missing usage remains unknown.
Inspect prompt history and reported usage for each local session.
| Session / project | Member | Agent / model | Reported tokens | Turns | Usage / calls | Cache read | Reported cost | Last activity |
|---|
Usage records are observed source contributions, including cumulative deltas. They are not counted as model calls. Source estimates may cover only part of the usage.
User prompts includes human and unknown records, excluding detected agent and system messages. Unknown records are not proven human; choose Human only for strict source identification. The uploader is not proof of the original author.
Prompt content follows the collector’s privacy mode. An empty body can still represent a prompt record. Origin filters do not change token or usage totals.
Folders within enrolled repositories or local workspaces.
| Repository / project | Sessions | User turns | Reported tokens | Cache read | Reported cost | Last activity |
|---|
Activity attributed to each authenticated uploader.
| Member | Sessions | User turns | Reported tokens | Cache read | Reported cost | Last activity |
|---|
Reported tokens per UTC day. Select a day to inspect its sessions.
A day with no records does not establish that the collector was running. Striped days have observed activity but unknown token totals. Chart gaps are unmeasured days. Trend changes are not a productivity comparison.
Prepare prompt suggestions, repository skills, team playbooks, and plans from the evidence you can access. Templates use stored telemetry. Nothing runs or installs in your repository.
A deterministic draft based on the selected repository and permitted stored records.
Review status stays with each draft. Copy Markdown for manual adoption.