Files
architecture/skills/gitea/SKILL.md
2025-12-30 23:52:36 +01:00

4.5 KiB

Gitea CLI (tea)

Command-line interface for interacting with Gitea repositories.

Installation

brew install tea

Authentication

The tea CLI authenticates via tea logins add. Credentials are stored locally by tea.

tea logins add                       # Interactive login
tea logins add --url <url> --token <token> --name <name>  # Non-interactive
tea logins list                      # Show configured logins
tea logins default <name>            # Set default login

Configuration

Config is stored at ~/Library/Application Support/tea/config.yml (macOS).

To avoid needing --login on every command, set defaults:

preferences:
    editor: false
    flag_defaults:
        remote: origin
        login: git.flowmade.one

Repository Detection

tea automatically detects the repository from git remotes when run inside a git repository. Use --remote <name> to specify which remote to use.

Common Commands

Issues

# List issues
tea issues                           # Open issues (default)
tea issues --state all               # All issues
tea issues --state closed            # Closed issues

# View issue details
tea issues <number>                  # Full issue details
tea issues <number> --comments       # Include comments

# Create issue
tea issues create --title "<title>" --description "<body>"
tea issues create -t "<title>" -d "<body>"

# Edit issue
tea issues edit <number> --title "<new-title>"
tea issues edit <number> --description "<new-body>"

# Close/reopen
tea issues close <number>
tea issues reopen <number>

# Labels
tea issues edit <number> --labels "bug,help wanted"

Pull Requests

# List PRs
tea pulls                            # Open PRs (default)
tea pulls --state all                # All PRs
tea pulls --state closed             # Closed/merged PRs

# View PR
tea pulls <number>                   # PR details
tea pulls <number> --comments        # Include comments
tea pulls <number> -f diff           # PR diff

# Create PR
tea pulls create --title "<title>" --description "<body>"
tea pulls create -t "<title>" -d "<body>"
tea pulls create -t "<title>" -d "Closes #<issue>"
tea pulls create --head <branch> --base main -t "<title>"

# Checkout PR locally
tea pulls checkout <number>

# Review/Approve
tea pulls approve <number>           # Approve PR (LGTM)
tea pulls reject <number>            # Request changes
tea pulls review <number>            # Interactive review

# Merge
tea pulls merge <number>                      # Default merge
tea pulls merge <number> --style squash       # Squash commits
tea pulls merge <number> --style rebase       # Rebase commits
tea pulls merge <number> --style rebase-merge # Rebase then merge

# Clean up after merge
tea pulls clean <number>             # Delete local & remote branch

Repository

tea repos                            # List repos
tea repos <owner>/<repo>             # Repository info
tea clone <owner>/<repo>             # Clone repository

Notifications

tea notifications                    # List notifications
tea notifications --mine             # Only participating

Output Formatting

Most commands support --output or -o flag:

  • -o simple - Plain text
  • -o table - Tabular format (default)
  • -o json - Machine-readable JSON
  • -o yaml - YAML format
  • -o csv - CSV format

Specifying Remote/Login

tea issues --remote gitea            # Use specific git remote
tea issues --login myserver          # Use specific login
tea issues -r owner/repo             # Specify repo directly

Tips

  • Always verify you're in the correct repository before running commands
  • Use tea issues to find issue numbers before viewing/editing
  • Reference issues in PR bodies with Closes #N for auto-linking
  • Use --remote gitea when you have multiple remotes (e.g., origin + gitea)
  • The tea pulls checkout command is handy for reviewing PRs locally

Actions / CI

# List workflow runs
tea actions runs                     # List all workflow runs
tea actions runs -o json             # JSON output for parsing

# List jobs for a run
tea actions jobs <run-id>            # Show jobs for a specific run
tea actions jobs <run-id> -o json    # JSON output

# Get job logs
tea actions logs <job-id>            # Display logs for a job

# Full workflow: find failed job logs
tea actions runs                     # Find the run ID
tea actions jobs <run-id>            # Find the job ID
tea actions logs <job-id>            # View the logs