Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
GCLI(5) 		       File Formats Manual			 GCLI(5)

NAME
     gcli -- gcli configuration file formats

DESCRIPTION
     gcli  has two different configuration files. A user configuration file that
     contains default values for gcli and a repository-local configuration  that
     contains  sensible  default  values  for  a given repository. The latter is
     meant to be checked into the repository and provide these default values to
     other users as well.

   User Configuration File
     The user configuration file is located  in  ${XDG_CONFIG_HOME}/gcli/config.
     On most systems this equal to ${HOME}/.config/gcli/config.

     The  user	configuration  file contains definitions for accounts as well as
     sensible default values for things like an editor.

     The file is structured in sections, each section has a name and consists of
     a collection of key-value pairs. E.g.:

	   section-name {
		   key1 = value 1
		   key2 = value 2
	   }

     There must be a section named "defaults" which may  contain  the  following
     keys:

     editor  Path  to a default editor. This might be overridden by the environ-
	     ment variable EDITOR.

     pager   Name of the default pager when interactively displaying large  out-
	     put.  May be overridden by the environment variable PAGER.  If none
	     of  the  above  are  specified,  less(1)  is used as a sane default
	     pager.

     github-default-account
	     Section name of a default GitHub account to use  whenever	the  ac-
	     count is unspecified on the command line or in the environment. See
	     GCLI_ACCOUNT in gcli(1).

     gitlab-default-account
	     Section  name  of	a default GitLab account to use whenever the ac-
	     count is unspecified on the command line or in the environment. See
	     GCLI_ACCOUNT in gcli(1).

     gitea-default-account
	     Section name of a default Gitea account to use whenever the account
	     is unspecified on the command  line  or  in  the  environment.  See
	     GCLI_ACCOUNT in gcli(1).

     disable-spinner
	     Disable the progress spinner in the ui.  gcli uses this when making
	     requests.	 This	can   also  be	set,  and  overridden  with  the
	     GCLI_NOSPINNER environment variable.

     render-markdown
	     If gcli is compiled with liblowdown support for rendering,  setting
	     this value to "no" will disable markdown rendering and instead out-
	     put the plain text.

     url-open-program
	     Name  of  a  program  in  the  PATH  to open URLs with. Defaults to
	     xdg-open which uses your default web browser. Note that the program
	     name may not contain any arguments. If you need to pass  any  argu-
	     ments to the program you must write a wrapper script.

     restrict-pipelines-to-branch
	     This setting makes the gcli-pipelines(1) subcommand behave slightly
	     differently  when	listing  branches.  Setting this to `yes' causes
	     gcli to determine the currently checked out branch and queries only
	     pipelines for this branch.  See also gcli-pipelines(1).

     monitor-delay
	     Specifies an integer refresh interval for the  monitor  action  for
	     the gcli-pipelines(1) subcommand in seconds.

     All other sections define accounts for forges. Each of these account defin-
     itions have the account name as their section name and may have one or more
     of the following keys defined:

     forge-type  The type of the forge. May be one of:
		 *   github
		 *   gitlab
		 *   gitea
		 *   bugzilla

     api-base	 (optional) Used to override the API base URL of the forge. This
		 is   useful   for  self-hosted  instances.   Depending  on  the
		 "forge-type" the default values are:

		 forge-type    default value
		 github        https://api.github.com
		 gitlab        https://gitlab.com/api/v4
		 gitea	       https://codeberg.org/api/v1
		 bugzilla      https://bugs.freebsd.org/bugzilla

     account	 (optional) The username used to authenticate at the API.

     token	 (optional) A generated application token to use with  this  ac-
		 count. 	  The	       gcli	     tutorial	      at
		 https://herrhotzenplotz.de/gcli/tutorial has some documentation
		 on how to generate thes tokens.

   Repository Local Configuration File
     For repository-local configuration you  can  use  a  special  configuration
     file. It contains definitions for gcli that are specific to the repository.

     The Repository-local configuration file is located in the root directory of
     the repository and should be named .gcli.

     It contains a list of key-value pairs. Allowed keys are:

     pr.base	  Name of a branch that the changes should be merged into by de-
		  fault.  Usually this is one of master, main or trunk.

     pr.upstream  Name	of the upstream repository to submit the pull request to
		  by default.  This is a pair of the format "owner/repository".

     pr.inhibit-delete-source-branch
		  If defined and set to "yes" this will prevent the pull request
		  source branch to get deleted when merging a  pull  request  by
		  default.

     forge-type   When hosting on multiple forges this can be set to a type that
		  will	be  used  as a default when other overrides are unspeci-
		  fied. For possible values see  the  equivalent  definition  in
		  "User Configuration File".

EXAMPLES
   User Configuration File
     An  example for the user configuration file consisting of both a GitHub and
     a GitLab account:

     defaults {
	     editor=/path/to/ganoooo/emacs
	     pager=less
	     github-default-account=herrhotzenplotz-gh
	     gitlab-default-account=herrhotzenplotz-gitlab
     }

     herrhotzenplotz-gh {
	     account=herrhotzenplotz
	     token=foobar
	     api-base=https://api.github.com
	     forge-type=github
     }

     herrhotzenplotz-gl {
	     account=herrhotzenplotz
	     token=<valid gitlab api token>
	     api-base=https://gitlab.com/api/v4
	     forge-type=gitlab
     }

     Notice that this allows you to run gcli and force it to use a specific Git-
     Lab account. E.g.:

     $ gcli -a herrhotzenplotz-gl issues -a

   Repository-Local Configuration file
     The .gcli file for the gcli project itself looks like this:

     pr.upstream=herrhotzenplotz/gcli
     pr.base=trunk
     pr.inhibit-delete-source-branch=yes

SEE ALSO
     git(1), gcli(1), less(1), xdg-open(1)

AUTHORS
     Nico Sonack aka. herrhotzenplotz <nsonack@herrhotzenplotz.de> and contribu-
     tors.

BUGS
     Please report bugs via E-Mail to https://lists.sr.ht/~herrhotzenplotz/gcli-
     discuss.

     Alternatively  you  can  report  them  on	any  of  the  forges  linked  at
     https://sr.ht/~herrhotzenplotz/gcli.   However,  the preferred and quickest
     method is to use the mailing list.

gcli 2.12.0			   30-May-2026				 GCLI(5)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=gcli&sektion=5&manpath=FreeBSD+Ports+15.1.quarterly>

home | help