All Projects → zaquestion → Lab

zaquestion / Lab

Licence: other
Lab wraps Git or Hub, making it simple to clone, fork, and interact with repositories on GitLab

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Lab

Navi
An interactive cheatsheet tool for the command-line
Stars: ✭ 10,055 (+1003.73%)
Mutual labels:  cli, hacktoberfest, snippets
Python Gitlab
Python wrapper for the GitLab API
Stars: ✭ 1,679 (+84.3%)
Mutual labels:  hacktoberfest, gitlab, gitlab-ci
Tox
Command line driven CI frontend and development task automation tool.
Stars: ✭ 2,523 (+176.95%)
Mutual labels:  cli, hacktoberfest, gitlab
Git Req
Check out merge requests from your GitLab/GitHub hosted repositories from the command line with just the request number.
Stars: ✭ 50 (-94.51%)
Mutual labels:  cli, hacktoberfest, gitlab
Lab
lab is a cli client of gitlab like hub
Stars: ✭ 94 (-89.68%)
Mutual labels:  cli, gitlab-ci, gitlab
Glsnip
copy and paste across machines
Stars: ✭ 107 (-88.25%)
Mutual labels:  cli, snippets, gitlab
Gitlab Ci Pipeline Php
☕️ Docker images for test PHP applications with Gitlab CI (or any other CI platform!)
Stars: ✭ 451 (-50.49%)
Mutual labels:  hacktoberfest, gitlab-ci, gitlab
Backslide
💦 CLI tool for making HTML presentations with Remark.js using Markdown
Stars: ✭ 679 (-25.47%)
Mutual labels:  cli, hacktoberfest
Mevn Cli
Light speed setup for MEVN(Mongo Express Vue Node) Apps
Stars: ✭ 696 (-23.6%)
Mutual labels:  cli, hacktoberfest
Bat
A cat(1) clone with wings.
Stars: ✭ 30,833 (+3284.52%)
Mutual labels:  cli, hacktoberfest
Glow
Render markdown on the CLI, with pizzazz! 💅🏻
Stars: ✭ 7,596 (+733.81%)
Mutual labels:  cli, hacktoberfest
Wbot
A simple Web based BOT for WhatsApp™ in NodeJS 😜. Working as of 📅 Feb 14th, 2020
Stars: ✭ 638 (-29.97%)
Mutual labels:  cli, hacktoberfest
Faas Cli
Official CLI for OpenFaaS
Stars: ✭ 633 (-30.52%)
Mutual labels:  cli, hacktoberfest
Gitea
Git with a cup of tea, painless self-hosted git service
Stars: ✭ 27,320 (+2898.9%)
Mutual labels:  hacktoberfest, gitlab
Rustfix
Automatically apply the suggestions made by rustc
Stars: ✭ 586 (-35.68%)
Mutual labels:  cli, hacktoberfest
Jenkinsfile Runner
A command line tool to run Jenkinsfile as a function
Stars: ✭ 727 (-20.2%)
Mutual labels:  cli, hacktoberfest
Ffsend
📬 Easily and securely share files from the command line. A fully featured Firefox Send client.
Stars: ✭ 5,448 (+498.02%)
Mutual labels:  cli, hacktoberfest
Terjira
Terjira is a very interactive and easy to use CLI tool for Jira.
Stars: ✭ 713 (-21.73%)
Mutual labels:  cli, hacktoberfest
Archisteamfarm
C# application with primary purpose of idling Steam cards from multiple accounts simultaneously.
Stars: ✭ 7,219 (+692.43%)
Mutual labels:  cli, hacktoberfest
Clifx
Declarative framework for building command line interfaces
Stars: ✭ 900 (-1.21%)
Mutual labels:  cli, hacktoberfest

git + = gitlab Build Status Go Report Card codecov Join the chat at https://gitter.im/labcli CC0 License Donate

Lab wraps Git, making it simple to clone, fork, and interact with repositories on GitLab, including seamless workflows for creating merge requests, issues and snippets.

