Skip to main content

Infinite Context: local-first project memory engine for AI coding workflows

Project description

Infinite Context

Local-first project memory for AI coding workflows.

CI PyPI Python License CLI coverage

Quick Start · Why It Exists · Commands · Docs


What It Does

infinitecontex captures the working memory around a software project: repository structure, git state, diffs, runtime signals, decisions, active tasks, pinned files, and restore prompts. It stores that state locally in .infctx/ so a developer or coding agent can recover context without rereading the whole repository from scratch.

Current version: 0.3.1

repo + git + chat + intent
        |
        v
  infctx snapshot
        |
        v
.infctx memory store
        |
        +--> agent handoff files
        +--> restore prompts
        +--> searchable history
        +--> snapshot diffs

Why It Exists

Modern coding workflows lose context constantly: terminal output scrolls away, decisions live in chat, diffs only show the present moment, and agents often restart without the reasoning trail that got the project here. Infinite Context turns that working state into durable, inspectable memory.

Need Infinite Context gives you
Resume work after an interruption Snapshot history and restore prompts
Hand off to another agent Regenerated .infctx/agents/*.md files
Understand what changed Snapshot-to-snapshot comparisons
Preserve decisions note, decisions, and chat ingestion
Keep important files visible pin, pins, and unpin
Stay local-first SQLite and project files under .infctx/

Quick Start

Install the CLI:

uv tool install infinitecontex
infctx --version

Run from source during development:

uv sync --extra dev
uv run infctx --help

Initialize memory for a project:

uv run infctx init
uv run infctx snapshot --goal "stabilize the CLI release"
uv run infctx status

Work from outside the target repo:

uv run infctx --project-root /path/to/repo snapshot --goal "continue current work"

Daily Workflow

1. Capture The Current State

uv run infctx snapshot --goal "ship the next release"

This records a structured view of the project and refreshes the agent-facing files in .infctx/agents/.

2. Review Memory

uv run infctx status
uv run infctx snapshots --limit 10
uv run infctx show-snapshot

Use these commands to inspect the latest goal, active tasks, pins, recent commits, and snapshot metadata.

3. Compare Work Over Time

uv run infctx compare-snapshots

By default, this compares the latest two snapshots and highlights changed files, task changes, issue changes, and metric deltas.

4. Generate A Handoff Prompt

uv run infctx prompt --mode generic-agent-restore --token-budget 1200

Use the generated prompt when you need a compact restore brief for another model, agent, or session.

5. Run A Live Session

uv run infctx session --goal "refactor restore flow"

session takes an immediate snapshot, watches filtered project changes, skips noisy .infctx/ updates, and refreshes memory as work progresses.

Commands

Command Purpose
infctx init Create .infctx/ and initialize local metadata
infctx snapshot Capture a one-off project memory snapshot
infctx session Start a live capture session
infctx watch Compatibility alias for session
infctx status Show latest memory state, pins, tasks, and commits
infctx snapshots List recent snapshots
infctx show-snapshot Inspect one snapshot in detail
infctx compare-snapshots Compare two captured memory states
infctx prompt Generate a compact restore prompt
infctx restore Validate restore state against a snapshot
infctx ingest-chat Ingest transcript-derived intent and decisions
infctx note Save an architectural or workflow decision
infctx decisions List recent decisions
infctx pin / pins / unpin Manage high-priority context files
infctx search Search local memory
infctx diff-summary Summarize current uncommitted changes
infctx config Read or apply project configuration
infctx doctor Run integrity and dependency diagnostics
infctx export / import Move local memory between machines
infctx cleanup Prune old snapshots and compact storage
infctx setup-agent Wire Cursor, Claude, Copilot, or Windsurf to .infctx/agents/

Global options:

infctx --project-root /path/to/repo status
infctx --version
infctx --help

Generated State

Infinite Context keeps generated files inside .infctx/:

.infctx/
  agents/
    architecture.md
    behavioral.md
    decisions.md
    instructions.md
    overview.md
    recent_changes.md
  metadata/
    state.db
  prompts/
  snapshots/
  working_set/

The most useful files for agents are in .infctx/agents/. They are regenerated from snapshots and are safe to read before making changes.

Configuration

Apply the included Python-oriented preset:

uv run infctx config --set-file config/default.json

The global root option works before the command:

uv run infctx --project-root /path/to/repo config --set-file config/default.json

Development

uv sync --extra dev
uv run ruff check .
uv run mypy src
uv run pytest
uv build

The current local validation suite reports:

  • 78 tests passing
  • 95% total coverage
  • 100% coverage for src/infinitecontex/cli.py

Documentation

Topic File
Product overview docs/overview.md
Architecture docs/architecture.md
CLI reference docs/cli-reference.md
CLI behavior contract docs/cli-behavior-contract.md
Configuration docs/config-reference.md
Data model docs/data-model-reference.md
Restore pipeline docs/restore-pipeline.md
Security and privacy docs/security-privacy.md
Testing strategy docs/testing-strategy.md
Troubleshooting docs/troubleshooting.md

Release Notes

See CHANGELOG.md for release history. The 0.3.1 release adds the global --project-root option, removes stale external packaging, simplifies CI, and expands CLI coverage.

License

MIT. See LICENSE.

Project details


Download files

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

Source Distribution

infinitecontex-0.3.1.tar.gz (7.3 MB view details)

Uploaded Source

Built Distribution

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

infinitecontex-0.3.1-py3-none-any.whl (45.2 kB view details)

Uploaded Python 3

File details

Details for the file infinitecontex-0.3.1.tar.gz.

File metadata

  • Download URL: infinitecontex-0.3.1.tar.gz
  • Upload date:
  • Size: 7.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for infinitecontex-0.3.1.tar.gz
Algorithm Hash digest
SHA256 d2535414517505fd752f37bdeea625dfee065372fd57509639f761f30ffdd6fd
MD5 d5e127f379322ac1574a38a29f38962e
BLAKE2b-256 5e3b0f4a656ff9b78b0918e7026a96a7b6e65cd16a8f83c0f2b827210b0d6456

See more details on using hashes here.

Provenance

The following attestation bundles were made for infinitecontex-0.3.1.tar.gz:

Publisher: release.yml on desenyon/infinitecontex

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

File details

Details for the file infinitecontex-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: infinitecontex-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 45.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for infinitecontex-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e56f97b40a76843cd8aced0592dbd6b8c6ac585dc123e953f3ac3bb86e786a8d
MD5 ca2efd8f2d11d295a226a8963affeb22
BLAKE2b-256 932f148b38a4f7ef5c373a528a368fcfe2761e6c1e70055d5c2cf4cbf64607de

See more details on using hashes here.

Provenance

The following attestation bundles were made for infinitecontex-0.3.1-py3-none-any.whl:

Publisher: release.yml on desenyon/infinitecontex

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

Supported by

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