Gitea CLI (tea)
Interface en ligne de commande officielle pour Gitea. Gérez les issues, pull requests, releases et dépôts depuis le terminal.
Spar Skills Guide Bot
DevOpsIntermédiaire1 vues0 installations28/02/2026CursorWindsurfCopilotClaude Code
giteacliversion-controlgit-managementterminal
name: gitea-tea description: Manage Gitea via CLI. Use when user mentions "tea", "gitea cli", or needs terminal-based Gitea operations. version: 1.0.0
Gitea CLI (tea)
Overview
Official command-line interface for Gitea. Manage issues, PRs, releases, and repos from terminal.
Instructions
- Verify authentication: Run
tea whoamito confirm login - Check context: Run in git repo for auto-detection, or use
--repo owner/repo - Use non-interactive mode: Always use
--outputflag and provide all arguments - Choose operation: See command reference sections below
Installation
# macOS
brew install tea
# Linux (binary)
curl -sL https://dl.gitea.io/tea/main/tea-main-linux-amd64 -o tea
chmod +x tea && sudo mv tea /usr/local/bin/
# From source
go install code.gitea.io/tea@latest
Authentication
# Interactive login (recommended)
tea login add
# Select: Application Token
# Enter Gitea URL and token from User Settings → Applications
# List logins
tea login list
# Set default
tea login default gitea.example.com
# Delete login
tea login delete gitea.example.com
# Verify
tea whoami
Issues
List Issues
# Open issues in current repo
tea issues list
# All issues (including closed)
tea issues list --state all
# Filter by milestone
tea issues list --milestone "v1.0.0"
# Filter by assignee and labels
tea issues list --assignee username --label bug,critical
# From specific repo
tea issues list --repo owner/repo --login gitea.com
View Issue
# View issue with comments
tea issue 42
# Without comments
tea issue 42 --comments=false
# Open in browser
tea open 42
Create Issue
# Interactive
tea issues create
# With arguments
tea issues create \
--title "Fix authentication bug" \
--body "Users cannot login with special characters" \
--label bug,security \
--assignee developer1 \
--milestone "v1.2.0"
# From file
tea issues create \
--title "Feature request" \
--body "$(cat feature-request.md)"
Modify Issues
# Close issue
tea issues close 42
# Reopen issue
tea issues reopen 42
# Edit issue
tea issues edit 42 \
--title "Updated title" \
--assignee newdev \
--add-labels "enhancement"
Pull Requests
List PRs
# Open PRs
tea pulls
# Closed PRs
tea pulls --state closed
# Filter by reviewer and labels
tea pulls --reviewer username --label "needs-review"
View PR
# View PR details
tea pr 15
# Without comments
tea pr 15 --comments=false
# Open in browser
tea open 15
Create PR
# Interactive
tea pulls create
# With arguments
tea pulls create \
--title "Implement user authentication" \
--description "Adds OAuth and JWT support" \
--base main \
--head feature/auth \
--assignee reviewer1,reviewer2 \
--label "enhancement"
# Description from file
tea pulls create \
--title "Major refactor" \
--description "$(cat pr-description.md)"
Checkout PR
# Checkout PR locally
tea pulls checkout 20
# Custom branch name
tea pulls checkout 20 pr-20-custom-name
# Clean up checked out PRs
tea pulls clean
Review & Merge
# Approve PR
tea pulls approve 20 --comment "LGTM!"
# Request changes
tea pulls reject 20 --comment "Please add tests"
# Leave comment
tea pulls review 20 \
--state comment \
--comment "Consider refactoring this section"
# Merge PR (squash)
tea pulls merge 20 --style squash --message "feat: implement auth"
# Merge PR (rebase)
tea pulls merge 20 --style rebase
# Close PR
tea pulls close 20
# Reopen PR
tea pulls reopen 20
Releases
List Releases
tea releases list
tea releases list --limit 10
tea releases list --repo owner/project
Create Release
# Basic release
tea releases create v1.0.0 \
--title "Version 1.0.0" \
--note "First stable release"
# From changelog file
tea releases create v1.2.0 \
--title "Version 1.2.0" \
--note-file CHANGELOG.md
# Draft release
tea releases create v2.0.0-beta \
--title "Beta Release" \
--draft \
--note "Beta for testing"
# With assets
tea releases create v1.1.0-rc1 \
--title "Release Candidate 1" \
--prerelease \
--asset dist/binary-linux-amd64 \
--asset dist/binary-darwin-amd64
# Create tag + release
tea releases create v1.3.0 \
--target main \
--title "Version 1.3.0" \
--note "New features"
Edit/Delete Release
# Update release
tea releases edit v1.0.0 \
--title "Version 1.0.0 - Updated" \
--note-file NEW-NOTES.md
# Publish draft
tea releases edit v2.0.0 --draft=false
# Delete release
tea releases delete v0.9.0
tea releases delete v1.0.0-beta --confirm
Labels
# List labels
tea labels list
tea labels list --repo owner/project
tea labels list --save # Save labels to file
# Create label
tea labels create bug \
--color "#ff0000" \
--description "Something isn't working"
tea labels create enhancement \
--color "0,255,0" \
--description "New feature"
# Update label
tea labels update bug --color "#cc0000"
tea labels update old-name --name new-name
# Delete label
tea labels delete bug
Milestones
# List milestones
tea milestones list
tea milestones list --state open
tea milestones list --state closed
# View milestone issues
tea milestones issues "v1.0.0"
tea milestones issues "v1.0.0" --kind pull # Only PRs
tea milestones issues "v1.0.0" --state all
# Add issue/PR to milestone
tea milestones issues add "v1.0.0" 42
# Remove issue/PR from milestone
tea milestones issues remove "v1.0.0" 42
# Create milestone
tea milestones create "v2.0.0" \
--description "Major version release" \
--deadline "2024-12-31"
# Close milestone
tea milestones close "v1.0.0"
# Reopen milestone
tea milestones reopen "v1.0.0"
# Delete milestone
tea milestones delete "v0.9.0"
Repositories
# List repos
tea repos list
tea repos list --org myorg
tea repos list --watched # Watched repos
tea repos list --starred # Starred repos
tea repos list --type fork # Filter: fork, mirror, source
tea repos list --output yaml
# Search repos
tea repos search "keyword" --login gitea.com
# View repo details
tea repos owner/repo
# Create repo
tea repos create --name myrepo --private --init
tea repos create \
--name myrepo \
--owner myorg \
--description "My project" \
--private \
--init \
--gitignores Go \
--license MIT
# Create from template
tea repos create-from-template \
--template owner/template-repo \
--name new-repo
# Fork repo
tea repos fork --repo owner/repo
tea repos fork --repo owner/repo --owner myorg
# Delete repo
tea repos delete owner/repo
# Clone repo (without git)
tea clone owner/repo
tea clone owner/repo ./target-dir
tea clone gitea.com/owner/repo # With host
Time Tracking
# List time entries
tea times list
tea times list --issue 42
tea times list --user username
tea times list --from "2024-01-01" --until "2024-12-31"
# Add time
tea times add 42 --time "2h"
tea times add 42 --time "1h30m" --message "Implemented auth logic"
# Delete entry
tea times delete 42 --id 123
Notifications
# List notifications (current repo)
tea notifications list
# List all notifications
tea notifications list --mine
# Filter by type
tea notifications list --types issue,pull
# Filter by state
tea notifications list --states unread,pinned
# Mark as read
tea notifications read # All filtered
tea notifications read 123 # Specific ID
# Mark as unread
tea notifications unread 123
# Pin/unpin
tea notifications pin 123
tea notifications unpin 123
Organizations
# List organizations
tea organizations list
# View organization details
tea organizations myorg
# Create organization
tea organizations create myorg
# Delete organization
tea organizations delete myorg
Branches
# List branches
tea branches list
tea branches list --output json
# View branch details
tea branches main
# Protect branch
tea branches protect main
# Unprotect branch
tea branches unprotect main
Comments
# Add comment to issue or PR
tea comment 42 "This is my comment"
# From specific repo
tea comment 42 "Comment text" --repo owner/repo
Admin (requires admin access)
# List users
tea admin users list
tea admin users list --output json
Non-Interactive Mode (AI Agents)
IMPORTANT: When using tea in AI agent environments (no TTY), avoid interactive prompts:
# Use --output to disable interactive mode
tea issues --output simple
tea pulls --output json
# Provide ALL required arguments upfront
tea issue create --title "Bug title" --body "Description here"
tea pr create --title "PR title" --head feature-branch --base main
# Use -y or --yes for confirmations
tea pr merge 5 --yes
tea releases delete v0.9.0 --yes
# Set default login to avoid prompts
tea login default <login-name>
Always prefer explicit flags over interactive prompts.
Guidelines
Do
- Use
--output simpleor--output jsonfor non-interactive mode - Provide all required arguments upfront to avoid prompts
- Run
tea whoamito verify authentication before operations - Use
tea open <number>to quickly view in browser
Don't
- Use interactive commands in AI agent context (no TTY)
- Forget
--repo owner/repowhen outside git repository - Skip
--yesflag for destructive operations in scripts - Use
tea login addinteractively (configure beforehand)
Examples
Example: Feature Branch → PR
git checkout -b feature/new-feature
# ... make changes ...
git add . && git commit -m "feat: add new feature"
git push -u origin feature/new-feature
tea pulls create --title "Add new feature" --base main --head feature/new-feature
Example: Review & Merge PR
tea pulls checkout 20
# ... review code ...
tea pulls approve 20 --comment "LGTM!"
tea pulls merge 20 --style squash
Example: Create Release with Assets
git tag v1.0.0
git push origin v1.0.0
tea releases create v1.0.0 \
--title "v1.0.0" \
--note-file CHANGELOG.md \
--asset dist/app-linux \
--asset dist/app-darwin
Skills similaires
Architecte Docker Compose
100
Concoit des configurations Docker Compose optimisees.
Claude CodeCopilotadvanced
4301561259Admin
Rapport de Post-Mortem
100
Rédige des rapports post-mortem d'incidents structurés et blameless.
claudeCursorWindsurfintermediate
14143333Admin
Créateur de Runbooks
100
Crée des runbooks opérationnels clairs pour les procédures DevOps courantes.
claudeCursorWindsurfintermediate
10832259Admin