$ lab clone gitlab-com/infrastructure

# expands to:
$ git clone [email protected]:gitlab-com/infrastructure

Inspiration

The hub tool made my life significantly easier and still does! lab is heavily inspired by hub and attempts to provide a similar feel.

Installation

Dependencies

  • git

Homebrew

brew install lab

NixOS

nix-env -f '<nixpkgs>' -iA gitAndTools.lab

Scoop

scoop bucket add zaquestion https://github.com/zaquestion/scoop-bucket.git
scoop install lab

Alpine

apk add lab

Bash

Installs lab into /usr/local/bin/

curl -s https://raw.githubusercontent.com/zaquestion/lab/master/install.sh | sudo bash

NOTE: Please take care when executing scripts in this fashion. Make sure you trust the developer providing the script and consider peeking at the install script itself (ours is pretty simple ;)

PreBuilt Binaries

Head to the releases page and download your preferred release

Source

Required

git clone [email protected]:zaquestion/lab
cd lab
go install -ldflags "-X \"main.version=$(git  rev-parse --short=10 HEAD)\"" .

or

make install

Tests

See the contribution guide.

Configuration

lab needs your GitLab information in order to interact with to your GitLab instance. There are several ways to provide this information to lab:

  1. environment variables: LAB_CORE_HOST, LAB_CORE_TOKEN;
    • If these variables are set, the config files will not be updated.
  2. environment variables: CI_PROJECT_URL, CI_JOB_TOKEN;
    • Note: these are meant for when lab is running within a GitLab CI pipeline
    • If these variables are set, the config files will not be updated.
  3. local configuration file in Tom's Obvious, Minimal Language (TOML): ./lab.toml;
    • No other config files will be used as overrides if a local configuration file is specified
  4. user-specific configuration file in TOML: ~/.config/lab/lab.toml.
  5. work-tree configuration file in TOML: .git/lab/lab.toml. The values in this file will override any values set in the user-specific configuration file.

If no suitable config values are found, lab will prompt for your GitLab information and save it into ~/.config/lab/lab.toml. For example:

$ lab
Enter default GitLab host (default: https://gitlab.com):
Enter default GitLab token:

Command-specific flags can be set in the config files.

[mr_show]
  comments = true # sets --comments on 'mr show' commands

Completions

lab provides completions for Bash, Elvish, Fish, Powershell, Xonsh and Zsh. Scripts can be directly sourced (though using pre-generated versions is recommended to avoid shell startup delay):

# bash (~/.bashrc)
source <(lab completion)

# elvish (~/.elvish/rc.elv)
eval (lab completion|slurp)

# fish (~/.config/fish/config.fish)
lab completion | source

# powershell (~/.config/powershell/Microsoft.PowerShell_profile.ps1)
Set-PSReadlineKeyHandler -Key Tab -Function MenuComplete
lab completion | Out-String | Invoke-Expression

# xonsh (~/.config/xonsh/rc.xsh)
COMPLETIONS_CONFIRM=True
exec($(lab completion xonsh))

# zsh (~/.zshrc)
source <(lab completion zsh)

Aliasing

lab feels best when aliased as git, however it's perfectly reasonable to use as a standalone tool. In your .bashrc or .bash_profile:

alias git=lab

NOTE: before aliasing, if you use git in your shell prompt command, be sure lab works by it's own first:

What about GLab?

Both glab and lab are open-source tools with the same goal of bringing GitLab to your command line and simplifying the developer workflow. In many ways lab is to hub, what glab is to gh.

lab aims to feel familiar to a git user and leverages git to power many of it's commands. glab will feel more familiar to gh users and in turn is more interactive and likely more beginner friendly for that reason.

$ lab
Enter GitLab host (default: https://gitlab.com):

CC0
To the extent possible under law, Zaq? Wiedmann has waived all copyright and related or neighboring rights to Lab. This work is published from: United States.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].