GitScrum / Docs

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

CommandDescription
gitscrum tasksList tasks assigned to you
gitscrum tasks view CODEView task details
gitscrum tasks create -t "TITLE"Create a new task
gitscrum tasks update CODEUpdate task properties
gitscrum tasks complete CODEMark task as done
gitscrum tasks currentShow task for current git branch
gitscrum tasks branch CODECreate git branch from task
gitscrum tasks comment CODEView or add comments
gitscrum tasks assign CODEAssign task to user
gitscrum tasks todayList tasks due today

List Tasks

gitscrum tasks
CODE      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 pts

Filtering

# 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 2

Output Formats

gitscrum tasks --json    # JSON output for scripting
gitscrum tasks -q        # Quiet mode (task codes only)

View Task Details

gitscrum tasks view GS-1234
GS-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 tests

Create Task

gitscrum tasks create "Fix null pointer in user service"
Created: GS-1267 - Fix null pointer in user service

With Options

gitscrum tasks create "Implement caching layer" \
  --type feature \
  --effort 8 \
  --assignee john \
  --sprint "sprint-12" \
  --description "Add Redis caching for API responses"

Flags

FlagDescription
-p, --projectProject slug
-d, --descriptionTask description (Markdown)
--typeTask type (bug, feature, chore)
--effortEffort points
--assigneeAssignee username
--sprintSprint slug
--dueDue date (YYYY-MM-DD)
--priorityPriority (low, medium, high)

Update Task

gitscrum tasks update GS-1234 --status "in review"
GS-1234 moved to In Review

Common 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 jane

Current Task (Git-Aware)

When you're on a branch like feature/GS-1234-oauth-flow, the CLI automatically detects the task code:

gitscrum tasks current
GS-1234: Implement OAuth flow
Status:   In Progress
Sprint:   Sprint 12 (Day 5 of 10)
Effort:   5 pts
Assigned: You

This works with any branch name containing a task code pattern: GS-1234, PROJ-456, etc.


Create Branch from Task

gitscrum tasks branch GS-1234
Switched to new branch: feature/GS-1234-implement-oauth-flow

Custom Prefix

gitscrum tasks branch GS-1234 --prefix bugfix
Switched to new branch: bugfix/GS-1234-implement-oauth-flow

Without Switching

gitscrum tasks branch GS-1234 --no-switch
Created 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 Done

Scripting

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 todo

CI/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 }}

Configure in .gitscrum.yml:

hooks:
  prepend_task_code: true
  commit_format: "[%s] %s"

Every commit on a task branch automatically includes the task code.