## Why Linear projects have two text fields: a short description and a longer project overview. The CLI only supported the short description, so projects created from the terminal still needed a manual edit in Linear to add goals, plans, specs, or launch notes. This PR lets users create a project with its overview already filled in, either from inline markdown or a markdown file. That makes `linear project create` more useful for scripted project setup, templates, and project specs kept in a repo. It also exposes a few existing Linear create fields so users can set priority, labels, members, icon, and color when creating the project instead of doing a follow-up edit. ## What changed - `linear project create` now accepts `--content` for inline project overview markdown. - `--content-file` reads the project overview from a markdown file. - `--content` and `--content-file` are mutually exclusive. - Project create can now set priority, labels, members, icon, and color. - The command passes these values through `ProjectCreateInput` using Linear field names. ## Checks - `deno task codegen` - `deno task check` - `deno lint` - `deno task test`
5.0 KiB
linear cli
usage
linear cli provides commands to manage linear issues, teams, and projects from the command line.
repo configuration
first, configure the cli with your linear api token:
linear config
this will interactively generate a .linear.toml configuration file in the repo.
issues
list issues
list your issues (shows unstarted issues by default):
linear issue list
list issues with different states:
# List started issues
linear issue list --state started
# List all issues regardless of state
linear issue list --all-states
# List multiple states
linear issue list --state unstarted --state started
filter by assignee:
# List issues assigned to you
linear issue list --assignee self
# List issues assigned to specific user
linear issue list --assignee username
# List all unassigned issues
linear issue list --unassigned
# List issues for all assignees
linear issue list --all-assignees
other options:
# List issues for specific team
linear issue list --team TEAM
# Sort by priority instead of manual order
linear issue list --sort priority
# Open in web browser
linear issue list --web
# Open in Linear app
linear issue list --app
view issue details
view the current issue (based on git branch):
linear issue view
view a specific issue:
linear issue view TEAM-123
view options:
# Open in web browser
linear issue view TEAM-123 --web
# Open in Linear app
linear issue view TEAM-123 --app
# Exclude comments from output
linear issue view TEAM-123 --no-comments
start working on an issue
start the next available issue:
linear issue start
start a specific issue:
linear issue start TEAM-123
this will move the issue to "in progress" and create a git branch.
create an issue
create an issue interactively:
linear issue create
create with specific options:
# Create with title and description
linear issue create --title "Fix bug" --description "Description here"
# Create and assign to yourself
linear issue create --assignee self
# Create with priority (1-4, where 1 is highest)
linear issue create --priority 1
# Create with estimate points
linear issue create --estimate 3
# Create with labels
linear issue create --label bug --label frontend
# Create for specific team
linear issue create --team TEAM
# Create and start working on it
linear issue create --start
update an issue
update the current issue:
linear issue update
update a specific issue:
linear issue update TEAM-123
other issue commands
get issue id from current git branch:
linear issue id
get issue title:
linear issue title TEAM-123
get issue url:
linear issue url TEAM-123
create a github pull request:
linear issue pull-request
linear issue pr # Short alias
delete an issue:
linear issue delete TEAM-123
teams
list teams
linear team list
get team id
get team id derived from repository name:
linear team id
team members
list members of your default team:
linear team members
list members of a specific team:
linear team members TEAM
create a team
linear team create
configure github autolinks
set up github repository autolinks for linear issues:
linear team autolinks
projects
create a project
# Create with a short description and long-form overview markdown
linear project create --name "API v2" --team ENG --description "Short summary" --content "## Overview"
# Read the project overview body from a markdown file
linear project create --name "API v2" --team ENG --content-file overview.md
# Create with priority, labels, members, icon, and color
linear project create --name "Mobile launch" --team APP --priority high --label Launch --member jane@example.com --icon rocket --color "#5E6AD2"
list projects
linear project list
view project details
linear project view PROJECT-ID
shell completions
generate shell completions for better command-line experience:
# For bash
source <(linear completions bash)
# For zsh
source <(linear completions zsh)
# For fish
linear completions fish | source
add the appropriate line to your shell's configuration file (e.g., ~/.bashrc, ~/.zshrc, or ~/.config/fish/config.fish).
global options
most commands support these options:
--no-pager- disable automatic paging for long output--no-color- disable colored output--help- show help for the command
examples
common workflows:
# Start working on the next issue
linear issue start
# View current issue details
linear issue view
# Create and start a new bug fix
linear issue create --title "Fix login error" --label bug --start
# List high priority issues
linear issue list --sort priority
# Create a pull request for current issue
linear issue pr