Skip to main content
WhyKit, open source

Keep the decision. And the reason behind it.

A month later, you still know why. WhyKit connects sources, evidence and decisions in plain Markdown. Your team and AI agents return to the reasoning instead of reconstructing it from conversations.
git clone https://github.com/CometWeb-io/whykit.git

Source preview, no release yet Licence Apache-2.0 Python 3.11+ and uv, no runtime dependencies
What it does

What you decided. And why.

A decision without sources quickly becomes an opinion. WhyKit keeps the path from source material to evidence, a choice and the next review.
E-001

Trace a conclusion to its source.

Connect a claim to evidence and its source. Separate verified facts from assumptions so the next person or agent knows what they can rely on.
  • Readable Markdown files
  • References to specific evidence
  • Explicit assumptions and missing information
D-001, D-004

Keep the reasoning in history.

Leave an accepted decision as it was. When circumstances change, record a new decision and name the one it supersedes.
  • Link previous and replacement decisions
  • Rejected options beside the chosen approach
  • CLI and CI checks
review_by

Revisit decisions before they go stale.

A review_by field sets the next review date. The linter flags overdue reviews and structural issues, so the ledger stays in use.
  • A review date on each decision
  • Overdue review findings
  • Checks locally or in CI
How it works

From an empty folder to a checked ledger.

  1. Create a ledger whykit init sets up a folder with the template and an AGENTS.md beside the checkout.
  2. Add evidence Each source gets a stable E-NNN ID in the evidence register.
  3. Record a decision A D-NNN decision names its source_ids and a review_by date.
  4. Check the structure whykit lint runs the same way on your machine and in CI.
Installation

Run it from a checkout.

Until the first release, install WhyKit from a copy of the repository. The ledger is created beside the source, so private notes stay out of the WhyKit repository.

  • Python 3.11 or newer
  • uv to sync the environment
  • Git with full history for change checks
Getting started from a checkout
CometWeb-io/whykit
git clone https://github.com/CometWeb-io/whykit.git
cd whykit
uv sync --locked
uv run whykit init ../my-ledger
uv run whykit lint --root ../my-ledger

Check your ledger.

uv run whykit lint --root ../my-ledger
Limits

The linter checks structure. You assess the evidence.

A new ledger has zero lint errors. Its warnings point to questions in AGENTS.md that you answer before relying on agents.
  • Checks structure and links; you judge whether a source is true
  • No GitHub or PyPI release yet, install from a checkout
  • History checks need the full Git history
Full details in the README

From website analysis
to action.

CometWeb Insight checks five quality areas, prioritises fixes and re-tests the site after you ship.