Metadata-Version: 2.4
Name: todoist-cli-tool
Version: 0.2.0
Summary: Add your description here
Requires-Python: >=3.13
Description-Content-Type: text/markdown
Requires-Dist: pydantic>=2.12.3
Requires-Dist: python-dotenv>=1.1.1
Requires-Dist: requests>=2.32.4
Requires-Dist: rich>=14.0.0
Requires-Dist: textual>=3.3.0
Requires-Dist: typer>=0.20.0

# Todoist CLI

A small Typer/Textual Todoist client.

## Examples

```bash
# List all active tasks
uv run python main.py list

# Mark a task complete
uv run python main.py complete <task-id>

# Show tasks with a Todoist label/tag
uv run python main.py list --tag work

# Show tasks due within 3 days, including overdue tasks
uv run python main.py list --due-close 3

# Filter by tag and close due date, then sort by due date
uv run python main.py list --tag work --due-close 3 --sort-by-date

# Launch the terminal UI with the same filters
uv run python main.py tui --tag work --due-close 3 --sort-by-date
```

## Release

To publish a release, update the version in `pyproject.toml`, commit the change, then run:

```bash
./scripts/publish.sh
```

The script builds the package, pushes the current branch, creates a `v<version>` tag, and pushes the tag. The GitHub Actions release workflow then creates the GitHub Release and publishes the package to PyPI.

## Theme

The CLI and TUI use the Money Gazer palette. The Textual color scheme lives in `money_gazer.tcss`; shared Rich terminal colors live in `src/theme.py`.

In the TUI:

- `a`: open the add-task form
- `c`: mark the selected task complete
- `r`: refresh tasks
- `s`: toggle date sorting
- `d`: toggle between the Money Gazer light and dark palettes
