Skip to main content

Cogitus — a fast, searchable terminal workspace for capturing and evolving programming ideas.

Project description

Cogitus

[!NOTE]

Cogitus is currently in v0.1 MVP/alpha stage. Core workflows are available, and interfaces may continue to evolve in subsequent releases.

Cogitus — a fast, searchable terminal workspace for capturing and evolving programming ideas.

Cogitus is a Python-based TUI (Terminal User Interface) built with Textual. It is designed specifically for developers who want a structured, keyboard-driven way to capture, explore, and refine programming ideas without leaving the terminal. This is not a generic note-taking app and not a task manager. Cogitus is focused on structured idea capture, iteration, and discovery.


Goals

  • Fast, local-first idea capture
  • Fully keyboard-driven workflow
  • Searchable and structured storage
  • Minimal, distraction-free UI
  • Designed specifically for programming and technical concepts

Core Concepts

Cogitus treats ideas as structured entities rather than loose notes. Each idea can include:

  • Title
  • Body/description (Markdown-friendly text - edit in markdown, display rendered using Textual/Rich native functionality)
  • Tags
  • Timestamps (created/updated)

Future versions may introduce:

  • Idea linking (relationships between ideas)
  • Graph views
  • Scoring or priority signals
  • SQLite FTS5-powered full-text search
  • AI-assisted idea expansion

Architecture

  • UI: Built with Textual
  • Database: SQLite (local file, WAL mode)
  • Data Access: sqliter-py
  • Package Management: uv (not pip)

The project intentionally separates:

  • Textual UI layer (screens and widgets)
  • Repository/service layer for database access
  • Schema and migration management

Cogitus is also a real-world validation project for sqliter-py.


MVP (v0.1)

  • Create new ideas
  • Edit existing ideas
  • List ideas
  • Tag ideas
  • Basic search (SQLite LIKE)
  • View idea details

Search will initially be simple but structured to evolve into FTS5.


Roadmap

v0.2

  • SQLite FTS5 search backend
  • Better ranking/snippet presentation
  • Tag filtering and combined query UX
  • Navigation and keybinding polish
  • In-place right-pane Markdown edit mode (view/edit toggle in content pane)
  • Contextual dynamic toolbar/actions by mode
  • Evaluate SQLite write tuning (PRAGMA synchronous=NORMAL) as an optional performance optimization, backed by benchmark and risk assessment.

v0.3

  • Idea linking (explicit relationships)
  • Relationship browsing primitives
  • Richer metadata and prioritization signals

v0.4

  • Add non-TUI CLI tasks for idea management:
    • list ideas,
    • dump/export ideas,
    • delete ideas.
  • Ensure CLI task layer reuses the same repository/service abstractions as the TUI.

v0.5+

  • Graph-oriented idea exploration views
  • Scoring heuristics (impact/effort/confidence)
  • Optional AI-assisted idea expansion and prompt-to-structure workflows

Target Users

  • Solo developers
  • Indie hackers
  • Open-source maintainers
  • Engineers who think in terminals

If you sketch ideas in README files, TODO lists, or scattered Markdown files across projects, Cogitus aims to centralize that thinking into a structured, searchable workspace.


Installation

uv tool install cogitus

Usage

cogitus

Development

This project uses:

  • uv for dependency and environment management
  • SQLite for local storage
  • Textual for UI
  • Standard formatting and linting tools defined in the repository

Philosophy

Cogitus is designed to be:

  • Local-first
  • Minimal
  • Fast
  • Developer-centric
  • Extensible without becoming bloated

It should feel like a serious engineering tool — not a productivity app with a marketing layer

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

cogitus-0.1.0.tar.gz (14.4 kB view details)

Uploaded Source

Built Distribution

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

cogitus-0.1.0-py3-none-any.whl (21.1 kB view details)

Uploaded Python 3

File details

Details for the file cogitus-0.1.0.tar.gz.

File metadata

  • Download URL: cogitus-0.1.0.tar.gz
  • Upload date:
  • Size: 14.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for cogitus-0.1.0.tar.gz
Algorithm Hash digest
SHA256 38b98ea829b62f066e801ed6465fce5cf5e97c3bfd3a65c64bce41f874377557
MD5 faacf509296a32517522e390696fb71a
BLAKE2b-256 f70a44875e73eb2a595ddbae20a31947606bf3a51ace726d0456a8685651cef3

See more details on using hashes here.

File details

Details for the file cogitus-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: cogitus-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 21.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for cogitus-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1f0e5c49da5d86f637accc48325cb8809ed853b8743f40f1a84a5a89a31fdbf4
MD5 332c92fbe281cab8c4d04b9261871a11
BLAKE2b-256 79c7dc270eb1920ab8f94905b519d8f323feeb3a00d862fb4cd29d1b0cc14066

See more details on using hashes here.

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