Cache

Open Source

The core is yours. Always was.

Cache's ingestion, normalization, and query layers are fully open source. Run them anywhere. Fork them. Extend them.

Stars
4.3k
Forks
612
Contributors
89

Architecture

Five modules. Each one standalone.

Ingestion Engine

Parses CSV, OFX, QIF, and QFX files. Handles encoding detection, date normalization, and duplicate prevention.

/core/ingestion
Normalizer

Transforms raw transaction data into a unified schema. Merchant name extraction, category inference, and metadata enrichment.

/core/normalizer
Query Layer

Natural language query parsing and structured filtering. Supports aggregations, time ranges, and category breakdowns.

/core/query
Storage

SQLite-based local storage with optional Postgres adapter. Full-text search, indexes, and migration system.

/core/storage
CLI

Command-line interface for importing data, running queries, and managing configuration. Shell completions included.

/core/cli

Contributing

How to get involved

  • 1Read the CONTRIBUTING.md file in the repository root.
  • 2Open an issue before starting work on major features.
  • 3Follow the existing code style and commit message conventions.
  • 4Write tests for new functionality and ensure existing tests pass.
  • 5Keep PRs focused on a single concern. Smaller PRs are merged faster.
View on GitHub

Self-hosting

Run your own instance

# Clone the repository
git clone https://github.com/usecache/core.git

# Navigate and install dependencies
cd core && npm install

# Initialize the database
npm run db:init

# Start the local server
npm run start

# Server running at http://localhost:4891
# API available at http://localhost:4891/v1