Uma ferramenta CLI para pesquisar GitHub a partir do terminal.
Stig é uma ferramenta CLI para pesquisar GitHub a partir do terminal. Com a capacidade de classificar e filtrar resultados, o Stig torna mais fácil encontrar o que você procura. Stig também pode imprimir um repositório README.md em stdout, para que você possa aprender mais rapidamente sobre um projeto.
Um item típico de resultado de pesquisa terá a seguinte aparência:
- owner
| - repo
| | - stars
| | | - forks
| | | | - issues
| | | | | - language
| | | | | | - last updated
| | | | | | | - summary
| | | | | | | |
octobanana/stig *12 <3 !4 [C++] 5h
A CLI tool for searching GitHub from the terminal.
Um repositório bifurcado mostrará um símbolo >
, em vez do símbolo <
padrão.
Os últimos símbolos atualizados são mapeados para o seguinte:
s : seconds
m : minutes
h : hours
D : days
W : weeks
M : months
Y : years
Ao final dos resultados será mostrado um resumo:
- current results
| - total results
| | - current page
| | | - total pages
| | | | - requests remaining
| | | | | - requests limit
| | | | | |
1-5/81 results | 1/17 pages | 9/10 limit
Um emulador de terminal que suporte códigos de escape ansi e true color é necessário quando a saída colorida está habilitada. A maioria dos emuladores de terminal populares deve suportar ambos. Embora ter a saída colorida habilitada forneça a melhor experiência, ela pode ser ajustada usando a opção --color
, usando on
, off
ou auto
como entradas, sendo auto o valor padrão.
Por padrão, a API GitHub permite até 10 consultas de pesquisa por minuto. Para estender o limite para 30 consultas de pesquisa por minuto, você pode passar um token GitHub com a opção --token
.
Para obter mais informações sobre a criação de um novo token de acesso pessoal, consulte o seguinte artigo de ajuda do GitHub.
É possível usar um endpoint de API personalizado para compatibilidade com instalações do GitHub Enterprise usando a opção --host
. O host deve ser formatado como subdomain.domain.tld
. Espera-se que o endpoint seja servido por HTTPS na porta 443 .
Importante
Ao usar a opção
--host
, use apenas a opção--token
com um endpoint de API personalizado confiável. Se um host incorreto for transmitido junto com um token, seria aconselhável revogar imediatamente o token e criar um novo.
# query 'stig' showing '20' results from page '1'
$ stig --query ' stig ' --number 20 --page 1
# query 'stig' with filter 'language:cpp'
$ stig --query ' stig ' --filter ' language:cpp '
# query 'stig' and pipe into less
$ stig --query ' stig ' | less
# query 'all' sorted by 'stars' with filter 'language:js'
$ stig --query ' ' --sort ' stars ' --filter ' language:js '
# query 'http server' with filters 'language:cpp' and 'stars:>10'
$ stig --query ' http server ' --filter ' language:cpp stars:>10 '
# output the README.md for 'octobanana/stig' on default branch
$ stig --readme ' octobanana/stig '
# output the README.md for 'octobanana/stig' on branch 'master'
$ stig --readme ' octobanana/stig/master '
# output the README.md for 'octobanana/stig' on default branch and pipe into less
$ stig --readme ' octobanana/stig ' | less
# output the program help
$ stig --help
# output the program version
$ stig --version
./src/ob/belle.hh
./src/ob/parg.hh
./src/lib/json.hh
O seguinte comando shell construirá o projeto no modo de lançamento:
./build.sh
Para construir no modo de depuração, execute o script com o sinalizador --debug
.
O seguinte comando shell instalará o projeto no modo de liberação:
./install.sh
Para instalar no modo de depuração, execute o script com o sinalizador --debug
.
Este projeto está licenciado sob a licença MIT.
Direitos autorais (c) 2018-2019 Brett Robinson
É concedida permissão, gratuitamente, a qualquer pessoa que obtenha uma cópia deste software e dos arquivos de documentação associados (o "Software"), para negociar o Software sem restrições, incluindo, sem limitação, os direitos de usar, copiar, modificar, mesclar , publicar, distribuir, sublicenciar e/ou vender cópias do Software e permitir que as pessoas a quem o Software seja fornecido o façam, sujeito às seguintes condições:
O aviso de direitos autorais acima e este aviso de permissão serão incluídos em todas as cópias ou partes substanciais do Software.
O SOFTWARE É FORNECIDO "COMO ESTÁ", SEM GARANTIA DE QUALQUER TIPO, EXPRESSA OU IMPLÍCITA, INCLUINDO, MAS NÃO SE LIMITANDO ÀS GARANTIAS DE COMERCIALIZAÇÃO, ADEQUAÇÃO A UM DETERMINADO FIM E NÃO VIOLAÇÃO. EM HIPÓTESE ALGUMA OS AUTORES OU DETENTORES DE DIREITOS AUTORAIS SERÃO RESPONSÁVEIS POR QUALQUER RECLAMAÇÃO, DANOS OU OUTRA RESPONSABILIDADE, SEJA EM UMA AÇÃO DE CONTRATO, ATO ILÍCITO OU DE OUTRA FORMA, DECORRENTE DE, OU EM CONEXÃO COM O SOFTWARE OU O USO OU OUTRAS NEGOCIAÇÕES NO SOFTWARE.