Developer task tracking and smart AI commit CLI tool
Project description
_____ _______ _
| __ \ |__ __| | |
| | | | ___ __ __| | _ __ __ _ ___ | | __
| | | | / _ \\ \ / /| || '__|/ _` | / __|| |/ /
| |__| || __/ \ V / | || | | (_| || (__ | <
|_____/ \___| \_/ |_||_| \__,_| \___||_|\_\
A developer task tracking and AI-powered Git commit CLI tool
โ DevTrack โ
๐ท๏ธ Badges
๐ DevTrack CLI
๐ ๏ธ DevTrack is a lightweight developer productivity CLI tool for tracking tasks and generating meaningful Git commit messages (AI-powered) without leaving the terminal. It works both online (via OpenRouter) and offline (via Ollama).
โจ Why DevTrack?
Modern developers juggle dozens of tasks daily โ but Git alone doesnโt track the why behind each change.
๐น Project managers use Jira.
๐น Designers use Figma.
๐น Developers useโฆ their memory?
DevTrack fills the gap by giving you a developer-first micro-task tracker that lives right in your terminal.
- ๐ง Track your current focus
- ๐ Generate structured commit messages
- ๐ข Avoid messy, vague Git history
- ๐ป Stay in flow โ no switching tabs or opening heavy tools
โจ Features
- โ Add, list, and remove tasks
- ๐ง Generate smart commit messages based on task description and git diff
- ๐ Supports OpenRouter and Ollama for online/offline usage
- ๐ Stores tasks locally in
.devtrack.json - ๐ฅ๏ธ Runs from the terminal as
devtrack <command>
๐ Installation
Install globally from PyPI:
pip install devtrack
๐งฐ Usage
โ Initialize DevTrack in a Project
devtrack init
This sets up ~/.devtrack.json for task tracking and walks you through configuring an AI provider for commit message generation.
You'll be asked to choose a provider:
openaiโ Requires your OpenAI API key.ollamaโ Requires a local model name (e.g.,codellamaorllama3).openrouterโ Requires your OpenRouter API key and model name (e.g.,openrouter/openchat).
Your settings are saved in ~/.devtrackrc.
โ Add a Task
devtrack add "Refactor user authentication flow"
๐ View All Tasks
devtrack tasks
โ Remove a Task
devtrack remove <task_id>
๐ฌ Generate a Commit Message (AI-Powered)
First, stage your changes with git add.
Then run:
devtrack commit <task_id>
DevTrack uses your configured AI provider to generate a short, clean Git commit message based on the task description and current Git diff.
๐ AI Provider Configuration
To update your AI settings, simply run:
devtrack init
Or edit the ~/.devtrackrc file directly:
provider=openrouter
openrouter_api_key=your_api_key
openrouter_model=openrouter/openchat
๐ง How It Works
- Tasks are stored locally in
~/.devtrack.json - Each task has an ID, description, tag, and completion status
- Git commits are generated using task data
- Keeps your Git history meaningful and linked to your actual progress
๐ Project Structure
devtrack/
โโโ devtrack/ # Main package
โ โโโ __init__.py
โ โโโ cli.py # CLI entry point (Typer app)
โ โโโ commits.py # Commit generation logic
โ โโโ tasks.py # Task management logic
โ โโโ utils.py # Utility functions (including config & AI query logic)
โ
โโโ tests/ # (optional) Unit tests for the CLI and modules
โโโ examples/ # (optional) Sample commands and use cases
โ
โโโ .devtrack.json # Local task storage (generated at runtime)
โโโ .devtrackrc # Optional runtime config (e.g., selected AI)
โโโ .env # API keys and environment config
โโโ pyproject.toml # Packaging and dependencies
โโโ requirements.txt # Pip installable requirements
โโโ README.md
โโโ .gitignore
๐งฐ Requirements
- Python 3.7+
- Git (for commit generation)
- Typer CLI:
python -m pip install typer[all]
๐ฑ Roadmap & Features
See devtrack_roadmap.md for upcoming features and development phases.
๐งช Development
For development, make sure you install DevTrack in editable mode:
pip install -e .
Then run your tool from anywhere using:
devtrack <command>
๐จโ๐ป Contributing to DevTrack
Thanks for considering contributing! ๐ก
How to Contribute
- Fork the repo
- Create a branch (
git checkout -b feature-idea) - Make your changes
- Commit and push
- Open a Pull Request ๐
We welcome bug fixes, feature ideas, and even documentation improvements!
๐ก .gitignore
Make sure your .gitignore includes:
.env
.devtrack.json
.devtrackrc
__pycache__/
*.pyc
devtrack.log
๐ License
This project is licensed under the MIT License.
๐ Author
Created by Raymond Degbe ๐ป
๐ฌ Philosophy
Great developers donโt just write code โ they manage focus. DevTrack helps you turn microtasks into momentum.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file devtrack-0.1.2.tar.gz.
File metadata
- Download URL: devtrack-0.1.2.tar.gz
- Upload date:
- Size: 15.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0f89df130019d4515795a9bbdcf05d8fed9de08cb3af6cc4f9479782d30a9204
|
|
| MD5 |
ddd62af404bbfa8fa201cda5f2100a2b
|
|
| BLAKE2b-256 |
755dae9e90c72a552fca9f9fc13dcf16705cd419bbceb83d0c84f32c2abcdbc6
|
File details
Details for the file devtrack-0.1.2-py3-none-any.whl.
File metadata
- Download URL: devtrack-0.1.2-py3-none-any.whl
- Upload date:
- Size: 11.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d98a10134380a94c8e5ec29d3e40300c473b6c751c6536cc5d2a17a3c5d93a80
|
|
| MD5 |
6a9bb6fb18fe30fae469d2ac625e688f
|
|
| BLAKE2b-256 |
6a4dcb65af17a576bf056eb5e973fdf2f2b82d7722219cd04f3aae6914ec3983
|