Waydev Git-Hooks and AI Telemetry

⬇️

Looking for the installer?

Drive download (script & extended documentation)

Overview

Waydev reads AI-assisted development activity out of your repositories in two independent ways. Run install-wd.sh to set up either one, or both:

  1. Git commit hook + Entire — tags each commit with a compact AI-attribution trailer (agent, tokens, files touched, AI vs. human lines). Waydev reads this from the commit itself over your existing Git connection.
  2. OTel metrics export — configures OpenTelemetry environment variables for supported AI coding agents (Claude Code, OpenCode) so token usage, cost, and model activity flow into Waydev's AI reports.

Both are handled by the same installer, so this is the one page to come to for setup.


What is Entire?

Entire (https://docs.entire.io/introduction) integrates with your Git workflow to capture AI agent sessions during development. These sessions are indexed alongside commits, enabling traceability of code generation, a searchable history of AI-assisted development, and better auditability of changes.


Privacy: what Waydev sees

By design, raw AI session data never leaves the developer's machine. Prompts and AI conversation contents are not pushed to your remote, and Waydev does not need them. This is a deliberate privacy decision, enforced by the push_sessions: false setting the installer configures in .entire/settings.local.json. Session data stays local — you can optionally choose to push Entire session data to its own branch, but this is not required for Waydev to work.

Waydev reads AI attribution from the commit message itself, not from Entire's session branches.

How the attribution data is built

The post-commit hook (wd_commit_hook, open-source and readable in any editor) performs the extraction locally at commit time, then folds the result into the commit message. For each commit, the hook:

  • Reads the Entire-Checkpoint: <id> trailer that Entire already added to the commit.
  • Resolves the session ID from the local .entire/logs/entire.log.
  • Aggregates token counts from the local .entire/metadata/<session>/full.jsonl.
  • Reads the dominant agent name and the computed attribution line.
  • Amends the commit with a single trailer: WD: <base64>.

Decoded, that payload is eight pipe-separated fields:

agent_name|tokens|files_touched|ai_lines|human_added|human_modified|human_removed|ai_percentage

The WD: trailer is part of the commit object, so it travels with the commit on a normal git push. Waydev ingests it through its standard repository connection, exactly as it reads any other commit metadata. No session contents, prompts, or conversation logs are transmitted at any point.


Installing

install-wd.sh is open source — review it before running: [GitHub: waydev/wd-installer] (link pending — see "Moving to GitHub" below). In the meantime it's also available from Drive: Drive download (script & extended documentation).

Navigate to your workspace directory containing your Git repos (or run from anywhere and pass --dir):

bash install-wd.sh

The script is prompt-first: it asks which capability you want (git-hooks/Entire, OTel, or both), displays a full summary, and requests confirmation before altering any files.

What it does

  • Repository detection — finds local Git repositories under the target directory and installs/configures wd_commit_hook + post-commit, preserving any existing hooks (e.g. Husky).
  • Entire session tracking — installs the Entire CLI if missing, runs entire enable --local --skip-push-sessions --telemetry=false, and verifies .entire/settings.local.json has commit_linking: "always".
  • Agent session tracking — checks for and configures session tracking across supported AI coding agents (claude-code, opencode, cursor, copilot-cli, factoryai-droid, gemini).
  • OTel configuration merge — merges the OpenTelemetry environment variables each agent needs into .claude/settings.json and .opencode/settings.json.

Flags

  • --check — runs prerequisite checks only (OS, Git, Node, curl, Entire CLI).
  • --uninstall — removes installed hooks and OTel environment keys, without touching the Entire CLI installation itself.
  • --dir — target directory override, for running against a workspace of multiple repos from elsewhere.

Validation checklist

After running the installer, confirm:

  • entire --version — Entire CLI is installed (if you enabled Entire tracking).
  • entire status — the repository is enabled and sessions are being tracked.
  • .entire/settings.local.json contains commit_linking: "always".
  • .githooks/wd_commit_hook exists and git config core.hooksPath points at it (or .git/hooks, if that's where your hooks live).
  • .claude/settings.json / .opencode/settings.json contain the OTel environment block (if you enabled agent telemetry).

Notes & best practices

  • Use local settings (settings.local.json) for environment-specific configuration.
  • Keep telemetry disabled if working with sensitive repositories.
  • Regularly check entire status to confirm sessions are being tracked.
  • Store .githooks in the repository for team-wide consistency.