Display a random Shiba from your terminal whenever you feel the need to. Because why not?

Overview

shiba
Shiba CLI

Command-line interface (CLI) to display a random Shiba Inu whenever needed, by just running shiba on your terminal.

SoMuch SuchCool MuchWow

How To UseHow Does It Work?Why?Build ManuallyTODOs

How to use

Note: Pre-compiled binaries will be available soon. Currently, you need to compile the program on your machine. Fortunately, Rust makes this process extremely easy.

Install Rust

If you don't have Rust installed on your system, you will need to install it.

Linux, macOS, and Unix-based systems
  • Run the following in your terminal
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  • Follow the on-screen instructions
Windows
  • Download the installer from here
  • Run the installer and follow the on-screen instructions

Install Shiba

cargo install --git https://github.com/giacomo-b/shiba.git

You should be able to just run shiba from anywhere on your system, and that should present you with a new picture every time.

How does it work?

shiba CLI is based on shibe.online, which provides a free, public API to get random shibes.

Why?

Why not?

Build manually

TL;DR: compile with Rust and move the binary/executable to a folder in your path.

If you don't have Rust on your system, follow the instructions above to install it.

Build the program

Get the code

You can clone the repo using SSH by running:

git clone [email protected]:giacomo-b/shiba.git
Alternative methods to get the code

You may also:

Compile with Rust

cd shiba && cargo build --release

Run

To run the code from the shiba folder, run:

cargo run --release

or just launch the binary generated in shiba/target/release.

If you want to be able to run shiba from any location on your system, you will have to move the generated binary to the appropriate folder depending on your system:

Linux and most Unix-based systems
  • Run the following from within the shiba folder
sudo mv ./target/release/shiba /bin/
  • Restart terminal
macOS
  • Run the following from within the shiba folder
sudo mv ./target/release/shiba /usr/local/bin/
  • Restart terminal
Windows
  • Place shiba.exe (found in shiba/target/release/) in a directory of your choice (such as C:\your\path\here\)
  • Run the following:
set PATH=%PATH%;C:\your\path\here\
  • Restart terminal

Now you should be able to just run shiba from anywhere on your system, and that should present you with a new picture every time.

TODOs

  • Add CI workflows
    • Perform compilation checks
    • Automatically generate builds
  • Reduce binary size (?)
  • Add command-line options
    • shibe.online's API accepts count, maybe more than one Shiba could be display on demand?
You might also like...
The library for those who need a little extra from their windows. ™

WinEx The library for those who need a little extra from their windows. ™ WinEx - Short for Window Extended - is a library whose goal is to implement

A little application that makes it possible to display mpv's subs anywhere you want.

Mpv Subs Popout A little application that makes it possible to display mpv's subs anywhere you want. Why? You can now watch shows in foreign languages

Not the fastest terminal colors library. Don't even ask about size.
Not the fastest terminal colors library. Don't even ask about size.

TROLOLORS Not the fastest terminal colors library. Don't even ask about size. Why? Don't even try to use it. But maybe you need to say to your boss th

A todo list from terminal. Compatible with Linux and Windows, not tested on macOS

todocli A todo list from terminal. Compatible with Linux and Windows, not tested on macOS (not planing on support tho). Note: Currently being rewritte

ISG lets you use YouTube as cloud storage for ANY files, not just video
ISG lets you use YouTube as cloud storage for ANY files, not just video

I was working on this instead of my finals, hope you appreciate it. I'll add all relevant executables when I can Infinite-Storage-Glitch AKA ISG (writ

on-screen keyboard display for your coding streams.

⌨ OSKD (On-screen key display) OSKD is an on-screen keyboard display that can be used during streams. It provides an intuitive and easy-to-use interfa

A monitor (service) for your monitor (display). Intercepts window behaviour when monitor configuration changes.

Mon-Mon A monitor (service) for your monitor (display). Listens for changes to display configuration (e.g. plugging in an additional screen) and allow

Display near-real-time satellite imagery on your desktop.
Display near-real-time satellite imagery on your desktop.

Satpaper Display near-real-time satellite imagery on your desktop. (Click to see full-size version) Satpaper generates live wallpapers for your deskto

ask.sh: AI terminal assistant that can read and write your terminal directly!
ask.sh: AI terminal assistant that can read and write your terminal directly!

ask.sh: AI terminal assistant that read from & write to your terminal ask.sh is an AI terminal assistant based on OpenAI APIs such as GPT-3.5/4! What'

Owner
Engineering, Control, Robotics, Inertial Sensors, C++, Python, Rust, Linux
null
Firefox used to have this feature a while back (from Firefox 11 to 46) and it is so good, that I feel it needs revival.

3D WebPage Inspector By: Seanpm2001, Et; Al. Top README.md Read this article in a different language Sorted by: A-Z Sorting options unavailable ( af A

Sean P. Myrick V19.1.7.2 3 Nov 10, 2022
Rust code for T-Display S3 AMOLED, ESP32-S3 board with RM67162 AMOLED display

T-Display S3 AMOLED What is it? This is a Rust BSP for the Lilygo's T-Display S3 AMOLED board. RM67162 AMOLED driver in QSPI mode RM67162 AMOLED drive

BH1XUW 4 Jun 28, 2023
Rust crate that allows you to display status & progress information in a terminal

status-line This crate allows you to display status & progress information in a terminal This crate handles the problem of displaying a small amount o

Piotr Kołaczkowski 20 Dec 27, 2022
Wipe your terminal with a random animation.

Wipe Wipe your terminal with a smooth animation. This is the perfect program for you, if you like clear but want to add an unnecessary animation. Down

Rico Riedel 3 Nov 23, 2022
Need a powerful and simple library to work with arithmetic progressions in Rust? You should definitively try out ariprog!

Ariprog I had a test (03/2024) on arithmetic progressions, so I decided to create a library to study math. Taking advantage of the fact that I was stu

Kauê Fraga Rodrigues 4 Mar 19, 2024
Display candlestick chart in your terminal.

cli-candlestick-chart This module allows you to display candle charts directly in your terminal. I did this project mainly to learn Rust, so the code

Julien 178 Dec 18, 2022
zigfi is an open-source stocks, commodities and cryptocurrencies price monitoring CLI app, written fully in Rust, where you can organize assets you're watching easily into watchlists for easy access on your terminal.

zigfi zigfi is an open-source stocks, commodities and cryptocurrencies price monitoring CLI app, written fully in Rust, where you can organize assets

Aldrin Zigmund Cortez Velasco 18 Oct 24, 2022
A little program written in Rust that prints random PNG images to the terminal in text grabbed from an image repo.

Cermic A little program written in Rust that prints random PNG images to the terminal in text grabbed from an image repo. NOTE: As of right now, Cermi

Jackson Novak 7 Oct 1, 2022
Display financial Data on The Terminal

tuinance Tuinance is a performant TUI program to display financial data, written completely in Rust. All data is gathered through the Yahoo Finance AP

Juho 10 May 31, 2022
A terminal clock that uses 7-segment display characters

Seven-segment clock (7clock) 7clock.3.mp4 This is a clock for terminals that uses the Unicode seven-segment display characters added in Unicode 13.0.

Wesley Moore 4 Nov 11, 2022