A command line tool to interact with Gitea servers
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
6543 cfce25f0a7
continuous-integration/drone/push Build is passing Details
followup to: use secrets for s3 info (#530)
1 month ago
.gitea/issue_template Fix typo in bug.md (#460) 1 year ago
cmd Add option to disable version checking (#520) 5 months ago
contrib Add command to install shell completion (#309) 2 years ago
modules Add option to disable version checking (#520) 5 months ago
.changelog.yml Changelog v0.6.0 (#289) 2 years ago
.dockerignore Makefile: add STATIC=true for static PIE builds (#349) 2 years ago
.drone.yml followup to: use secrets for s3 info (#530) 1 month ago
.gitignore Add Allow Maintainer Edits (#509) 6 months ago
.revive.toml Fix CI: disable package-comments lint rule (#494) 7 months ago
CHANGELOG.md Changelog for v0.9.1 (#535) 1 month ago
CONTRIBUTING.md Remove vendor docs (#534) 1 month ago
DCO init project 5 years ago
Dockerfile Makefile: add STATIC=true for static PIE builds (#349) 2 years ago
FEATURE-COMPARISON.md Add feature comparison chart between forge CLIs (#294) 2 years ago
LICENSE init project 5 years ago
Makefile Fix makefile vendor problem (#533) 1 month ago
README.md Remove vendor docs (#534) 1 month ago
build.go Fix CI: run make fmt (#469) 1 year ago
demo.gif Proper help text & new README structure (#311) 2 years ago
go.mod Add Allow Maintainer Edits (#509) 6 months ago
go.sum Add Allow Maintainer Edits (#509) 6 months ago
main.go Add user list command (#427) 6 months ago



License: MIT Release Build Status Join the chat at https://img.shields.io/discord/322538954119184384.svg Go Report Card GoDoc

The official CLI for Gitea

demo gif

   tea - command line tool to interact with Gitea
   version 0.8.0-preview

   tea command [subcommand] [command options] [arguments...]

   tea is a productivity helper for Gitea. It can be used to manage most entities on
   one or multiple Gitea instances & provides local helpers like 'tea pr checkout'.
   tea tries to make use of context provided by the repository in $PWD if available.
   tea works best in a upstream/fork workflow, when the local main branch tracks the
   upstream repo. tea assumes that local git state is published on the remote before
   doing operations with tea.    Configuration is persisted in $XDG_CONFIG_HOME/tea.

   help, h  Shows a list of commands or help for one command
     issues, issue, i                  List, create and update issues
     pulls, pull, pr                   Manage and checkout pull requests
     labels, label                     Manage issue labels
     milestones, milestone, ms         List and create milestones
     releases, release, r              Manage releases
     times, time, t                    Operate on tracked times of a repository's issues & pulls
     organizations, organization, org  List, create, delete organizations
     repos, repo                       Show repository details
     comment, c                        Add a comment to an issue / pr
     open, o                         Open something of the repository in web browser
     notifications, notification, n  Show notifications
     clone, C                        Clone a repository locally
     logins, login                  Log in to a Gitea server
     logout                         Log out from a Gitea server
     shellcompletion, autocomplete  Install shell completion for tea
     whoami                         Show current logged in user

   --help, -h     show help (default: false)
   --version, -v  print the version (default: false)

   tea login add                       # add a login once to get started

   tea pulls                           # list open pulls for the repo in $PWD
   tea pulls --repo $HOME/foo          # list open pulls for the repo in $HOME/foo
   tea pulls --remote upstream         # list open pulls for the repo pointed at by
                                       # your local "upstream" git remote
   # list open pulls for any gitea repo at the given login instance
   tea pulls --repo gitea/tea --login gitea.com

   tea milestone issues 0.7.0          # view open issues for milestone '0.7.0'
   tea issue 189                       # view contents of issue 189
   tea open 189                        # open web ui for issue 189
   tea open milestones                 # open web ui for milestones

   # send gitea desktop notifications every 5 minutes (bash + libnotify)
   while :; do tea notifications --mine -o simple | xargs -i notify-send {}; sleep 300; done

   Written & maintained by The Gitea Authors.
   If you find a bug or want to contribute, we'll welcome you at https://gitea.com/gitea/tea.
   More info about Gitea itself on https://gitea.io.


There are different ways to get tea:

  1. Install via your system package manager:

    • macOS via brew (gitea-maintained):
      brew tap gitea/tap https://gitea.com/gitea/homebrew-gitea
      brew install tea
    • arch linux (gitea-tea-git, thirdparty)
    • alpine linux (tea, thirdparty)
  2. Use the prebuilt binaries from dl.gitea.io

  3. Install from source: see Compilation

  4. Docker (thirdparty): tgerczei/tea


Make sure you have a current go version installed (1.13 or newer).

  • To compile the source yourself with the recommended flags & tags:

    git clone https://gitea.com/gitea/tea.git # or: tea clone gitea.com/gitea/tea ;)
    cd tea

    Note that GNU Make (gmake on OpenBSD) is required.

  • For a quick installation without git & make, set $version and exec:

    go install code.gitea.io/tea@${version}


Fork -> Patch -> Push -> Pull Request

  • make test run testsuite
  • make vet run checks (check the order of imports; preventing failure on CI pipeline beforehand)
  • ... (for other development tasks, check the Makefile)

Please read the CONTRIBUTING documentation, it will tell you about internal structures and concepts.


This project is under the MIT License. See the LICENSE file for the full license text.