Tasks
Manage tasks from your terminal. List, create, update, filter, and track tasks with Git-aware intelligence.
β οΈ BETA β GitScrum CLI is in active development. Open source under the MIT license. Available on GitHub. Built for developers β Tasks, timers, sprints, and analytics in your terminal. Git-aware. CI/CD ready.
Full task lifecycle management from your terminal. List, create, update, filter, and branch β all without leaving your editor.
Commands
| Command | Description |
|---|---|
gitscrum tasks | List tasks assigned to you |
gitscrum tasks view CODE | View task details |
gitscrum tasks create -t "TITLE" | Create a new task |
gitscrum tasks update CODE | Update task properties |
gitscrum tasks complete CODE | Mark task as done |
gitscrum tasks current | Show task for current git branch |
gitscrum tasks branch CODE | Create git branch from task |
gitscrum tasks comment CODE | View or add comments |
gitscrum tasks assign CODE | Assign task to user |
gitscrum tasks today | List tasks due today |
List Tasks
gitscrum tasksCODE TITLE STATUS EFFORT
GS-1234 Implement OAuth flow In Progress 5 pts
GS-1198 Fix pagination bug Todo 2 pts
GS-1201 Add caching layer Blocked 8 ptsFiltering
# Filter by workflow status
gitscrum tasks --workflow "in-progress"
gitscrum tasks --workflow todo
gitscrum tasks --workflow done
# Filter by type
gitscrum tasks --type bug
gitscrum tasks --type feature
# Show only blockers
gitscrum tasks --filter blocker
# Filter by assignee
gitscrum tasks --assignee @john
# Limit and pagination
gitscrum tasks --limit 50
gitscrum tasks --page 2Output Formats
gitscrum tasks --json # JSON output for scripting
gitscrum tasks -q # Quiet mode (task codes only)View Task Details
gitscrum tasks view GS-1234GS-1234: Implement OAuth flow
ββββββββββββββββββββββββββββββββββββββββββββββββββββ
Status: In Progress
Type: Feature
Effort: 5 pts
Priority: High
Sprint: Sprint 12 (Day 5 of 10)
Due: Feb 14, 2026
Assigned: John Doe
Description:
Implement OAuth 2.0 Device Authorization Grant for CLI
authentication. Follow RFC 8628 spec.
Labels:
backend, security, auth
Subtasks:
β Design token storage
β Implement device flow
β Add token refresh
β Write testsCreate Task
gitscrum tasks create "Fix null pointer in user service"Created: GS-1267 - Fix null pointer in user serviceWith Options
gitscrum tasks create "Implement caching layer" \
--type feature \
--effort 8 \
--assignee john \
--sprint "sprint-12" \
--description "Add Redis caching for API responses"Flags
| Flag | Description |
|---|---|
-p, --project | Project slug |
-d, --description | Task description (Markdown) |
--type | Task type (bug, feature, chore) |
--effort | Effort points |
--assignee | Assignee username |
--sprint | Sprint slug |
--due | Due date (YYYY-MM-DD) |
--priority | Priority (low, medium, high) |
Update Task
gitscrum tasks update GS-1234 --status "in review"GS-1234 moved to In ReviewCommon Updates
# Change status
gitscrum tasks update GS-1234 --status done
# Reassign
gitscrum tasks update GS-1234 --assignee jane
# Update effort
gitscrum tasks update GS-1234 --effort 8
# Move to different sprint
gitscrum tasks update GS-1234 --sprint "sprint-13"
# Multiple updates
gitscrum tasks update GS-1234 --status "in review" --assignee janeCurrent Task (Git-Aware)
When you're on a branch like feature/GS-1234-oauth-flow, the CLI automatically detects the task code:
gitscrum tasks currentGS-1234: Implement OAuth flow
Status: In Progress
Sprint: Sprint 12 (Day 5 of 10)
Effort: 5 pts
Assigned: YouThis works with any branch name containing a task code pattern: GS-1234, PROJ-456, etc.
Create Branch from Task
gitscrum tasks branch GS-1234Switched to new branch: feature/GS-1234-implement-oauth-flowCustom Prefix
gitscrum tasks branch GS-1234 --prefix bugfixSwitched to new branch: bugfix/GS-1234-implement-oauth-flowWithout Switching
gitscrum tasks branch GS-1234 --no-switchCreated branch: feature/GS-1234-implement-oauth-flow
(staying on current branch)Workflow: Branch β Code β PR β Done
# 1. Pick your task and create a branch
$ gitscrum tasks branch GS-1234
Switched to: feature/GS-1234-implement-oauth
# 2. Timer automatically starts (if configured)
$ gitscrum timer
Active: GS-1234 | Running: 45m
# 3. Do your work...
$ git add . && git commit -m "Implement OAuth device flow"
# 4. Update status when opening PR
$ gitscrum tasks update GS-1234 --status "in review"
GS-1234 moved to In Review
# 5. After PR merge
$ gitscrum tasks update GS-1234 --status done
GS-1234 marked as DoneScripting
Use --json for integration with other tools:
# Get all blocked tasks
gitscrum tasks --blocker --json | jq '.[].code'
# Count tasks by status
gitscrum tasks --json | jq 'group_by(.status) | map({status: .[0].status, count: length})'
# Export to CSV
gitscrum tasks --json | jq -r '.[] | [.code, .title, .status] | @csv'Use -q for piping:
# Update all blocked tasks
gitscrum tasks --blocker -q | xargs -I {} gitscrum tasks update {} --status todoCI/CD Integration
Update Status on PR Merge
# GitHub Actions
- name: Complete task
run: |
TASK=$(echo "${{ github.head_ref }}" | grep -oE '[A-Z]+-[0-9]+')
if [ -n "$TASK" ]; then
gitscrum tasks update $TASK --status done
fi
env:
GITSCRUM_ACCESS_TOKEN: ${{ secrets.GITSCRUM_ACCESS_TOKEN }}Link Commit to Task
Configure in .gitscrum.yml:
hooks:
prepend_task_code: true
commit_format: "[%s] %s"Every commit on a task branch automatically includes the task code.