A minimalist notebook for your shell.
Project description
Shellpad
A lightweight terminal-based notes editor
Minimal, fast, and markdown-friendly — perfect for note-takers who live in the terminal.
🚀 Overview
Shellpad is a simple curses-powered Markdown notebook for your terminal.
It stores all notes in a single shellpad.md file and lets you view, edit, and manage them directly in the console — no extra dependencies, no bloat.
✨ Features
- 🗒️ Markdown-style notes stored in one file
- ✅ Checkbox preview for
[ ]and[x]tasks - ⚡ Realtime autosave
- 🖊️ In-terminal or external editor (e.g., Vim, Nano)
- 📋 System clipboard integration
- 🔗 Open URLs directly from the editor
- 🧭 Simple, keyboard-only navigation
🧩 Installation
- For Mac and Linux
pipx install shellpad
- For Windows
pipx install shellpad[windows]
🧩 Running locally
- Clone the repository:
git clone https://github.com/wormcracker/shellpad.git
cd shellpad
- Run directly:
python3 shellpad.py
- (Optional) Make executable:
chmod +x shellpad.py
./shellpad.py
Dependencies:
Only Python 3.8+ — no external modules required.
(Optional clipboard tools: xclip, xsel, or wl-clipboard on Linux.)
🪶 Usage
Basic Controls
| Mode | Key | Action |
|---|---|---|
| List view | j / k |
Move down / up |
a |
Add new note | |
o or Enter |
Open note in internal editor | |
O |
Open in external editor | |
y |
Copy note internally | |
p |
Paste copied note / clipboard | |
Y |
Copy note body to system clipboard | |
r |
Rename note | |
d |
Delete note | |
[ / ] |
Move note up / down | |
? |
Show help | |
q |
Quit | |
| Editor | ESC |
Save and return |
Ctrl+V |
Paste from system clipboard | |
Ctrl+W |
Delete previous word |
⚙️ Configuration
Config file:
~/.config/shellpad/config.cfg
%APPDATA%\shellpad\config.cfg (Windows)
Example:
notebook_file: ~/shellpad.md
external_editor: false
default_editor: vim
wrap_lines: true
realtime_save: true
doing_symbol: +
done_symbol: -
Options:
notebook_file— Path to your notes fileexternal_editor— Use system editor (true/false)default_editor— Which external editor to userealtime_save— Save as you typedoing_symbol,done_symbol— Customize preview icons
🗂️ Notes Format
Notes are stored in Markdown under H1 titles:
# Grocery List
[ ] Buy milk
[x] Bread bought
# Ideas
A concept for a terminal-based wiki.
💡 Tips
- Copy and paste notes internally with
yandp. - Press
?anytime for the built-in help window. - Preview automatically wraps long lines.
- Works on Linux, macOS, and Windows (PowerShell-based clipboard).
⚖️ License
MIT License — © 2025 sushant
Use, modify, and share freely.
🌐 Links
- GitHub: wormcracker/shellpad
- Author: sushant
- Language: Python 3 (no dependencies)
“Simplicity is the final sophistication — Shellpad keeps your notes close and your focus closer.”
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 shellpad-1.1.tar.gz.
File metadata
- Download URL: shellpad-1.1.tar.gz
- Upload date:
- Size: 12.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6ad6d4ebc29796d11647b91df62f1d8b60f4aa58e4d0cbf05203e0dab6e4985c
|
|
| MD5 |
e13c66e800fea51bf989b80900310bd2
|
|
| BLAKE2b-256 |
f4b9cdfe8ef24579a258ef9be0f23338cbf79235c5ca3e8a48a881e483c64792
|
File details
Details for the file shellpad-1.1-py3-none-any.whl.
File metadata
- Download URL: shellpad-1.1-py3-none-any.whl
- Upload date:
- Size: 11.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5600206a509666ef5576dcc6ed05e8fd85816ace44ff950a9a1567bf160adf04
|
|
| MD5 |
70b408e54fb8776f5a1ac780903cb59e
|
|
| BLAKE2b-256 |
0baea0f2b42fb56a155b42e3937dc1eb6d22a3dfa32e26300ebc9086e6f1cca6
|