An open API service indexing awesome lists of open source software.

https://github.com/tom-doerr/taskwarrior-gui

A Streamlit-based GUI for TaskWarrior
https://github.com/tom-doerr/taskwarrior-gui

Last synced: 11 months ago
JSON representation

A Streamlit-based GUI for TaskWarrior

Awesome Lists containing this project

README

          

# ๐Ÿค– TaskWarrior GUI (AI Agent Experiment)

> **โš ๏ธ Important Note**: This project is an experimental prototype generated by the Replit AI Agent. It is primarily a demonstration of AI-assisted development and is not yet a fully functional production application. Some features may not work as expected.

A Streamlit-based GUI prototype for TaskWarrior that explores the possibilities of AI-generated task management interfaces.

## ๐Ÿงช Experimental Status

This project was created as part of an experiment with Replit's AI Agent to demonstrate:
- AI-driven interface design
- Integration with TaskWarrior's backend
- Automated code generation and documentation
- Real-time task management features

Current limitations:
- Urgency calculations may not fully match TaskWarrior's native behavior
- Some TaskWarrior features might not be fully implemented
- Interface elements are in experimental stage

## Features (Prototype Stage)

- ๐Ÿ“Š Clean, modern interface for TaskWarrior
- ๐Ÿ” Dynamic filtering:
- Filter by status (Pending/Completed)
- Filter by priority (High/Medium/Low)
- Filter by project
- ๐Ÿ“ˆ Real-time task urgency calculation and display (experimental)
- โœจ Task management:
- Easy task creation with descriptions
- Priority assignment (High/Medium/Low)
- Project organization
- One-click task completion
- ๐Ÿ“ฑ Responsive design that works on both desktop and mobile
- ๐ŸŽจ Clean and intuitive user interface with:
- Color-coded priorities
- Project grouping
- Urgency scores (experimental)
- Task status indicators

## Installation

1. Ensure you have TaskWarrior installed:
```bash
# For Ubuntu/Debian
sudo apt-get install taskwarrior

# For macOS
brew install task

# For other systems, visit: https://taskwarrior.org/download/
```

2. Clone this repository:
```bash
git clone https://github.com/tom-doerr/taskwarrior-gui.git
cd taskwarrior-gui
```

3. Install Python dependencies:
```bash
pip install -r requirements.txt
# or
pip install streamlit pandas
```

## Usage

1. Start the Streamlit app:
```bash
streamlit run main.py
```

2. Open your browser and navigate to the displayed URL (typically http://localhost:5000)

3. Using the interface:
- **Adding Tasks**: Use the sidebar form to add new tasks
- **Task Properties**:
- Description (required)
- Priority (optional: High/Medium/Low)
- Project (optional)
- **Filtering**: Use the sidebar filters to sort and filter tasks
- **Task Actions**: Complete tasks with one click using the action buttons

## Known Issues & Limitations

1. **Urgency Calculation**:
- Current implementation may differ from TaskWarrior's native calculations
- Some coefficients might not match exactly with TaskWarrior's default values

2. **TaskWarrior Integration**:
- Some advanced TaskWarrior features are not yet implemented
- Configuration options are limited in this prototype

3. **Interface Limitations**:
- Some UI elements are in experimental stage
- Advanced TaskWarrior features might not be accessible

## Troubleshooting

1. **TaskWarrior Not Found**:
- Ensure TaskWarrior is installed and accessible from command line
- Try running `task version` to verify installation

2. **Permission Issues**:
- Ensure TaskWarrior configuration directory exists: `~/.task/`
- Check file permissions: `chmod -R 700 ~/.task/`

3. **Display Issues**:
- Try clearing your browser cache
- Ensure you're using a modern web browser

## Dependencies

- Python 3.8+
- TaskWarrior
- Streamlit
- Pandas

## Contributing

As this is an experimental project generated by AI, contributions should focus on:
- Improving AI-generated code quality
- Fixing known issues and limitations
- Enhancing documentation
- Adding missing TaskWarrior features

Please follow these steps:
1. Fork the repository
2. Create a feature branch: `git checkout -b feature-name`
3. Commit your changes: `git commit -am 'Add some feature'`
4. Push to the branch: `git push origin feature-name`
5. Submit a pull request

## Screenshots

[Coming Soon]

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## Acknowledgments

- TaskWarrior team for their excellent task management tool
- Streamlit team for their amazing framework
- Replit AI Agent for generating this experimental prototype
- All contributors who help improve this project

---
๐Ÿค– Generated with โค๏ธ by Replit AI Agent