Skip to main content

🐜 trailant

The Trail Ant — trailant's mascot, mid-stride, leaving a glowing trail behind

Ants don't remember paths. They lay a trail as they move, and follow the strongest trail back.

trailant does the same for your work. It doesn't hold state of its own — it reads the trails your tools already leave behind (Claude Code, Codex CLI, and other AI coding sessions) and reconstructs where you were, so you can answer:

  • "Where was I?" — resume the right session, in the right project, without hunting through directories or scrollback.
  • "What did I actually do today / this week?" — a reconstructed activity view, useful for timesheets, standups, or just your own sanity.
  • "Am I pacing myself sustainably?" — a cadence view of your own velocity over time, so a burnout trajectory shows up as data instead of only as hindsight.

No cloud, no telemetry, no account. Everything lives in plain, append-only JSONL files on your own machine, so you can cat them, grep them, or check them into your own private git repo if you want history on your history.

Why not just use claude --resume / codex resume?

Those work fine within one vendor. trailant exists for the parts they don't cover: a single view across multiple AI coding tools, a way to reconstruct what a session or day was actually about after the fact, and a lightweight trend view over weeks — none of which any single vendor's CLI is trying to solve.

Design principles

  1. Transparent over opaque. The source of truth is plain JSONL — the same format Claude Code and Codex already use for their own session logs. No database holds unique data.
  2. Cache, never store, derived state. Any local index (e.g. SQLite) is a disposable accelerator, rebuildable at any time from the JSONL. Delete it whenever — nothing is lost.
  3. Supervised, not autonomous. trailant never sends anything (a log, an email) without showing you the draft first. It's meant to make a human-in-the-loop workflow faster, not to replace the human in the loop.
  4. Vendor-agnostic via adapters. Each AI coding tool gets a small adapter that normalizes its session format into one internal shape. Adding a new vendor is a self-contained addition.

See docs/technical-overview.md for the full design spec.

Mascot: the Trail Ant 🐜 — doesn't remember, just reads the trail.

Install

git clone https://github.com/semanticintent/trailant.git
cd trailant
pip install -e .

Quickstart

trailant reindex     # walk configured source directories, build the trail index
trailant resume       # list recent sessions across all vendors, ranked by recency
trailant today          # reconstructed view of today's activity
trailant log "debugging the retry logic in the ingest job"   # manual entry, no editor needed
trailant cadence          # velocity trend vs. your own baseline

Configuration lives at ~/.trailant/config.yaml and is created with sane defaults on first run. See config.example.yaml in this repo for the full set of options.

Status

Early / pre-alpha. The Claude Code and Codex adapters are functional against the documented session formats; other vendors are not yet implemented. Interfaces may change. Contributions and adapters for other tools (Cursor, Gemini CLI, etc.) are very welcome — see CONTRIBUTING.md.

License

MIT — see LICENSE.

Download files

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

Source Distribution

trailant-0.1.0.tar.gz (18.2 kB view details)

Uploaded Source

Built Distribution

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

trailant-0.1.0-py3-none-any.whl (18.0 kB view details)

Uploaded Python 3

File details

Details for the file trailant-0.1.0.tar.gz.

File metadata

  • Download URL: trailant-0.1.0.tar.gz
  • Upload date:
  • Size: 18.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for trailant-0.1.0.tar.gz
Algorithm Hash digest
SHA256 867e41647c26f595c30272a9b34192dd3a59cc685f60efe764af35f2ab27757d
MD5 0ac2927f75e6c0d8178ab6d039ad9a0b
BLAKE2b-256 56da59ae5446af361902e266c6490338781dfe86df11d1334a97846209f03652

See more details on using hashes here.

Provenance

The following attestation bundles were made for trailant-0.1.0.tar.gz:

Publisher: publish.yml on semanticintent/trailant

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

File details

Details for the file trailant-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: trailant-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 18.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for trailant-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 edde0c9538823ed8577cd920de778a8583a49dd33ba1ffece63e9e1384d01086
MD5 c48a8bce2689efb76099db7f3518d1ad
BLAKE2b-256 389215afd1b9c38b21d68301684f28087de71a44855ef1241bdd459ba5bb2a11

See more details on using hashes here.

Provenance

The following attestation bundles were made for trailant-0.1.0-py3-none-any.whl:

Publisher: publish.yml on semanticintent/trailant

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

Release history Release notifications | RSS feed

0.1.6

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

This release

0.1.0 This release

2 files

Supported by

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