Go to file
2025-05-08 23:45:33 +02:00
logs agent test zed 2025-05-08 23:45:33 +02:00
src agent test zed 2025-05-08 23:45:33 +02:00
Dockerfile agent test zed 2025-05-08 23:45:33 +02:00
go.mod agent test zed 2025-05-08 23:45:33 +02:00
go.sum agent test zed 2025-05-08 23:45:33 +02:00
improvements.md agent test zed 2025-05-08 23:45:33 +02:00
LICENSE agent test zed 2025-05-08 23:45:33 +02:00
main.go agent test zed 2025-05-08 23:45:33 +02:00
Makefile agent test zed 2025-05-08 23:45:33 +02:00
README.md first commit 2025-05-08 23:44:28 +02:00
todo agent test zed 2025-05-08 23:45:33 +02:00
todo.log agent test zed 2025-05-08 23:45:33 +02:00
todoai agent test zed 2025-05-08 23:45:33 +02:00
todoai.db agent test zed 2025-05-08 23:45:33 +02:00

TodoAI - AI-Powered Task Manager

A terminal-based task manager with AI-powered task analysis and organization.

Features

  • Terminal User Interface (TUI) for managing tasks
  • AI-powered task analysis (priority, category, time estimates)
  • Background analysis during idle hours
  • Task searching and filtering
  • Multiple AI model support with fallback mechanisms
  • SQLite database with connection pooling
  • Configurable via environment variables

Installation

Prerequisites

  • Go 1.21 or higher
  • SQLite3
  • Ollama (for AI analysis)

Building from source

  1. Clone the repository:
git clone https://github.com/your-username/todo
cd todo
  1. Install dependencies:
make install-deps
  1. Build the application:
make build

Using Docker

Build and run with Docker:

make docker-build
make docker-run

Configuration

The application can be configured using environment variables:

Database Settings

  • DB_PATH: Path to SQLite database (default: "todoai.db")
  • DB_MAX_OPEN_CONNS: Maximum open connections (default: 25)
  • DB_MAX_IDLE_CONNS: Maximum idle connections (default: 5)
  • DB_CONN_MAX_LIFETIME: Connection lifetime in minutes (default: 5)

AI Settings

  • AI_MODEL_NAME: Name of the AI model (default: "deepseek-r1:latest")
  • AI_PROVIDER: AI provider (default: "ollama")
  • AI_API_KEY: API key for AI service (if required)

UI Settings

  • UI_THEME: UI theme (default: "default")
  • UI_REFRESH_INTERVAL: Task list refresh interval in seconds (default: 60)
  • UI_IDLE_START_HOUR: Start hour for background analysis (default: 22)
  • UI_IDLE_END_HOUR: End hour for background analysis (default: 6)
  • UI_MAX_DISPLAY_TASKS: Maximum tasks to display (default: 100)

Usage

Keyboard Shortcuts

  • n: New task
  • /: Search tasks
  • TAB: Toggle completed tasks
  • c: Complete selected task
  • q or Ctrl+C: Quit
  • ESC: Cancel current action
  • Enter: Select/confirm

Development

Running Tests

make test

Code Quality

make lint

Pre-commit Checks

make pre-commit

Project Structure

.
├── src/
│   ├── ai/          # AI analysis functionality
│   ├── config/      # Configuration management
│   ├── database/    # Database operations
│   ├── models/      # Data models
│   └── ui/          # Terminal UI
├── main.go          # Application entry point
├── Dockerfile       # Container configuration
└── Makefile        # Build and development tasks

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run tests and linting (make pre-commit)
  5. Submit a pull request

License

MIT License - see LICENSE file for details