Git-Asana CLI & Time Tracker
Project description
GitTask ⚡️
Seamlessly integrate your Git workflow with Asana. Track time, manage tasks, and link your development work directly to Asana without leaving your terminal.
🚀 A Day in the Life with GitTask
Imagine this: You grab your coffee ☕ and sit down to tackle a new feature.
-
Start Working:
gt checkout -b feature/login-page- You create a branch, and boom, GitTask asks if you want to create a corresponding Asana task. You say yes, add some tags, and you're off! Time tracking starts automatically. ⏱️
-
Code & Chill: You code away. Need a lunch break? Just
gt stop(or switch branches). When you're back,gt startresumes the timer. No more guessing how long you worked! -
Ship It:
gt push- Your code goes up, and GitTask posts a neat summary of your commits directly to the Asana task. Your PM loves you. 💖
-
Review Time:
gt pr create- Opens a PR on GitHub and links it to your Asana task instantly.
-
The Grand Finale:
gt finish- The feature is approved. This command stops the timer, syncs your actual time to Asana, merges the PR, closes the Asana task, and even deletes your local branch. It's like magic. ✨
🛠️ Setup Guide
1. Installation
pip install gittask-cli
2. Authentication
🟣 Asana Setup
- Go to the Asana Developer Console -> "+ New access token".
- Name it "GitTask CLI" and copy the token.
- Run:
gittask auth login
🐙 GitHub Setup (Optional)
Required for Pull Request features.
- Go to GitHub Tokens -> "Generate new token".
- Select "All repositories" (or specific ones).
- Permissions: Read/Write for
ContentsandPull requests. - Run:
gittask auth login --github
3. Initialization
Select your default workspace and project:
gittask init
📖 Command Reference
🔄 Core Workflow
| Command | Description |
|---|---|
gt checkout -b <branch> |
Start here. Creates a branch, links/creates an Asana task, and starts the timer. |
gt status |
Shows current branch, task, and session duration. |
gt finish |
The magic command. Stops timer, syncs time, merges PR, closes task, and deletes branch. |
⏱️ Time Management
| Command | Description |
|---|---|
gt stop |
Pause the timer (e.g., lunch break). |
gt start |
Resume the timer. |
gt sync |
Push local time logs to Asana. |
🐙 Git & Collaboration
| Command | Description |
|---|---|
gt commit -m "msg" |
Commits changes. |
gt push |
Pushes to remote and posts a summary comment on the Asana task. |
gt pr create |
Creates a GitHub PR linked to the Asana task. |
gt pr list |
Lists open PRs. |
🏷️ Task Extras
| Command | Description |
|---|---|
gt tags add |
Add tags to the current task. |
gt tags list |
View tags on the current task. |
Happy Coding! 🚀
Project details
Release history Release notifications | RSS feed
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 gittask_cli-0.1.1.tar.gz.
File metadata
- Download URL: gittask_cli-0.1.1.tar.gz
- Upload date:
- Size: 15.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c7861b6bef2d4bdacd1344cb5ea3b64a232b993c3a1bb2cfe639e96348e22903
|
|
| MD5 |
8bc7bc113cbfa81143fd0e58e553543e
|
|
| BLAKE2b-256 |
a82ef53dc05aac76faf455cf9884798e881f063bcdb023cd7e9a2934afa05911
|
Provenance
The following attestation bundles were made for gittask_cli-0.1.1.tar.gz:
Publisher:
publish.yml on AndreasLF/gittask-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gittask_cli-0.1.1.tar.gz -
Subject digest:
c7861b6bef2d4bdacd1344cb5ea3b64a232b993c3a1bb2cfe639e96348e22903 - Sigstore transparency entry: 729731203
- Sigstore integration time:
-
Permalink:
AndreasLF/gittask-cli@4d584072c29d8a483a970244ae1e91f08e5761ee -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/AndreasLF
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@4d584072c29d8a483a970244ae1e91f08e5761ee -
Trigger Event:
release
-
Statement type:
File details
Details for the file gittask_cli-0.1.1-py3-none-any.whl.
File metadata
- Download URL: gittask_cli-0.1.1-py3-none-any.whl
- Upload date:
- Size: 23.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0155899234b26aec63796990c6ee4d31c38e1bd58f0526d65a0aa58ae7d12fb5
|
|
| MD5 |
92dcf7e48c8fc2dd6b5d4355bfb744df
|
|
| BLAKE2b-256 |
631e823dedc53d9342a74681eb22be32bdaf64a1be9ac41f10b4fb73273b8ae3
|
Provenance
The following attestation bundles were made for gittask_cli-0.1.1-py3-none-any.whl:
Publisher:
publish.yml on AndreasLF/gittask-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gittask_cli-0.1.1-py3-none-any.whl -
Subject digest:
0155899234b26aec63796990c6ee4d31c38e1bd58f0526d65a0aa58ae7d12fb5 - Sigstore transparency entry: 729731206
- Sigstore integration time:
-
Permalink:
AndreasLF/gittask-cli@4d584072c29d8a483a970244ae1e91f08e5761ee -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/AndreasLF
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@4d584072c29d8a483a970244ae1e91f08e5761ee -
Trigger Event:
release
-
Statement type: