Skip to main content

Git-native, graph-backed project memory for humans and coding agents

Project description

Whyloom

Whyloom weaves code, decisions, constraints, and history into a living project-memory graph

Your codebase remembers why.

Whyloom is a Git-native, graph-backed project memory for a single codebase. It connects implementation facts to the decisions, constraints, rejected alternatives, and operational lessons that explain them, then gives humans and coding agents fast, task-specific context.

The problem

Teams increasingly delegate both implementation and design reasoning to coding agents. The code survives, but much of the reasoning disappears into chat histories, compaction summaries, pull requests, and individual memory.

The next agent can inspect what the code does but often cannot determine:

  • why the implementation took this shape;
  • which constraints must remain true;
  • which alternatives were rejected and why;
  • which decision superseded an older one;
  • what an incident taught the project;
  • which context matters for the task at hand.

Long context windows and semantic search do not solve this reliably. They can return related information without reconstructing the project's meaning.

The product

Whyloom maintains two connected forms of project knowledge:

  1. Canonical project records in Git — concise Markdown records for decisions, constraints, architecture, incidents, and terminology.
  2. A generated local graph — files, symbols, records, and typed relationships indexed for fast, bounded traversal.

The repository remains the source of truth. The graph is disposable and can always be rebuilt.

Code + project records
        ↓
Incremental indexer
        ↓
Local rationale graph
        ↓
Task-specific context for humans and agents

Install

Install the isolated CLI from PyPI:

uv tool install whyloom
whyloom install

whyloom install registers both the ongoing whyloom skill and the one-time whyloom-bootstrap skill. With no platform option, it installs into every detected supported assistant and falls back to the generic Agent Skills location.

Choose a platform or commit the skills with a project explicitly:

whyloom install --platform codex
whyloom install --platform claude
whyloom install --platform copilot
whyloom install --platform agents

whyloom install --platform copilot --project --root .

For an existing repository, prepare project memory with one command:

whyloom onboard --root .

This initializes Whyloom, indexes the codebase, collects bounded evidence, and creates a pending onboarding request. The installed Whyloom skill detects that request and turns defensible findings into reviewable proposals; the user does not need to know a separate bootstrap prompt.

Platform Personal skills Project skills
Codex ~/.codex/skills/ .agents/skills/
Claude ~/.claude/skills/ .claude/skills/
GitHub Copilot ~/.copilot/skills/ .github/skills/
Agent Skills ~/.agents/skills/ .agents/skills/

Project-scoped Copilot skills work with Copilot coding agent, Copilot CLI, and agent mode in VS Code. To remove only directories managed by Whyloom:

whyloom uninstall --platform copilot

To test the latest unreleased development version instead:

uv tool install git+https://github.com/rafaelolsr/whyloom.git

Core workflow

whyloom onboard
whyloom index
whyloom explain src/auth/token_service.py
whyloom context "change refresh-token rotation"
whyloom impact decisions/0007-token-storage.md
whyloom reflect --task-summary "describe the durable project learning"
whyloom validate
whyloom doctor
  • onboard initializes an existing repository and prepares evidence for automatic agent review.
  • init adds only the canonical project-memory structure.
  • index extracts code structure and links it to project records.
  • explain answers what a path or symbol does and why it exists.
  • context builds a compact evidence bundle for a task.
  • impact shows the code and records affected by a change.
  • reflect proposes new or updated records after work is completed.
  • validate detects broken links, stale records, and contradictory active constraints.
  • doctor verifies that configuration, records, index, and validation are ready.

Onboard an existing codebase

Run one command when a repository has code but little reliable project reasoning:

whyloom onboard --root . --json

This initializes and indexes the repository, writes a bounded evidence manifest, and records a pending agent request under .whyloom/cache/bootstrap/. The installed Whyloom skills detect the request, inspect the evidence, and create proposed records with explicit confidence, citations, and open questions. They then validate, re-index, and mark onboarding complete.

Virtual environments and dependency caches—including named environments such as .venv-deepeval-cli—are pruned from both the graph and onboarding evidence.

