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

https://github.com/aocoronel/eureka-sh

💡 Fork of eureka written in shell, and with additional features
https://github.com/aocoronel/eureka-sh

bash cli commandline idea ideas productivity shell terminal

Last synced: 3 months ago
JSON representation

💡 Fork of eureka written in shell, and with additional features

Awesome Lists containing this project

README

          

# Quickly store your ideas

`eureka` is serves the same functionality as [eureka](https://github.com/simeg/eureka) written by Simon Egersand. `eureka` is written in shell, and with additional features.

It's a CLI tool that tries to make the experience of jotting ideas down as friction-less as possible right from the terminal. It mainly integrates with git, committing and pushing ideas to a remote git repository.

## Requirements

- Git is required in order to use `eureka`
- A remote git repository (optional)

## Features

- Use an editor to add ideas
- Preview your ideas using a pager
- Git

## Extra Features

- Extends git tools from `add`, `commit` and `push` to `fetch` and `pull`
- Add ideas without an editor
- Not limited to README.md
- Creates the README.md if not existing
- Local only
- Clone remote repository

## Usage

The first time you use `eureka` it's required to use the `-s` option to setup the configuration. The configuration file lives at `$HOME/.local/share/eureka.conf` by default.
After setting the configuration. At least one argument is required in order to use `eureka`.

You may combine arguments with the `-p` for managing a private repository (do not pull changes).

```
Usage: $0 [-p] [-t] [filename] [option]
Available options:
-a, --add - Add new ideas without an editor
-c, --config - View config file
-e, --editor - Edit ideas using EDITOR (default:vi)
-h, --help - Display this message and exits
-s, --setup - Set configuration up
-p, --private [option] - Private repository modal
-t, --target [filename] [option] - Edit a specified file
-v, --view - Preview ideas using PAGER (default:less)
--fetch - Fetch eureka repo
--pull - Pull eureka repo
```

**Examples:**

1. `eureka -p -s` to set up the private repository configuration.
2. `eureka -p -t [filename] -e` to create or edit a file in the private repository. The file name is optional, as it will display the available files and request you enter one.
3. `eureka -a` to quickly add a new idea to your remote repository without an editor.

**Important:**

- Private repositories do not pull changes
- The arguments have the following priority: `-p`, `-t`, others
- If you don't want to specific a filename when using `target`, you will need to insert "." (dot). Example: `-t . -a`
- To use `-a`, ensure the desired file has at least 2 lines, or it will **fail**. It's only an issue, when a new file is created using `target` and the `editor`, leaving the file with one line.

## Installation

Make sure to add the script to your `$PATH` for convenience.

```
git clone https://github.com/aocoronel/eureka-sh
chmod +x eureka-sh/src/eureka
mv eureka-sh/src/eureka ~/.local/bin
```

**Tip:** Set an alias for `eureka`

## Notes

This script has been only tested in a Linux Machine.

## License

This repository is licensed under the MIT License, a very permissive license that allows you to use, modify, copy, distribute and more.