Skip to main content

A terminal user interface for Linear project management

Project description

linear-term

CI Python 3.10+ License: PolyForm Noncommercial Buy Me A Coffee

A terminal user interface for Linear project management. Manage issues, triage your inbox, and track projects without leaving the terminal.

Features

  • 3-panel TUI: Navigate projects/cycles in the sidebar, browse issues in the list, and view details in the right panel
  • Kanban board: Visual board view grouped by workflow state
  • Triage workflow: Dedicated mode for processing untriaged issues with quick actions
  • CLI commands: Scriptable interface for listing, viewing, creating, and searching issues
  • Offline-ready: SQLite cache for instant startup and offline browsing
  • Themeable: 9 built-in color schemes

Installation

pip install -e .

Configuration

API Key

Set your Linear API key via environment variable:

export LINEAR_API_KEY=lin_api_xxxxx

Or create a config file at ~/.config/linear-term/config.yaml:

api_key: lin_api_xxxxx

Full Configuration Example

api_key: $LINEAR_API_KEY  # Uses env var

appearance:
  theme: material-dark  # See themes below

layout:
  sidebar_width: 28
  detail_panel_width: 40
  show_detail_panel: true
  show_sidebar: true

defaults:
  view: my-issues       # Starting view
  sort_by: priority     # priority, status, updated, created
  sort_order: asc

columns:                # Issue list columns
  - identifier
  - title
  - status
  - priority
  - assignee

kanban:
  columns:              # Custom column order (empty = all states)
    - Backlog
    - Todo
    - In Progress
    - In Review
    - Done
  hide_done: false      # Hide completed/canceled

cache:
  ttl_minutes: 30

editor:
  command: vim          # For editing descriptions (defaults to $EDITOR)

Available Themes

material-dark (default), gruvbox-dark, linear, dracula, nord, solarized-dark, catppuccin-mocha, one-dark, tokyo-night

Usage

Interactive TUI

Launch the full terminal interface:

linear-term

The TUI provides three main views:

  • List view: Traditional issue list with sortable columns
  • Kanban view: Board layout grouped by status (press b to toggle)
  • Triage view: Process untriaged issues from your inbox

CLI Commands

Use standalone commands for quick operations or scripting:

# List issues
linear-term list                    # All issues (20 max)
linear-term list --mine             # Only issues assigned to you
linear-term list --limit 50         # Specify max results
linear-term list --json             # Output as JSON

# View issue details
linear-term view ENG-123            # By identifier
linear-term view ENG-123 --json     # JSON output

# Create issues
linear-term create "Fix login bug"
linear-term create "Add feature" --description "Details here"
linear-term create "Task" --team Engineering --priority high

# Search
linear-term search "auth bug"
linear-term search "payment" --limit 10 --json

Command Reference

Command Aliases Description
list ls List issues
view show View issue details
create new Create a new issue
search Search issues

Common Options

Option Commands Description
--json all Output as JSON for scripting
--limit N list, search Maximum results (default: 20)
--mine list Only your assigned issues
--team NAME create Target team name or key
--priority LEVEL create urgent, high, medium, low, none
--description TEXT create Issue description

Development

# Install with dev dependencies
pip install -e ".[dev]"

# Run tests
pytest tests/ -v

# Lint
ruff check src/

# Format check
ruff format --check src/

License

PolyForm Noncommercial 1.0.0

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

linear_term-0.1.0.tar.gz (76.7 kB view details)

Uploaded Source

Built Distribution

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

linear_term-0.1.0-py3-none-any.whl (75.4 kB view details)

Uploaded Python 3

File details

Details for the file linear_term-0.1.0.tar.gz.

File metadata

  • Download URL: linear_term-0.1.0.tar.gz
  • Upload date:
  • Size: 76.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for linear_term-0.1.0.tar.gz
Algorithm Hash digest
SHA256 3cac9067f62a536c6f4d2e9c507f3e8b58c6f178016696dc71d1905a4a2ded03
MD5 580495954944773ca7bca4b984ec306b
BLAKE2b-256 2d89072736b1bca7e837e520245527f10603dedddb70cc933a8a81f193e59574

See more details on using hashes here.

File details

Details for the file linear_term-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: linear_term-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 75.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for linear_term-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 721fd2b655ceeaad8d748f7f8dd55f5b9b49c14c5016dc4d57b5a383ccb0c76e
MD5 65021db0bdc37f342e13d12b8c6498ab
BLAKE2b-256 70ce7f79d20bc4d06667c8ae527e640bc5ad25527f2d366b20608abc5107e639

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