Context management for projects made easy.
Project description
Context management for projects made easy.
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 recentto surface recent context when opening a shell session. - Project-scoped storage: Context is isolated per project, determined by the nearest
.gitdirectory found by traversing upward from the current working directory. - Fast capture: Bind
den addto 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:
denlaunches an interactive session to browse, create, and edit context.
Installation
[!IMPORTANT] The PyPI package name is
den-python, but the installed command isden. 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5d3522eb7422cdb8abf11f9f7dccdce38a8245d5feafbf49ea6069b07ad6c98f
|
|
| MD5 |
e923deb1a9d6049dba0ddbaab5a52a8c
|
|
| BLAKE2b-256 |
b2856f934800b298806b06ba1fb5c389fd01c643e8bbfb53bab3363a9a0f98da
|
Provenance
The following attestation bundles were made for den_python-0.2.0.tar.gz:
Publisher:
release.yml on RaghavGohil/den
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
den_python-0.2.0.tar.gz -
Subject digest:
5d3522eb7422cdb8abf11f9f7dccdce38a8245d5feafbf49ea6069b07ad6c98f - Sigstore transparency entry: 1337903250
- Sigstore integration time:
-
Permalink:
RaghavGohil/den@04716f4fe1f2c0d23fa9e992e44d1f3b971e1cfa -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/RaghavGohil
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@04716f4fe1f2c0d23fa9e992e44d1f3b971e1cfa -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
034da34594f3e74697d0818a111c7f21a5f41b9226434cfc72bcdad95e6bb508
|
|
| MD5 |
e523278ffc201665dcc23168bebacdcc
|
|
| BLAKE2b-256 |
e63030f0666faac20f39f0a79c009e81fc7f72fa3d2ec3aea5b73dd85b6cdf84
|
Provenance
The following attestation bundles were made for den_python-0.2.0-py3-none-any.whl:
Publisher:
release.yml on RaghavGohil/den
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
den_python-0.2.0-py3-none-any.whl -
Subject digest:
034da34594f3e74697d0818a111c7f21a5f41b9226434cfc72bcdad95e6bb508 - Sigstore transparency entry: 1337903337
- Sigstore integration time:
-
Permalink:
RaghavGohil/den@04716f4fe1f2c0d23fa9e992e44d1f3b971e1cfa -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/RaghavGohil
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@04716f4fe1f2c0d23fa9e992e44d1f3b971e1cfa -
Trigger Event:
push
-
Statement type: