Add your description here
Project description
Notulist - Record notes from your terminal
Notulist is a CLI-based note taking application for terminal power-users. You can now easily record quick notes via the terminal or your favorite editor. After collecting notes, you can let AI organize them for you into projects, and your journal automatically.
The application features a journal section that records daily and monthly summaries for you based on the notes collected so you always have a clear overview of what happened in the past days or weeks. In addition to the journal, you can organize notes into projects or archive them by date so you can refer to them at any point.
I made notulist in such a way that you can link it to Claude Code and let your agent do the note taking for you. Claude Code is also used to organize the notes based on customizable instructions stored in the application's configuration directory.
Requirements
- Python 3.14+
- Claude Code
Installation
pip install notulist
Usage
Initialize a notes repository
Before you can take notes, you should initialize a directory as the notes repository for the application. First, create a new directory for your notes, and then use the following command to initialize the new directory as a notes repository:
notulist init
This creates the following directory structure:
today/ # inbox for today's notes
journal/daily/ # daily journal entries
journal/monthly/ # monthly journal entries
projects/ # project-specific notes
archive/ # archived notes organized by date
You can synchronize the directory using Git. Use git init in the notes repository
to initialize it as a Git repository, and then commit and push as normal.
Make sure to review the config.toml file and configure your editor of choice.
You can find the configuration file in ~/.config/notulist/config.toml on
Mac/Linux and in %USERPROFILE%/.notulist/config.toml on Windows. Refer to the
configuration section for more details on the configuration
format for the application.
Create a note
The application offers two ways to create notes. You can write a note inline:
notulist note -m "Remember to review the API design doc"
Claude Code will automatically generate a title for your note so you can find it
again. Add the -t <title> option to provide a title yourself. You can also
create a new note using a text editor of your choice.
uv run notulist note
Manage projects
The application can organize notes into projects for you automatically. You can create a new project with this command:
notulist projects create -n "API Redesign" -d "Notes on the v2 API migration"
Or omit -d to open the configured editor for a longer description.
You can list all commands with the following command:
notulist projects ls
You can remove a project when you no longer need it. We'll ask for confirmation if it contains notes.
notulist projects remove -n api-redesign
Organize notes
After collecting notes, you can use the following command to organize the notes into projects and your journal:
notulist organize
This command:
- Generates daily summaries in
journal/daily/for each date found intoday/. - Generates monthly summaries in
journal/monthly/. - Classifies each note into a matching project (moved to
projects/<slug>/) or archives it (moved toarchive/<date>/).
Summaries and classification are powered by Claude Code.
Configuration
The application reads settings from ~/.config/notulist/config.toml (Linux/macOS) or ~/.notulist/config.toml (Windows), and from environment variables. Make sure to review the settings after running notulist init to make sure the application uses the editor
you'd like to use.
Available settings:
| Key | Default | Description |
|---|---|---|
editor |
vi (Linux/macOS), notepad (Windows) |
Editor command for composing notes |
repository |
~/notes |
Path to the notes repository |
Example config.toml:
editor = "nvim"
repository = "/home/user/my-notes"
Prompt customization
You can customize the prompts we use for organizing your notes by editing the
files in ~/.config/notulist/prompts on Mac/Linux or
%USERPROFILE%/.notulist/prompts on Windows.
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 notulist-0.1.0.tar.gz.
File metadata
- Download URL: notulist-0.1.0.tar.gz
- Upload date:
- Size: 11.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
afda7e9f5247d64ae0e8e9a97e29cdb145b5ca1eafd41d41215db54d6e0970b5
|
|
| MD5 |
a1dade74417ec628f2a94ef34fbd6196
|
|
| BLAKE2b-256 |
56aa137fcc284f57a3cfad51a5b2c3666e8e925e28e3295d8ddf30df776f4b47
|
Provenance
The following attestation bundles were made for notulist-0.1.0.tar.gz:
Publisher:
publish.yml on wmeints/notulist
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
notulist-0.1.0.tar.gz -
Subject digest:
afda7e9f5247d64ae0e8e9a97e29cdb145b5ca1eafd41d41215db54d6e0970b5 - Sigstore transparency entry: 1154518211
- Sigstore integration time:
-
Permalink:
wmeints/notulist@cf543cf90e18573af3f9494e94d0d31a7e7468de -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/wmeints
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@cf543cf90e18573af3f9494e94d0d31a7e7468de -
Trigger Event:
push
-
Statement type:
File details
Details for the file notulist-0.1.0-py3-none-any.whl.
File metadata
- Download URL: notulist-0.1.0-py3-none-any.whl
- Upload date:
- Size: 15.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
29200999451790ca52f04bea1442cc2b181b2c6ec7908ff5cfd75f7476cf6858
|
|
| MD5 |
ee7c784b65cb4f1b37fad49d9c63678d
|
|
| BLAKE2b-256 |
516bb254b4cfcd679f7320e11151e7ab042756e19a4b7164cd2361823d6e8d36
|
Provenance
The following attestation bundles were made for notulist-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on wmeints/notulist
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
notulist-0.1.0-py3-none-any.whl -
Subject digest:
29200999451790ca52f04bea1442cc2b181b2c6ec7908ff5cfd75f7476cf6858 - Sigstore transparency entry: 1154518212
- Sigstore integration time:
-
Permalink:
wmeints/notulist@cf543cf90e18573af3f9494e94d0d31a7e7468de -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/wmeints
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@cf543cf90e18573af3f9494e94d0d31a7e7468de -
Trigger Event:
push
-
Statement type: