Shelby is a fast ⚡️ , lightweight ☁️ , minimal✨, shell prompt written in Go.

Build Status Go Report Card

Shelby is a fast ⚡️ ,lightweight ☁️ ,minimal, shell prompt written in Pure Go.


Installation

Follow the steps below(Linux and macOS), and Post Installation Instructions

  • Run
$ sh -c "$(curl -sL https://git.io/ishelby)"	

OR For macOS Users, install via Homebrew

brew install athul/tap/shelby

OR

  • Download the binary from the WorkFlow Artifacts(Only for Linux)
  • You might wanto to make the binary executable, run chmod +x <binary_name>
  • Move the Binary to /usr/local/bin/

Build From Source

  • Clone the Repo
  • Run go get -v
  • Run go build
  • Move the Binary to ~/.local/bin/shelby

Post Installation Instructions

You must have to add the below code to either the .bashrc or .zshrc or .profile file inorder to Shelby to fully work.

The prompt symbol is and changes to red if the previous command exited with an error.

Bash

Add this to your .bashrc file:

eval "$(shelby init bash)"

Zsh

Add this to your .zshrc file:

eval "$(shelby init zsh)"

Extra Bits

  • Displays the Current Git Branch
  • shows if any staged files are present
  • [+] shows if you've got Untracked Files
    • [2+] shows if you've got 2 untracked files
  • [!] shows if you've got Unstaged Files
    • [3!] shows if you've got 3 unstaged files
  • if your HEAD is ahead
  • if your HEAD is behind
  • if your HEAD is diverged
  • Dispalys any VirtualENVs you're working in
  • Displays Username and Hostname of the machine while in SSH
  • Small Size(~=2MB)

Inspired From

Code reused from ❤️

Support My work

Donations

Donation: UPI ID: athul8720@oksbi

Logo Made by Sreeram aka @fillerink

The Installation Script can be found at https://github.com/athul/autom

