Complete command reference for mystuff-cli.
mystuff --version # Show version and exit
mystuff --help # Show help messageInitialize the mystuff directory structure.
mystuff init [OPTIONS]Options:
--dir, -d TEXT: Directory path for mystuff data (default:~/.mystuffor$MYSTUFF_HOME)--force, -f: Force creation even if directory exists
Examples:
mystuff init # Create ~/.mystuff
mystuff init --dir /custom/path # Create custom directory
mystuff init --force # Overwrite existing directory
export MYSTUFF_HOME=/custom && mystuff init # Use environment variableManage links with JSONL storage.
Add a new link to your collection.
mystuff link add [OPTIONS]Options:
--url TEXT: URL of the link (required)--title TEXT: Title of the link (auto-generated if not provided)--description TEXT: Description of the link--tag TEXT: Tags for categorization (can be used multiple times)--import-github-stars TEXT: Import starred repositories from a GitHub user
Examples:
mystuff link add --url "https://python.org"
mystuff link add --url "https://github.com/example/repo" --title "Example Repo" --description "Cool project" --tag "dev" --tag "python"
mystuff link add --import-github-stars "torvalds"List all links.
mystuff link list [OPTIONS]Options:
--tag TEXT: Filter by tag--interactive: Use fzf for interactive browsing (requires fzf)
Search links by title, description, or URL.
mystuff link search [OPTIONS] QUERYEdit an existing link.
mystuff link edit [OPTIONS]Options:
--url TEXT: URL of the link to edit (uses fzf selection if not provided)--title TEXT: New title--description TEXT: New description--tag TEXT: Add tags
Delete a link.
mystuff link delete [OPTIONS]Options:
--url TEXT: URL of the link to delete (uses fzf selection if not provided)
Manage meeting notes with Markdown files.
Add a new meeting note.
mystuff meeting add [OPTIONS]Options:
--title TEXT: Title of the meeting (required)--date TEXT: Date in YYYY-MM-DD format (defaults to today)--participants TEXT: Comma-separated list of participants--body TEXT: Meeting content or agenda--template TEXT: Path to template file for pre-filling--tag TEXT: Tags for categorization (can be used multiple times)--no-edit: Don't prompt to edit after creation
Examples:
mystuff meeting add --title "Team Standup"
mystuff meeting add --title "Project Review" --date "2025-07-23" --participants "Alice,Bob" --tag "planning"
mystuff meeting add --title "Weekly Planning" --template ./meeting-template.md --no-editList all meeting notes.
mystuff meeting list [OPTIONS]Options:
--tag TEXT: Filter by tag--date TEXT: Filter by date (YYYY-MM-DD)--interactive: Use fzf for interactive browsing
Search meeting notes.
mystuff meeting search [OPTIONS] QUERYEdit a meeting note.
mystuff meeting edit [OPTIONS]Options:
--title TEXT: Title of meeting to edit (uses fzf if not provided)--date TEXT: Date of meeting to edit
Delete a meeting note.
mystuff meeting delete [OPTIONS]Options:
--title TEXT: Title of meeting to delete (uses fzf if not provided)--date TEXT: Date of meeting to delete
Manage daily journal entries.
Add a new journal entry.
mystuff journal add [OPTIONS]Options:
--date TEXT: Date in YYYY-MM-DD format (defaults to today)--body TEXT: Journal entry content--tag TEXT: Tags for categorization (can be used multiple times)--no-edit: Don't prompt to edit after creation
Examples:
mystuff journal add # Today's entry
mystuff journal add --date "2025-07-23" # Specific date
mystuff journal add --body "Great day!" --no-edit # Quick entryList all journal entries.
mystuff journal list [OPTIONS]Options:
--no-interactive: Disable interactive features--date-range TEXT: Filter by date range (YYYY-MM-DD:YYYY-MM-DD)
Search journal entries.
mystuff journal search [OPTIONS] QUERYOptions:
--no-interactive: Disable interactive features--date-range TEXT: Search within date range
Edit a journal entry.
mystuff journal edit [OPTIONS]Options:
--date TEXT: Date of entry to edit (defaults to today)
Manage topical notes with backlinks.
Create a new wiki note.
mystuff wiki new [OPTIONS] TITLEOptions:
--tag TEXT: Tags for categorization (can be used multiple times)--alias TEXT: Aliases for the note (can be used multiple times)--body TEXT: Content for the wiki note--no-edit: Don't open editor after creation
Examples:
mystuff wiki new "Python Tips"
mystuff wiki new "API Design" --tag "programming" --tag "design" --alias "REST API"
mystuff wiki new "Quick Note" --body "Short content" --no-editView a wiki note.
mystuff wiki view [OPTIONS] [TITLE]Options:
- Uses fzf selection if title not provided
Edit a wiki note.
mystuff wiki edit [OPTIONS] [TITLE]Options:
- Uses fzf selection if title not provided
List all wiki notes.
mystuff wiki list [OPTIONS]Options:
--no-interactive: Disable interactive features
Search wiki notes.
mystuff wiki search [OPTIONS] QUERYOptions:
--no-interactive: Disable interactive features
Delete a wiki note.
mystuff wiki delete [OPTIONS] [TITLE]Options:
- Uses fzf selection if title not provided
Manage self-evaluation entries.
Add a new evaluation entry.
mystuff eval add [OPTIONS]Options:
--category TEXT: Evaluation category (required, e.g., 'productivity', 'health')--score INTEGER: Numeric score 1-10 (required)--date TEXT: Date in YYYY-MM-DD format (defaults to today)--comments TEXT: Optional comments
Examples:
mystuff eval add --category "productivity" --score 8 --comments "Great focus today"
mystuff eval add --category "health" --score 7 --date "2025-07-22"List all evaluations.
mystuff eval list [OPTIONS]Options:
--no-interactive: Disable interactive features--category TEXT: Filter by category--date-range TEXT: Filter by date range
Generate evaluation reports.
mystuff eval report [OPTIONS]Options:
--category TEXT: Generate report for specific category--date-range TEXT: Generate report for date range
Edit an evaluation entry.
mystuff eval edit [OPTIONS]Options:
--category TEXT: Category of evaluation to edit--date TEXT: Date of evaluation to edit
Delete an evaluation entry.
mystuff eval delete [OPTIONS]Options:
--category TEXT: Category of evaluation to delete--date TEXT: Date of evaluation to delete
Manage arbitrary named lists.
Create a new list.
mystuff list create [OPTIONS]Options:
--name TEXT: Name of the list (required)--description TEXT: Description of the list
Examples:
mystuff list create --name "reading-list" --description "Books to read"
mystuff list create --name "todo"View a list.
mystuff list view [OPTIONS]Options:
--name TEXT: Name of list to view (uses fzf if not provided)
Edit a list (add/remove/check items).
mystuff list edit [OPTIONS]Options:
--name TEXT: Name of list to edit (uses fzf if not provided)--item TEXT: Add an item to the list
List all available lists.
mystuff list listSearch lists by name or content.
mystuff list search [OPTIONS] QUERYDelete a list.
mystuff list delete [OPTIONS]Options:
--name TEXT: Name of list to delete (uses fzf if not provided)
Export a list to CSV/YAML.
mystuff list export [OPTIONS]Options:
--name TEXT: Name of list to export (uses fzf if not provided)--format TEXT: Export format (csv, yaml)--output TEXT: Output file path
Import a list from CSV/YAML.
mystuff list import [OPTIONS]Options:
--file TEXT: Path to file to import (required)--name TEXT: Name for the imported list (required)
Execute custom sync commands from configuration.
Execute all sync commands defined in config.yaml.
mystuff sync run [OPTIONS]Options:
--dry-run: Show commands without executing them--verbose: Show detailed output during execution--continue-on-error: Continue executing even if one command fails
Examples:
mystuff sync run # Execute all sync commands
mystuff sync run --dry-run # Preview without executing
mystuff sync run --verbose # Detailed output
mystuff sync run --continue-on-error # Don't stop on errors
mystuff sync run --dry-run --verbose # Combined flagsList all sync commands defined in config.yaml.
mystuff sync list-commandsAfter running mystuff init, your directory will contain:
~/.mystuff/
├── links.jsonl # Link storage
├── meetings/ # Meeting notes (Markdown)
├── journal/ # Journal entries (Markdown)
├── wiki/ # Wiki notes (Markdown)
├── eval/ # Evaluation entries (YAML)
├── lists/ # Lists (YAML)
└── config.yaml # Configuration file
Basic configuration structure:
data_directory: "/home/user/.mystuff"
editor: "vim"
pager: "less"
settings:
default_tags: []
date_format: "%Y-%m-%d"
time_format: "%H:%M:%S"
sync:
commands:
- echo "Sync data"MYSTUFF_HOME: Override default data directory (~/.mystuff)EDITOR: Text editor for editing notes (fallback: vim)PAGER: Pager for viewing content (fallback: less)
Many commands support interactive selection when fzf is installed:
- List browsing: Use
--interactiveflag with list commands - Smart selection: Edit/delete commands use fzf when IDs not provided
- Preview support: See content previews in selection interface
Install fzf:
# macOS
brew install fzf
# Ubuntu/Debian
apt install fzf
# See: https://github.com/junegunn/fzf#installation# Morning review
mystuff journal add --body "Today's goals: ..."
# During the day
mystuff link add --url "https://interesting-article.com"
mystuff meeting add --title "Client Call" --participants "Alice,Bob"
# Evening sync
mystuff sync run# Collect information
mystuff link add --import-github-stars "torvalds"
mystuff wiki new "Linux Kernel" --tag "research"
# Organize
mystuff list create --name "research-papers"
mystuff list edit --name "research-papers" --item "Advanced Scheduling"
# Review
mystuff eval add --category "research" --score 9 --comments "Made good progress"# Meeting preparation
mystuff meeting add --title "Sprint Planning" --template ./sprint-template.md
# Knowledge sharing
mystuff wiki new "Team Conventions" --tag "team" --tag "process"
# Follow-ups
mystuff list create --name "action-items"
mystuff journal add --body "Discussed new API design with team"