first commit
This commit is contained in:
commit
41b597f8fc
135
README.md
Normal file
135
README.md
Normal file
@ -0,0 +1,135 @@
|
||||
# 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:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/your-username/todo
|
||||
cd todo
|
||||
```
|
||||
|
||||
2. Install dependencies:
|
||||
|
||||
```bash
|
||||
make install-deps
|
||||
```
|
||||
|
||||
3. Build the application:
|
||||
|
||||
```bash
|
||||
make build
|
||||
```
|
||||
|
||||
### Using Docker
|
||||
|
||||
Build and run with Docker:
|
||||
|
||||
```bash
|
||||
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
|
||||
|
||||
```bash
|
||||
make test
|
||||
```
|
||||
|
||||
### Code Quality
|
||||
|
||||
```bash
|
||||
make lint
|
||||
```
|
||||
|
||||
### Pre-commit Checks
|
||||
|
||||
```bash
|
||||
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
|
||||
Loading…
Reference in New Issue
Block a user