cli

module
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 10, 2026 License: MIT

README

GitScrum

GitScrum CLI

Command-line interface for GitScrum.
Manage projects, track time, and ship faster — without leaving your terminal.

Beta Release Go Report MIT License CI


Overview

GitScrum CLI gives you full access to your GitScrum workspace from the terminal. Tasks, time tracking, sprints, analytics — everything without leaving your editor.

⚠️ BETA: This CLI is in active development. While fully functional, you may encounter bugs or breaking changes. Report issues to help us improve!

# Your morning in 30 seconds
$ 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

$ gitscrum timer start GS-1234
Timer started for GS-1234 at 09:15

# ... 3 hours of coding ...

$ gitscrum timer stop
Logged 3h 12m to GS-1234
  Total today: 5h 45m

$ gitscrum sprints burndown
Sprint 12 — Day 7 of 10
52 │●
40 │  ●──●
30 │       ●──●
20 │            ●  ← You are here
10 │
 0 └─────────────────
    M  T  W  T  F

Remaining: 22 pts | Velocity: 5.2/day | On track

Git-aware. Team-ready. CI/CD compatible.


Quick start

Install

curl -sL https://raw.githubusercontent.com/gitscrum-core/cli/main/install.sh | sh

Or install via package managers:

macOS (Homebrew)
brew install gitscrum-core/tap/gitscrum
Windows (Scoop)
scoop bucket add gitscrum https://github.com/gitscrum-core/scoop-bucket
scoop install gitscrum
Go Install
go install github.com/gitscrum-core/cli/cmd/gitscrum@latest

Authenticate

gitscrum auth login

The CLI initiates an OAuth 2.0 Device Authorization Grant flow. Authorize in your browser — credentials are stored locally and never transmitted to third parties.

Configure

gitscrum config set workspace my-company
gitscrum config set project my-project

Commands

Core

Command Description Docs
gitscrum tasks List, view, create, and update tasks tasks
gitscrum timer Start, stop, and log time entries timer
gitscrum sprints Sprint management and analytics sprints
gitscrum projects Project listing and details projects
gitscrum standup Daily standup and blockers standup
gitscrum analytics Sprint and project analytics analytics

Time Tracking

Command Description Docs
gitscrum timer start [TASK] Start timer for a task timer
gitscrum timer stop Stop active timer timer
gitscrum timer log TASK DURATION Log time manually (e.g., 2h30m) timer
gitscrum timer report View time reports timer

Tasks

Command Description Docs
gitscrum tasks List assigned tasks tasks
gitscrum tasks view CODE View task details tasks
gitscrum tasks create TITLE Create new task tasks
gitscrum tasks current Show task for current git branch tasks
gitscrum tasks branch CODE Create git branch from task tasks

Sprints

Command Description Docs
gitscrum sprints List all sprints sprints
gitscrum sprints current Current sprint with KPIs sprints
gitscrum sprints burndown ASCII burndown chart sprints

Team & Collaboration

Command Description Docs
gitscrum chat Team discussions chat
gitscrum wiki Project documentation wiki
gitscrum notifications View notifications notifications

Clients & Billing

Command Description Docs
gitscrum clients Manage clients clients
gitscrum invoices Manage invoices invoices
gitscrum proposals Manage proposals proposals

Configuration

Command Description Docs
gitscrum auth login Initiate OAuth flow auth
gitscrum auth logout Clear stored credentials auth
gitscrum auth status Check authentication status auth
gitscrum config Manage CLI configuration config
gitscrum init Initialize project configuration init
gitscrum workspaces List and switch workspaces workspaces
gitscrum hooks Install/uninstall git hooks hooks

CRM (PRO)

Command Description Docs
gitscrum crm CRM analytics and reports crm

Full reference: docs/commands/

Real-World Workflows

Branch → Code → PR → Done

# Pick your task and create a branch
$ gitscrum tasks branch GS-1234
Switched to branch 'feature/GS-1234-implement-oauth'

# Timer auto-starts when you checkout a task branch
$ gitscrum timer
Active: GS-1234 | Running: 45m

# After PR is opened
$ gitscrum tasks update GS-1234 --status "in review"
GS-1234 moved to In Review

# After merge
$ gitscrum tasks update GS-1234 --status done
GS-1234 marked as Done

Daily Standup

$ gitscrum standup
DAILY STANDUP — Feb 7, 2026
────────────────────────────────────────
  Completed yesterday:    4 tasks
  In progress:            2 tasks
  Blocked:                1 task
  
$ gitscrum standup blockers
BLOCKERS:
  [!] GS-1156 — Waiting on API spec (bob)

Team Time Report

$ gitscrum timer report --week --team
TEAM TIME — This Week

MEMBER      HOURS     TOP PROJECT
alice       38h 15m   backend-api
bob         32h 00m   web-app  
charlie     28h 45m   mobile-app

Total: 99h 00m | Avg: 33h/person

Git Integration

# Branch names auto-detect task codes
$ git checkout feature/GS-1234-oauth
$ gitscrum tasks current
GS-1234: Implement OAuth flow | In Progress | 5 pts

# Create branch from task
$ gitscrum tasks branch GS-1198
Created and switched to: fix/GS-1198-pagination-bug

Project Configuration

Create a .gitscrum.yml in your repository root to share settings across your team:

gitscrum init -w my-workspace -p my-project
version: "1"
workspace: my-company
project: my-project

branch:
  default_prefix: feature
  include_title: true
  max_length: 60

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

automation:
  on_pr_merge: done
  complete_on_merge: true

Full options: docs/examples/.gitscrum.yml


CI/CD Integration

For headless environments, authenticate using an access token:

