π Documentation: Configuration | Keyboard Shortcuts | Development | Architecture
A terminal application for interacting with Todoist, built in Rust with a modern TUI interface.
- β Interactive TUI Interface - Beautiful terminal user interface with ratatui
- β Local Data Caching - Fast, responsive UI with in-memory SQLite storage
- β Smart Sync - Automatic sync on startup and manual refresh with 'r'
- β Project Management - Browse projects with hierarchical display
- β Task Management - View, navigate, complete, and create tasks
- β Task Search - Fast database-powered search across all tasks with '/' shortcut
- β Keyboard & Mouse Navigation - Efficient keyboard operation with mouse support
- β Real-time Updates - Create, complete, and delete tasks/projects
- β Label Support - View task labels with colored badges
- β Responsive Layout - Adapts to terminal size with smart scaling
- β Help System - Built-in help panel with keyboard shortcuts
- β Configuration File - Customizable settings via TOML configuration
brew tap romaintb/terminalist
brew install terminalist# Using yay
yay -S terminalist
# Using paru
paru -S terminalist
# Or any other AUR helpercargo install terminalist# Clone the repository
git clone https://github.com/romaintb/terminalist.git
cd terminalist
# Build the project
cargo build --release
# Run the application
cargo run --releaseThe binary will be available at target/release/terminalist after building.
We support Homebrew for installation! For other distributions (Debian/Ubuntu, Fedora, NixOS, etc.), we're looking for help packaging Terminalist. If you're interested in maintaining a package, please open an issue or submit a PR!
- Go to Todoist Integrations Settings
- Find the "API token" section
- Copy your API token
export TODOIST_API_TOKEN=your_token_here# Generate a default config file with all available options
terminalist --generate-configThis creates a config file at ~/.config/terminalist/config.toml with customizable settings.
terminalistTerminalist supports customization via TOML configuration files.
# Generate a default config file with all available options
terminalist --generate-configThis creates a config file at ~/.config/terminalist/config.toml.
π See Configuration Guide for detailed configuration options.
Essential keyboard shortcuts to get started:
| Key | Action |
|---|---|
j/k |
Navigate tasks up/down |
J/K |
Navigate projects up/down |
Space |
Complete task |
a |
Create new task |
/ |
Search tasks |
r |
Sync with Todoist |
? |
Show help panel |
q |
Quit |
π See Complete Keyboard Shortcuts for all available controls and interface details.
Terminalist uses a smart sync mechanism:
- Fast Startup: In-memory SQLite database for instant loading
- Auto Sync: Syncs with Todoist on startup and every 5 minutes
- Manual Sync: Press
rto force refresh from Todoist - Real-time Updates: Create, modify, and delete tasks/projects immediately
π See Architecture Guide for technical details.
Contributions are welcome! See Development Guide for setup instructions and coding standards.
This project is open source. Feel free to modify and use as needed.

