Skip to content

Commit

Permalink
Add rationale
Browse files Browse the repository at this point in the history
  • Loading branch information
marcosnils committed Jun 4, 2020
1 parent 1ccc794 commit ef20538
Showing 1 changed file with 22 additions and 2 deletions.
24 changes: 22 additions & 2 deletions README.md
@@ -1,12 +1,32 @@
# bin
Manages bin files downloaded from different sources

## Rationale

`bin` started as an idea given the popularity of single binary releases due to the surge of languages like
Go, Rust, Deno, etc whih can easily produce dynamically and statically compiled binarines.

I found myself downloading binaries (or tarballs) directly from VCS (Github mostly) and then it was hard
to keep control and update such dependencies whenever a new version was released. So, with the objective
to solve that problem and also looking for something that will allow me to get the latest releases, I created `bin`.
In addition to that, I was also looking for something that doesn't require `sudo` or `root` privileges to install
these binaries as downloading, making them executable and storing it somewhere in your PATH would be sufficient.

After I finished the first MVP, a friend pointed out that [brew](brew.sh) was now supported in linux which almost
made me abandon the project. After checking out brew (never been an osx user), I found it a bit bloated and seems
to be doing way more than what I'm actually needing. So, I've decided to continue `bin` and hopefully add more features
that could result useful to somewhere else.

If you find `bin` helpful and you have any ideas or suggestions, please create an issue here or send a PR and I'll
be more than happy to brainstrom about possibilities.


## Usage

```
bin install <repo> [PATH] # Downloads the latest binary and makes it executable
bin update [BIN]... # Scans binaries and prompts for update
bin install <repo> [path] # Downloads the latest binary and makes it executable
bin update [bin]... # Scans binaries and prompts for update
bin ls # List current binaries and it's versions
bin remove <bin>... # Deletes one or more binaries
bin purge # Removes from the DB missing binaries
```

0 comments on commit ef20538

Please sign in to comment.