Skip to main content

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

Python Version License: MIT Stars Last Commit


๐Ÿš€ 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., codellama or llama3).
  • 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

  1. Fork the repo
  2. Create a branch (git checkout -b feature-idea)
  3. Make your changes
  4. Commit and push
  5. 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

devtrack-0.1.1.tar.gz (13.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

devtrack-0.1.1-py3-none-any.whl (9.7 kB view details)

Uploaded Python 3

File details

Details for the file devtrack-0.1.1.tar.gz.

File metadata

  • Download URL: devtrack-0.1.1.tar.gz
  • Upload date:
  • Size: 13.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.10

File hashes

Hashes for devtrack-0.1.1.tar.gz
Algorithm Hash digest
SHA256 857e9f46d73eba07cdbaa9d99a413b7f0381e828932913d46a49859f3a3ac05e
MD5 d71ad0810e7eea142f891c924e842feb
BLAKE2b-256 816915fad81f10fee3b5f5ce8804fc78fdde97041e8f02de8c1fd0372ef8e75c

See more details on using hashes here.

File details

Details for the file devtrack-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: devtrack-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 9.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.10

File hashes

Hashes for devtrack-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 030a0bb7abba3c9c72719bf965edb34bbe01d7a4fade90e96a6d61b5e6e7f90c
MD5 fcf3d6baec313aa5dd0e91d17adabf85
BLAKE2b-256 89057d633b296dd3721d3ad731f47ebd381ae3f35045c3c3e9ca1826b040392b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page