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.2.tar.gz (18.3 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.2-py3-none-any.whl (18.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: trailant-0.1.2.tar.gz
  • Upload date:
  • Size: 18.3 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.2.tar.gz
Algorithm Hash digest
SHA256 a2414180f8417add92e170d52881a06f0067a89ef50db880f1885e53dfb46c48
MD5 473de17beec9bd29ba5b78a12be715e7
BLAKE2b-256 7310f9c1a8616fe33c087208d34d5410631e9f77afc8c651dc664dd7ad378013

See more details on using hashes here.

Provenance

The following attestation bundles were made for trailant-0.1.2.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.2-py3-none-any.whl.

File metadata

  • Download URL: trailant-0.1.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 64a7469a04fe7b2e8ae5218dbe2cd2a318e0a1e6e8f1aed2b6436658d4611c6f
MD5 677a2fe0dcef3aff6b6d936ffb0029ea
BLAKE2b-256 14e12b2d8a159de9d45d36e8e40f4ecee6b64d6942debd3232b52fc91f636191

See more details on using hashes here.

Provenance

The following attestation bundles were made for trailant-0.1.2-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

This release

0.1.2 This release

2 files

0.1.1

2 files

0.1.0

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