footprint
the pipeline

From your sessions to a local model.

no tracer, no upload — footprint reads logs claude already wrote.

Your GitHub is the account — we collect nothing. Signing in creates a private footprint-vault repo in your account. API keys and synced context live there; footprint runs no database and never sees your data.

the flow
trace → chat with claude → collect train install /footprint
  1. 01

    Claude Code already logs everything

    Every session — your prompts, Claude's replies, and tool calls — is written to ~/.claude/projects. Footprint reads those transcripts directly, so there's no tracer or wrapper to install.

  2. 02

    trace marks a starting line

    footprint trace arms a marker so only sessions from that point on become training data. Skip it (or delete the marker) to train on your entire history instead.

  3. 03

    collect parses transcripts into examples

    Each assistant turn becomes a chat-format training example within a ~6k-character context window. Tool calls are encoded so the model learns your workflow, not just prose.

  4. 04

    train runs a LoRA fine-tune

    A small base model (Qwen2.5-Coder-1.5B by default) is LoRA fine-tuned on your examples — about ten minutes, MLX on Apple Silicon or PyTorch + PEFT everywhere else.

  5. 05

    install serves it, always on

    A launchd / systemd / Task Scheduler agent runs the server at 127.0.0.1:8399, starts at login, and restarts on crash. It also wires up OpenCode with a /footprint command.

  6. 06

    Any OpenAI-compatible tool plugs in

    Point Cursor, OpenCode, or Codex CLI at the local URL. When your Claude quota runs out, they keep working in the same style — fully offline.

  7. 07

    Connect GitHub — your account, your storage

    Sign in with GitHub (OAuth on the web, device flow in the CLI) and footprint creates a private footprint-vault repo in your own account. API keys are stored there as hashes, and footprint sync push/pull moves your context between devices through it. footprint has no database and collects nothing — delete the repo and every trace of your account is gone.

Frequently asked