Skip to main content

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

  1. Clone the repository:
git clone https://github.com/wormcracker/shellpad.git
cd shellpad
  1. Run directly:
python3 shellpad.py
  1. (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 file
  • external_editor — Use system editor (true/false)
  • default_editor — Which external editor to use
  • realtime_save — Save as you type
  • doing_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 y and p.
  • 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


“Simplicity is the final sophistication — Shellpad keeps your notes close and your focus closer.”

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

shellpad-1.1.tar.gz (12.3 kB view details)

Uploaded Source

Built Distribution

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

shellpad-1.1-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

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

Hashes for shellpad-1.1.tar.gz
Algorithm Hash digest
SHA256 6ad6d4ebc29796d11647b91df62f1d8b60f4aa58e4d0cbf05203e0dab6e4985c
MD5 e13c66e800fea51bf989b80900310bd2
BLAKE2b-256 f4b9cdfe8ef24579a258ef9be0f23338cbf79235c5ca3e8a48a881e483c64792

See more details on using hashes here.

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

Hashes for shellpad-1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5600206a509666ef5576dcc6ed05e8fd85816ace44ff950a9a1567bf160adf04
MD5 70b408e54fb8776f5a1ac780903cb59e
BLAKE2b-256 0baea0f2b42fb56a155b42e3937dc1eb6d22a3dfa32e26300ebc9086e6f1cca6

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