Skip to content

AFROnin/servante

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Servante

A lightweight, cross-platform terminal task manager with tag support and cloud sync.

Python 3.x License: MIT

Features

  • Cross-platform: Works on Linux, Windows (CMD/PowerShell), and macOS
  • Persistent storage: SQLite database with automatic timestamping
  • Cloud-ready: Use any cloud-synced folder for your task database
  • Link support: Store and open URLs/file paths directly
  • Tag system: Organize tasks with tags and filter by tag
  • Interactive mode: Navigate, complete, delete, update, and filter tasks with keyboard
  • Simple CLI: Intuitive command-line interface

Requirements

  • Python 3.x
  • rich library
  • SQLite (included with Python)

Install dependencies:

pip install -r requirements.txt

Installation

Quick Start

cd /path/to/servante
python setup.py

Manual Installation

Linux/Mac

cp servante.py ~/.local/bin/servante
chmod +x ~/.local/bin/servante

Add to PATH (add to ~/.bashrc or ~/.zshrc):

export PATH="$PATH:$HOME/.local/bin"

Windows

mkdir %APPDATA%\Servante
copy servante.py %APPDATA%\Servante\servante.py

Add to PATH (run as Administrator or via System Settings):

setx PATH "%PATH%;%APPDATA%\Servante"

Alternatively, create a batch file servante.cmd in a PATH directory:

@python "%APPDATA%\Servante\servante.py" %*

Note: To run servante from anywhere and use the shell aliases, the script location must be in your system PATH.

Usage

Basic Commands

# Add a simple task
servante add "Finish the report"

# Add task with link and tags
servante add "Research API" -l "https://example.com" -t "work dev"

# List pending tasks (interactive mode)
servante list

# List all tasks (including completed)
servante list --all

# Mark task as completed
servante complete 1

# Update task link and/or tags
servante update 1 -l "https://newlink.com" -t "urgent"

# Remove task
servante remove 1

# Open link associated with task
servante open 1

# Search tasks
servante search "report"

Interactive Mode Controls

When running servante list:

Key Action
↑/↓ Navigate tasks
d Delete selected task
c Complete selected task
a Add new task
u Update selected task
o / Enter Open task link
s Search by title
f Filter by tag
x Clear search/filter
v Toggle view (pending/all)
q Quit

Cloud Storage Setup

Default location: ~/.servante/tasks.db

# Set custom path via environment
export SERVANTE_DB="$HOME/Nextcloud/tasks.db"

# Or specify per-command
servante --db ~/Nextcloud/tasks.db list

Command Reference

Command Description
servante add "title" [-l link] [-t tags] Add a new task
servante update <id> [-l link] [-t tags] Update task link/tags
servante list [-a/--all] List tasks (interactive)
servante complete <id> [id...] Mark task(s) complete
servante remove <id> [id...] Delete task(s)
servante open <id> Open task's link
servante search "term" Search tasks
servante --db PATH <cmd> Use custom database

Tips

Shell Aliases

# Add to ~/.bashrc or ~/.zshrc
alias s='servante'
alias sl='servante list'
alias sa='servante add'
# Add to $PROFILE
function s { servante $args }
function sl { servante list $args }
function sa { servante add $args }

Multiple Databases

servante --db ~/work.db list
servante --db ~/personal.db list

Quake Mode

Servante works great in a quake/drop-down terminal (like Yakuake, Guake, or iTerm2's hotkey window). Bind servante list to your quake terminal for instant task access with a single keypress.

Contributing

Contributions are welcome! Feel free to:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Acknowledgments [Real human remark 👋]

This project is a learning activity for me to get better with so called AI coding tools and it was created mainly by prompting. Tools and Models used:

  • crush: Xiaomi: MiMo-V2-Flash Free (Initial build)
  • claude: Sonnet and Opus 4.5 (Refactoring, improved features and finishing touches)
  • codex: GPT 5.2 Codex (Code review)

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

A lightweight, cross-platform terminal task manager with tag support and cloud sync

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages