Skip to content

Repository files navigation

logy

Terminal-first professional memory for builders.

Every day as an engineer, you solve problems, make decisions, and build things. Most of that context disappears. Logy captures it in under 2 minutes, enriches it with AI, and preserves it in a searchable knowledge graph — accessible from your terminal and your browser.

The Problem

Engineers lose ~80% of their daily context. Standups feel shallow. Onboarding onto past work requires digging through stale PRs and closed tickets. Your career is a trail of forgotten decisions, solved bugs, and hard-won lessons.

Logy makes your engineering journey permanent and queryable.

Installation

Requirements

  • Python 3.12+
  • uv (package manager) — install with curl -LsSf https://astral.sh/uv/install.sh | sh

Setup

git clone <repo-url>
cd logy
uv venv
source .venv/bin/activate
uv sync

That's it. Logy uses SQLite — no database server needed.

Optional: AI Enrichment

Set one of these in ~/.logy/.env or export as environment variables:

# LiteLLM (any provider — OpenAI, Anthropic, Mistral, Ollama, etc.)
LOGY_LITELLM_MODEL="openai/gpt-4o"
LOGY_LITELLM_API_KEY="sk-..."

Default model is mistral/mistral-small-latest. If unconfigured, everything works — you just won't get AI summaries or entity extraction.

Optional: Knowledge Graph

LOGY_COGNEE_API_KEY="cognee-..."
LOGY_COGNEE_BASE_URL="https://your-tenant.cognee.ai"

If unconfigured, the app falls back to SQLite-based search and local connection scoring.

Usage

# Launch the interactive TUI
uv run logy

# Or use CLI commands directly
uv run logy log create "Fixed the query planner — was O(n²) on large joins" --project query-engine --difficulty hard
uv run logy log list
uv run logy search search "query planner"
uv run logy projects list
uv run logy projects timeline query-engine
uv run logy review weekly

# Start the web dashboard
uv run logy serve start

The web dashboard runs at http://localhost:8080 and includes:

  • Graph — Interactive knowledge graph visualization (React Flow)
  • Ask — Chat-style RAG over your memory
  • Insights — Entity browser and schema inventory
  • Weekly — Auto-generated weekly summaries
  • Upload — Drag-and-drop file ingestion (PDF, TXT, DOCX, MD)
  • Settings — LLM and Cognee configuration UI

Architecture

Terminal                     Browser
┌─────────┐               ┌──────────────┐
│  Typer   │               │  React 18 +  │
│  CLI     │               │  Vite +      │
│  + Rich  │               │  Tailwind    │
│  TUI     │               │  + ReactFlow │
└────┬────┘               └──────┬───────┘
     │                           │
     │     FastAPI (127.0.0.1:8080)
     │     ┌──────────────────────┐
     └────►│  6 routers          │
           │  entries / projects │
           │  search / brain     │
           │  graph / settings   │
           │                     │
           │  Background worker  │
           │  (async enrichment) │
           └──────┬──────────┬───┘
                  │          │
        ┌─────────▼──┐  ┌───▼──────────┐
        │  SQLite     │  │  LiteLLM     │
        │  (SQLModel) │  │  (any       │
        │  local-FK   │  │   provider)  │
        │  source of  │  │              │
        │   truth)    │  │  enrichment: │
        │             │  │  • grammar   │
        │  3 tables:  │  │  • entities  │
        │  entries    │  │  • tech      │
        │  projects   │  │  • summary   │
        │  tags       │  └──────────────┘
        └─────────────┘
                  │
        ┌─────────▼──────────┐
        │  Cognee (hosted)    │
        │  Knowledge Graph    │
        │  • semantic search  │
        │  • entity graph     │
        │  • relationships    │
        └────────────────────┘

Key Design Decisions

  • Terminal-first — Logging happens where you already work
  • Human-first — You write every entry; AI enriches, never writes
  • Local-first — SQLite is the source of truth; everything works offline
  • Fast — Entry creation in under 2 minutes
  • Provider-agnostic AI — LiteLLM lets you swap OpenAI, Anthropic, Mistral, Ollama, or any provider without code changes
  • Graceful degradation — AI or Cognee unconfigured? Everything still works, just without enrichment or graph features

Project Structure

├── apps/
│   ├── cli/          # Typer CLI + Rich TUI
│   ├── server/       # FastAPI backend (6 routers, background worker)
│   └── web/          # React 18 + Vite + Tailwind dashboard (6 pages)
├── packages/
│   ├── ai/           # LiteLLM enrichment pipeline (grammar, entities, summary, chat)
│   ├── cognee/       # Cognee hosted API client + graph operations
│   ├── database/     # SQLModel models + repository + Alembic migrations
│   └── shared/       # Config, constants, utils, settings store
├── data/             # Runtime data (gitignored)
├── tests/            # pytest suite (63 tests)
└── pyproject.toml

Development

uv run ruff check .
uv run ruff format .
uv run pytest

Tech Stack

Layer Choice
Runtime Python 3.12+
CLI Typer + Rich (interactive TUI)
API FastAPI
Database SQLite via SQLModel
AI LiteLLM (provider-agnostic)
Knowledge Graph Cognee (hosted) + React Flow
Web React 18 + Vite + Tailwind CSS
Package Manager uv
Linter ruff
Tests pytest

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages