Skip to main content

Context management for projects made easy.

Project description

den logo

Context management for projects made easy.

Python 3.12+ MIT License Status Active CLI Tool

Overview

My Problem

When working in a complex codebase, I need a fast way to capture and retrieve context tied to specific parts of the project.

Inline notes like TODO or FIXME are intrusive and leak internal intent into the codebase.

External note-taking tools are disconnected from the workflow and introduce unnecessary friction.

AI tools can summarize past work, but they remain bound to session-based context and are not a persistent, structured layer over the project.

How den Solves This

den is a tool for capturing and retrieving context scoped per project without breaking your flow.

  • Terminal-first access: Run den recent to surface recent context when opening a shell session.
  • Project-scoped storage: Context is isolated per project, determined by the nearest .git directory found by traversing upward from the current working directory.
  • Fast capture: Bind den add to editor shortcuts (e.g. Neovim). Capture selected code as context without leaving the buffer.
  • Portable storage: Context is stored locally and can be versioned or synced using standard tooling like git.
  • CLI core: den add, den rm, den ls, etc. for scriptable, precise operations.
  • TUI interface: den launches an interactive session to browse, create, and edit context.

Installation

[!IMPORTANT] The PyPI package name is den-python, but the installed command is den. Requires Python 3.12+.

pip (PyPI)

The recommended way to install den is using pip (or pipx for an isolated environment):

pip install den-python

Arch Linux (AUR)

If you are using Arch Linux, you can install from the AUR:

yay -S den

Debian

If you are using a debian based system, you can install from releases:

sudo apt install ./den-version.deb

From Source

You can always clone and install directly from the source:

git clone https://github.com/RaghavGohil/den.git
cd den
pip install .

Usage

Interactive Dashboard (TUI)

den

Opens an interactive curses-based TUI to quickly navigate and operate on your notes.

Recent Activity

den recent

Fetches the most recent notes globally across all your projects. Hook this to your .bashrc or .zshrc to get a workflow summary when you open a terminal.

List notes

den ls

Displays all saved notes for the current project.

Add a note

den add <note text>

You can pass multiple words without quotes:

den add build a realtime terrain engine

Attach a code reference: If your thought is linked to a specific implementation, you can track it with the --ref flag:

den add fix this rendering issue --ref src/engine.py:42-50

Edit a note

den edit [id]

Opens the note in your default $EDITOR. If no id is provided, edits the most recently added note (default: 1).

Remove a note

den rm [id]

Deletes a note. If no id is provided, removes the most recently added note (default: 1).


Commands Summary

Command Description
den Launch interactive TUI
den recent Fetch globally recent notes across projects
den ls List all notes for the current project
den add [text] Add a note
den add --ref [path] Add a note with an anchored code reference
den edit [id] Edit a note (defaults to the most recent note)
den rm [id] Remove a note (defaults to the most recent)

Dependencies

This project uses no external dependencies (outside of the Python standard library), ensuring a lightweight and conflict-free tool logic.


Additional notes

If you find this project to be useful, please don't forget to leave a star. This keeps me motivated to continue working on the project.

License

MIT 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

den_python-0.2.0.tar.gz (16.3 kB view details)

Uploaded Source

Built Distribution

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

den_python-0.2.0-py3-none-any.whl (17.6 kB view details)

Uploaded Python 3

File details

Details for the file den_python-0.2.0.tar.gz.

File metadata

  • Download URL: den_python-0.2.0.tar.gz
  • Upload date:
  • Size: 16.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for den_python-0.2.0.tar.gz
Algorithm Hash digest
SHA256 5d3522eb7422cdb8abf11f9f7dccdce38a8245d5feafbf49ea6069b07ad6c98f
MD5 e923deb1a9d6049dba0ddbaab5a52a8c
BLAKE2b-256 b2856f934800b298806b06ba1fb5c389fd01c643e8bbfb53bab3363a9a0f98da

See more details on using hashes here.

Provenance

The following attestation bundles were made for den_python-0.2.0.tar.gz:

Publisher: release.yml on RaghavGohil/den

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

File details

Details for the file den_python-0.2.0-py3-none-any.whl.

File metadata

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

File hashes

Hashes for den_python-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 034da34594f3e74697d0818a111c7f21a5f41b9226434cfc72bcdad95e6bb508
MD5 e523278ffc201665dcc23168bebacdcc
BLAKE2b-256 e63030f0666faac20f39f0a79c009e81fc7f72fa3d2ec3aea5b73dd85b6cdf84

See more details on using hashes here.

Provenance

The following attestation bundles were made for den_python-0.2.0-py3-none-any.whl:

Publisher: release.yml on RaghavGohil/den

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