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

Overview

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: [email protected]

Logo Made by Sreeram aka @fillerink

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

Issues
  • 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

    opened by Micha-Btz 6
  • 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.

    documentation enhancement feature-request 
    opened by subins2000 4
  • 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

    question triaged 
    opened by alenpaul2001 3
  • 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
    
    
    opened by mohitrajane 2
  • 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.

    opened by adtya 1
  • 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.

    opened by Thomashighbaugh 2
Releases(v1.0.3)
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,

Jason Walton 1 Feb 3, 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

Saif Shahriar 0 Feb 1, 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

Mohammed Al Ashaal 12 Jan 29, 2022
ap 是一个 shell 工具,可以让其它 shell 命令的输出能够自动进入交互翻页模式

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

flw 12 Apr 12, 2022
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,

Anthony HAMON 46 May 7, 2022
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

Masashi Shibata 4.5k May 20, 2022
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

Manifold 4.9k May 15, 2022
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

Rory Quinn 7 Oct 11, 2021
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

Peter Mattis 1 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

Venky 0 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

Krisna Pranav 12 Feb 23, 2022
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

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

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

Deepjyoti Barman 24 Apr 14, 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

Rick Rackow 1 Feb 10, 2022
🧑‍💻📊 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

Ilya Revenko 428 May 9, 2022
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

Armin Becher 78 May 13, 2022
🎀 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

Hilbis Development 185 May 10, 2022
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

Alexander Lukyanchikov 10.2k May 15, 2022
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

null 534 May 11, 2022