Comments
  • add prebuild binary for raspberry 3B+

    add prebuild binary for raspberry 3B+

    Hi there,

    I want you build your prompt on my parpberry 3B+, but I don't get it, it's my first attempt to build a go project.

    ~/source/shelby [master|✔] $ sh -c "$(curl -sL https://git.io/ishelby)" athul/shelby crit platform linux/armv7 is not supported. Make sure this script is up-to-date and file request at https://github.com/athul/shelby/issues/new

    go get -v error: unknown switch `v'

    go build error: Pfadspezifikation 'build' stimmt mit keinen git-bekannten Dateien überein.

    Since the raspi is a very small device a prebuild binary where really great. :-)

    Just a question, is this compalibe with tmux ?

    thanks and regads Micha

  • Easier setup

    Easier setup

    Like starship, perhaps simpler lines to add in bashrc :

    eval `$(starship init bash)`
    

    Also, in README it would be much more clear if the Usage instructions are included right after install. It's confusing for a newbie. Enjoy ? Can't enjoy unless it's made the default shell.

  • Terminal Gif

    Terminal Gif

    Soory For Missusing the issues panel. But if it please , can u tell me which application/webpage you used to create that beautifull terminal gif in readme.md

  • Brew update depracted warning

    Brew update depracted warning

    System: M1 Mac 2020 OS: Big Sur 11.5.2

    Issue: While running brew upgrade or brew install results in the following error

    Warning: Calling bottle :unneeded is deprecated! There is no replacement.
    Please report this issue to the athul/tap tap (not Homebrew/brew or Homebrew/core):
      /usr/local/Homebrew/Library/Taps/athul/homebrew-tap/Formula/shelby.rb:6
    
    
  • remove hardcoded executable path

    remove hardcoded executable path

    The hard-coded executable path breaks the prompt if the executable is in any directory other than /usr/local/bin.

    In this pull request I have changed it to just shelby since if the executable is already in $PATH, then there is no need to specify the complete path.

  • could you add a space after the prompt symbol?

    could you add a space after the prompt symbol?

    Maybe this is not an issue outside of z-shell on Void Linux, but for me there is a lack of a space after the  symbol making the command annoyingly right up against the symbol. If you could add a space (or tell me what I need to append one using an environmental variable) I would appreciate it immensely.

The extremely customizable and themeable shell prompt.

kitch-prompt Kitch-prompt is a cross-platform tool for displaying a shell prompt, which can be extensively customized both in terms of what is shown,

Dec 28, 2022
A simple CLI based rock-paper-scissors game created in GO with interactive shell prompt.

rock-paper-scissors A simple CLI (Command Line Interface) based rock-paper-scissors game with interactive shell prompt. Language Download Grab a binar

Oct 9, 2022
painless task queue manager for shell commands with an intuitive cli interface (execute shell commands in distributed cloud-native queue manager).

EXEQ DOCS STILL IN PROGRESS. Execute shell commands in queues via cli or http interface. Features Simple intuitive tiny cli app. Modular queue backend

Dec 14, 2022
ap 是一个 shell 工具,可以让其它 shell 命令的输出能够自动进入交互翻页模式

ap -- auto-pager ap 是一个 shell 工具,可以让其它 shell 命令的输出能够自动进入交互翻页模式。 ap 由两部分组成,一个 Go 语言编写的二进制程序,负责捕获命令的输出并支持翻页, 和一组 shell 脚本,负责为用户指定的命令清单创建与之同名的 wrapper。 经

Apr 12, 2022
Strumt is a library to create prompt chain
Strumt is a library to create prompt chain

Strumt Strumt is a library to create prompt chain. It provides multiline prompt, input validation, retry on error, ability to create typesafe prompt,

Sep 26, 2022
Building powerful interactive prompts in Go, inspired by python-prompt-toolkit.
Building powerful interactive prompts in Go, inspired by python-prompt-toolkit.

go-prompt A library for building powerful interactive prompts inspired by python-prompt-toolkit, making it easier to build cross-platform command line

Jan 3, 2023
Interactive prompt for command-line applications
Interactive prompt for command-line applications

promptui Interactive prompt for command-line applications. We built Promptui because we wanted to make it easy and fun to explore cloud services with

Jan 8, 2023
Interactive prompt to set and push a semver tag
Interactive prompt to set and push a semver tag

cutver For when you know what version to tag, and you want to cut a release in the annotated tag format. Installation go install github.com/roryq/cutv

Nov 15, 2022
Pure Go command line prompt with history, kill-ring, and tab completion

Prompt Prompt is a command line prompt editor with history, kill-ring, and tab completion. It was inspired by linenoise and derivatives which eschew u

Nov 20, 2021
A command line tool to prompt for a value to be included in another command line.

readval is a command line tool which is designed for one specific purpose—to prompt for a value to be included in another command line. readval prints

Dec 22, 2021
A multiple reverse shell sessions/clients manager via terminal written in go

A multiple reverse shell sessions/clients manager via terminal written in go

Nov 9, 2022
Show Languages In Code. A fast and lightweight CLI to generate stats on the languages inside your project
Show Languages In Code. A fast and lightweight CLI to generate stats on the languages inside your project

slic Show Languages In Code. Usage Run it with an -h flag to list all commands. -d flag can be used to specify the directory of search -i flag can be

Dec 25, 2021
Yaf - Yet another system fetch that is minimal and customizable
Yaf - Yet another system fetch that is minimal and customizable

Yaf - Yet Another Fetch [Support] [Installation] [Usage] Brief Yet Another Fetch

Oct 11, 2022
A minimal CLI tool to enable (or disable) dependabot for all your repositories

Enable Dependabot A minimal CLI tool to enable (or disable) dependabot for all your repositories. Installation Install via Go go get -v github.com/RiR

Feb 10, 2022
🧑‍💻📊 Show off your most used shell commands
🧑‍💻📊 Show off your most used shell commands

tsukae ??‍?? ?? Tsukae, 使え - means use in Japanese (so it refers to commands that you use) Built on top of termui and cobra Big shoutout to jokerj40 f

Dec 17, 2022
A goroutine monitor to keep track of active routines from within your favorite shell.
A goroutine monitor to keep track of active routines from within your favorite shell.

roumon A goroutine monitor to keep track of active routines from within your favorite shell. Features Track live state of all active goroutines Termin

Jan 3, 2023
🎀 a nice lil shell for lua people made with go and lua

Hilbish ?? a nice lil shell for lua people made with go and lua It is currently in a mostly beta state but is very much usable (I'm using it right now

Jan 3, 2023
Tool for shell commands execution, visualization and alerting. Configured with a simple YAML file.
Tool for shell commands execution, visualization and alerting. Configured with a simple YAML file.

Sampler. Visualization for any shell command. Sampler is a tool for shell commands execution, visualization and alerting. Configured with a simple YAM

Dec 28, 2022
ReverseSSH - a statically-linked ssh server with reverse shell functionality for CTFs and such
 ReverseSSH - a statically-linked ssh server with reverse shell functionality for CTFs and such

ReverseSSH A statically-linked ssh server with a reverse connection feature for simple yet powerful remote access. Most useful during HackTheBox chall

Jan 5, 2023