Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/umutphp/awesome-cli

A simple command line tool to give you a fancy command line interface to dive into Awesome lists.
https://github.com/umutphp/awesome-cli

List: awesome-cli

awesome awesome-go awesome-list hacktoberfest

Last synced: 26 days ago
JSON representation

A simple command line tool to give you a fancy command line interface to dive into Awesome lists.

Awesome Lists containing this project

README

        

# Awesome CLI

Awesome CLI is a simple command line tool to give you a fancy command line interface to dive into [Awesome](https://github.com/sindresorhus/awesome) lists.

![AWESOME CLI](./assets/images/awesome-cli-banner.png)

![Build](https://github.com/umutphp/awesome-cli/workflows/Test%20&%20Build/badge.svg) ![WOSPM Checker](https://github.com/umutphp/awesome-cli/workflows/WOSPM%20Checker/badge.svg)

---

- [Introduction](#introduction)
- [How To Use](#how-to-use)
- [Interactive Mode](#interactive-mode)
- [Random Mode](#random-mode)
- [Surprise Mode](#surprise-mode)
- [How To Install](#how-to-install)
- [Basic](#basic)
- [Build as binary](#build-as-binary)
- [Download and use official binary](#download-and-use-official-binary)
- [CLI Options](#cli-options)
- [Sample Execution](#sample-execution)
- [How To Contribute](#how-to-contribute)

---

## Introduction

The CLI starts with the root repository [sindresorhus/awesome](https://github.com/sindresorhus/awesome) and guides to to the final repo according to your choices. It fetches Readme files of the repositories and parses them to create the select lists. So, the CLI needs a working network :). It also uses file caches to cache the Readme file contents. You can find the cache folder with name ".awesomecache" under your home folder.

![Avesome-cli Sample](./assets/images/awesome-cli.gif)

## How To Use

### Interactive Mode

In order to use awesome-cli interactively, just execute it without giving any option. You will walk through the categories and repositories by using "↓ ↑ → ←" buttons. Your choices will be saved to use them in [surprise mode](#surprise-mode).

```bash
> $ awesome-cli
Use the arrow keys to navigate: ↓ ↑ → ←
? Select from 'Awesome' list:
▸ Platforms
Programming Languages
Front-End Development
Back-End Development
Computer Science
Big Data
Theory
Books
Editors
↓ Gaming
```

### Random Mode

You can use "random" option to go a random awesome repository under a random category.

```bash
> $ awesome-cli random
aweome-cli Version 0.3.0
✔ Programming Languages
✔ Eta
✔ Community
✔ IRC
https://kiwiirc.com/client/irc.freenode.net/#eta-lang
```

### Surprise Mode

When you use "surprise" option, awesome-cli will use your previous selections in [interactive mode](#interactive-mode) to find a random repository for you.

```bash
> $ awesome-cli surprise
aweome-cli Version 0.3.0
✔ Back-End Development
✔ Docker
✔ Videos
✔ From Local Docker Development to Production Deployments
https://www.youtube.com/watch?v=7CZFpHUPqXw
```

## How To Install

### Basic

Follow the steps;

```bash
> $ git clone [email protected]:umutphp/awesome-cli.git
> $ cd awesome-cli
> $ go run main.go
```

### Build as binary

Follow the steps;

```bash
> $ git clone [email protected]:umutphp/awesome-cli.git
> $ cd awesome-cli
> $ sudo go build -o /usr/local/bin/awesome-cli .
> $ awesome-cli
```

### Download and use official binary

Visit the [latest release](https://github.com/umutphp/awesome-cli/releases/latest) page, download the zip correspondingly and extract the zip. You can used the binary in the zip file.

```bash
> $ cp /path/to/zip/extract/awesome-cli /usr/local/bin/awesome-cli
> $ awesome-cli
```

### CLI Options

The CLI works in interactive mode without any given option. But, It can be also called some options described below;

```bash
> $ awesome-cli help
awesome-cli Version 0.6.0

Options of awesome-cli:
help To print this screen.
random To go to a random awesome content.
surprise To go to a surprise awesome content according to your previos choices.
profile To see your previous choices.
reset To clean your choices to start from the beginning.
update Update awesome-cli to the latest version.
```

### Sample Execution

```bash
> $ awesome-cli random
aweome-cli Version 0.2.0
✔ Platforms
✔ Linux
✔ Applications
✔ Gedit
https://wiki.gnome.org/Apps/Gedit
```

## How To Contribute
Please follow the instructions in [CONTRIBUTING](CONTRIBUTING.md) file and beware of [CODE_OF_CONDUCT](CODE_OF_CONDUCT).