Check the lifecycle at any time:

whyloom onboard --status --root . --json

Inferred rationale is never authoritative. A human must review it before changing its status to accepted or implemented.

Trust model

Whyloom separates implementation truth from project intent:

  • code is the source of truth for implementation;
  • tests are the source of truth for observed behavior;
  • accepted project records are the source of truth for intent and rationale;
  • the generated index is a cache, never an authority;
  • agent-generated knowledge enters as a proposal and requires normal Git review before becoming accepted truth.

Whyloom stores concise rationale and evidence, not private model chain-of-thought.

MVP

The first release proves one claim:

Linking decisions and constraints directly to code through a local graph gives agents more useful context, faster, than reading undifferentiated documentation.

The MVP includes:

  • Markdown records with YAML frontmatter;
  • nodes for files, symbols, decisions, and constraints;
  • typed links between records and implementation;
  • incremental local indexing;
  • full-text retrieval plus bounded graph traversal;
  • onboard, init, index, explain, context, impact, reflect, and validate commands;
  • a portable Claude Code/Codex-style skill that invokes the CLI;
  • fixtures and an A/B evaluation against plain repository documentation.

The MVP does not include a hosted service, accounts, cross-repository knowledge, a web dashboard, automatic acceptance of agent-authored records, or enterprise governance.

Repository documents

  • RATIONALE.md — why this should exist and how the hypothesis will be tested.
  • DESCRIPTION.md — users, workflows, requirements, and MVP boundaries.
  • STRUCTURE.md — repository layout, graph model, components, and command contracts.

Status

Beta CLI ready for real codebase pilots. The CLI initializes a repository, parses canonical records, incrementally indexes Python files into SQLite, retrieves bounded task context, explains and traces impact, validates record drift, and creates human-governed reflection proposals. The included skill and evaluation fixture exercise the same public command contract.

Development

uv sync --extra dev
uv run pytest -q
uv run whyloom index --json
uv run whyloom context "change graph storage safely" --json
uv run whyloom doctor --json
uv run python evals/runner.py

For agent calls, add --compact to context to return only governing record references, relevant files, warnings, and unresolved questions.

See docs/PRODUCTION_READINESS.md for guarantees, release gates, and explicit beta limits.

Project details


Download files

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

Source Distribution

whyloom-0.5.1.tar.gz (37.9 kB view details)

Uploaded Source

Built Distribution

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

whyloom-0.5.1-py3-none-any.whl (35.0 kB view details)

Uploaded Python 3

File details

Details for the file whyloom-0.5.1.tar.gz.

File metadata

  • Download URL: whyloom-0.5.1.tar.gz
  • Upload date:
  • Size: 37.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for whyloom-0.5.1.tar.gz
Algorithm Hash digest
SHA256 464fa694a59b117369af909ffcba90dde74d69cc457d5e31d6f1ca0b2514db91
MD5 3490f2cd86d0c22dbc2145de22734378
BLAKE2b-256 504bcbacb0c2de2158ce58dbada85d934ac3939cd8bc32dd634a1d4d67612a52

See more details on using hashes here.

Provenance

The following attestation bundles were made for whyloom-0.5.1.tar.gz:

Publisher: release.yml on rafaelolsr/whyloom

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

File details

Details for the file whyloom-0.5.1-py3-none-any.whl.

File metadata

  • Download URL: whyloom-0.5.1-py3-none-any.whl
  • Upload date:
  • Size: 35.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for whyloom-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8efaed35ddb85d4fa39cdef0de72e5790acce8af7b317c87bcca6d5dc62476dd
MD5 bd9692f2e37deebf27ecf251b6143ca0
BLAKE2b-256 99ced6292a79a1551f765ecf80381b6078ef3aa22ac49ed8b182357eba94dc64

See more details on using hashes here.

Provenance

The following attestation bundles were made for whyloom-0.5.1-py3-none-any.whl:

Publisher: release.yml on rafaelolsr/whyloom

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

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page