export GITSCRUM_ACCESS_TOKEN="your-oauth-access-token"
gitscrum tasks list

Examples

Platform Examples
GitHub Actions github-actions/
GitLab CI gitlab-ci/
Bitbucket Pipelines bitbucket-pipelines/

Common use cases:

  • Sync PR/MR status with task status
  • Auto-link commits to tasks
  • Generate sprint reports on schedule
  • Track deployments

Output Formats

gitscrum tasks              # Table output (default)
gitscrum tasks --json       # JSON for scripting
gitscrum tasks -q           # Quiet mode (IDs only)

Security

The CLI is designed around the principle of least privilege.

Layer Protection
Authentication OAuth 2.0 Device Grant — credentials never touch remote servers.
Token storage Local filesystem with restricted permissions (~/.gitscrum/).
CI/CD Environment variable authentication for headless environments.

Found a vulnerability? Report privately to security@gitscrum.com.

Full details: SECURITY.md


Documentation

Commands Reference All commands with parameters and examples
Configuration Guide CLI and project configuration options
CI/CD Examples GitHub Actions, GitLab CI, Bitbucket Pipelines
Security Security model and token handling
Contributing Development setup and contribution guidelines
Changelog Version history

Development

git clone https://github.com/gitscrum-core/cli.git
cd cli
make build
make test
Requirement Version
Go >= 1.21

Full guide: CONTRIBUTING.md


Contributing

See CONTRIBUTING.md for guidelines.

git checkout -b feature/my-feature
# make changes, add tests
make test
git commit -m "feat: describe your change"

License

MIT — see LICENSE.


Website  ·  Docs  ·  Issues  ·  Changelog

Built by GitScrum

Directories

Path Synopsis
cmd
gitscrum command
GitScrum CLI - Entry Point Minimal main.go following GitHub CLI pattern
GitScrum CLI - Entry Point Minimal main.go following GitHub CLI pattern
pkg
api
Package api provides HTTP client for GitScrum API
Package api provides HTTP client for GitScrum API
auth
Package auth - OAuth 2.0 Device Flow implementation
Package auth - OAuth 2.0 Device Flow implementation
cmd/analytics
Package analytics provides workspace analytics commands for GitScrum CLI
Package analytics provides workspace analytics commands for GitScrum CLI
cmd/auth
Package auth provides auth commands for GitScrum CLI
Package auth provides auth commands for GitScrum CLI
cmd/chat
Package chat provides chat/discussions commands for GitScrum CLI
Package chat provides chat/discussions commands for GitScrum CLI
cmd/clients
Package clients provides client CRM commands for GitScrum CLI
Package clients provides client CRM commands for GitScrum CLI
cmd/config
Package config provides config commands for GitScrum CLI
Package config provides config commands for GitScrum CLI
cmd/crm
Package crm provides CRM dashboard commands for GitScrum CLI
Package crm provides CRM dashboard commands for GitScrum CLI
cmd/factory
Package factory provides dependency injection for commands
Package factory provides dependency injection for commands
cmd/hooks
Package hooks provides git hooks commands for GitScrum CLI
Package hooks provides git hooks commands for GitScrum CLI
cmd/init
Package init provides the init command for GitScrum CLI
Package init provides the init command for GitScrum CLI
cmd/invoices
Package invoices provides invoice commands for GitScrum CLI
Package invoices provides invoice commands for GitScrum CLI
cmd/notifications
Package notifications provides notification commands for GitScrum CLI
Package notifications provides notification commands for GitScrum CLI
cmd/projects
Package projects provides project management commands for GitScrum CLI
Package projects provides project management commands for GitScrum CLI
cmd/proposals
Package proposals provides proposal commands for GitScrum CLI
Package proposals provides proposal commands for GitScrum CLI
cmd/root
Package root contains the root command for GitScrum CLI
Package root contains the root command for GitScrum CLI
cmd/sprints
Package sprints provides sprint commands for GitScrum CLI
Package sprints provides sprint commands for GitScrum CLI
cmd/standup
Package standup provides standup commands for GitScrum CLI
Package standup provides standup commands for GitScrum CLI
cmd/tasks
Package tasks provides git-aware task commands for GitScrum CLI
Package tasks provides git-aware task commands for GitScrum CLI
cmd/timer
Package timer provides time tracking commands for GitScrum CLI
Package timer provides time tracking commands for GitScrum CLI
cmd/wiki
Package wiki provides wiki commands for GitScrum CLI
Package wiki provides wiki commands for GitScrum CLI
cmd/workspaces
Package workspaces provides workspace commands for GitScrum CLI
Package workspaces provides workspace commands for GitScrum CLI
config
Package config handles configuration management
Package config handles configuration management
config/projectconfig
Package projectconfig handles project-level configuration (.gitscrum.yml)
Package projectconfig handles project-level configuration (.gitscrum.yml)
errors
Package errors provides user-friendly error handling for GitScrum CLI
Package errors provides user-friendly error handling for GitScrum CLI
git
Package git provides git repository detection and context
Package git provides git repository detection and context
i18n
Package i18n provides internationalization support for the CLI
Package i18n provides internationalization support for the CLI
interactive
Package interactive provides modern interactive CLI components using PTerm
Package interactive provides modern interactive CLI components using PTerm
output
Package output provides display helpers for consistent CLI output
Package output provides display helpers for consistent CLI output
services
Package services provides business logic layer for GitScrum CLI
Package services provides business logic layer for GitScrum CLI
spinner
Package spinner provides modern PTerm loading indicators
Package spinner provides modern PTerm loading indicators
testutil
Package testutil provides shared fixtures for CLI integration testing
Package testutil provides shared fixtures for CLI integration testing

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL