Absorb Anything

Study anything. Keep everything you learn.

A local-first CLI that gives everything you study a home: checkouts, observations, analyses, and distilled knowledge, in plain files your repo owns.

Real output, byte for byte. Every record lands as plain files under .absorb/.

absorb · zsh
$ absorb add https://github.com/sindresorhus/slugify
Added source: .absorb/sources/slugify
Observation: .absorb/sources/slugify/observations/20260828-7c318bd1aa4b.yaml
Checkout: .absorb/sources/slugify/checkout
Materials: .absorb/sources/slugify/materials
Hint: Observe changes with `absorb sync`; preserve decision-critical bytes with `absorb capture`.

$ absorb log slugify
Source log: slugify
2026-08-28T19:59:18+08:00 add normal 20260828-7c318bd1aa4b
  checkout-backed source added from https://github.com/sindresorhus/slugify

The loop

sources/
absorb it
analyses/
decide on it
knowledge/
keep what survived

Files all the way down: no server, no database, no account. Everything sits in a single .absorb/ directory inside the repo you already work in.

Clone once. Reference everywhere.

The cost of studying across projects is not disk space, it is re-reading. One workspace owns a source’s home; every other workspace links to it with a few dozen bytes, and writes flow through to the real home.

Evidence priced by the decision.

Reading around? An entry is an alias and a date. Adopting or rejecting? Pin the commit. Need bytes to survive upstream deletion? Capture them with an integrity hash. Record what the decision needs, not everything the tool can measure.

Built for AI agents.

absorb prime gives an agent the semantics in one screen. absorb explain covers each object: why it exists, when not to use it, common misuses. Mutating commands end with a point-of-use hint, and errors state the correct model instead of just refusing.

Install

npm install -g absorb-anything
absorb init          # overlay by default — your repo stays yours

Requires Node >= 22.13. Building from source? Clone the repo, then pnpm install && pnpm build.

Bring your own workflow.

Absorb Anything claims exactly one thing: the study ledger in .absorb/. No task format to adopt, no prompts to swap. superpowers, Trellis, OpenSpec, or your own conventions keep working untouched; those systems decide what gets built, this one keeps what you learned along the way. Want the build half on the same on-disk format? own-work is the pair we built for it.

Absorb anything. Build Your Own.