Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tomholford/gonetia
generate a list of planets under an Urbit star
https://github.com/tomholford/gonetia
cli golang urbit
Last synced: 2 months ago
JSON representation
generate a list of planets under an Urbit star
- Host: GitHub
- URL: https://github.com/tomholford/gonetia
- Owner: tomholford
- Created: 2022-03-17T15:22:56.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2022-09-30T17:52:16.000Z (about 2 years ago)
- Last Synced: 2024-08-03T01:13:36.669Z (5 months ago)
- Topics: cli, golang, urbit
- Language: Go
- Homepage:
- Size: 1.11 MB
- Stars: 13
- Watchers: 2
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-urbit - Gonetia
README
# gonetia
Gonetia is a simple command-line utility for generating a list of planet names
issuable from an Urbit star. It is inspired by
[Venetia](https://github.com/tylershuster/venetia), but written in Go instead
of JS.## Preview
https://user-images.githubusercontent.com/16504501/190836787-212afe87-b2f9-4352-a552-0cadff6b1338.mp4
## Setup
### Prerequisites
This project requires Go 1.18+. One option is to use [gvm](https://github.com/moovweb/gvm). Alternatively, on MacOS it is simple to install Go with [homebrew](https://brew.sh/).
Once `brew` is installed, install Go like so:
```
brew install go
```
### Instructions1. Clone this repo
2. `git submodule update --init --recursive`
3. `go build`## Usage
Enter a star in patp format (e.g., `~marzod`) either as a command line argument, or in response to the interactive prompt.
### Command Line Argument
```
./gonetia "~marzod"
```### Interactive Mode
```sh
./gonetia# Enter a star in patp format
>Which star? (e.g., ~marzod):~marzod
```### Output
A [planet](https://developers.urbit.org/reference/glossary/planet) identity is a four-syllable name composed of two six-character segments, such as `~sampel-palnet`.
The script uses [urbit-wordlists](https://github.com/ashelkovnykov/urbit-wordlists) and various strategies to generate output:
- *AnyEnglish*: at least one segment matches `wordlists/name/english-single` or `wordlists/name/english-double`.
- *OnlyEnglish*: both segments match `wordlists/name/english-single` or `wordlists/name/english-double`.
- *AnyApprox*: at least one segment matches `wordlists/name/approx-single` or `wordlists/name/approx-double`.
- *OnlyApprox*: both segments match any of the wordlists.
- *Doubles*: both segments are identical (e.g., ~datnut-datnut)Output for each is written to `./output/[star]/[strategy]_planets.txt`, for 5 total files per run.
## Special Thanks
- Thanks to @tylershuster for creating [Venetia](https://github.com/tylershuster/venetia)
- Thanks to @deelawn for creating [urbit-gob](https://github.com/deelawn/urbit-gob)
- Thanks to @ashelkovnykov for creating [urbit-wordlists](https://github.com/ashelkovnykov/urbit-wordlists)
- Thanks to @michelleylai for feature ideas, feedback, testing, and proofreading docs