{"id":24122179,"url":"https://github.com/tlinden/gfn","last_synced_at":"2025-08-11T00:18:25.048Z","repository":{"id":228625693,"uuid":"774352135","full_name":"TLINDEN/gfn","owner":"TLINDEN","description":"Generate fantasy names for games and stories","archived":false,"fork":false,"pushed_at":"2025-04-01T07:46:41.000Z","size":3819,"stargazers_count":1,"open_issues_count":2,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-01T17:09:28.031Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TLINDEN.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-03-19T11:58:42.000Z","updated_at":"2025-02-05T16:55:34.000Z","dependencies_parsed_at":"2024-06-21T07:31:22.297Z","dependency_job_id":"80337d4e-dee1-4367-914b-48f6497fe2b8","html_url":"https://github.com/TLINDEN/gfn","commit_stats":null,"previous_names":["tlinden/gfn"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/TLINDEN/gfn","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TLINDEN%2Fgfn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TLINDEN%2Fgfn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TLINDEN%2Fgfn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TLINDEN%2Fgfn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TLINDEN","download_url":"https://codeload.github.com/TLINDEN/gfn/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TLINDEN%2Fgfn/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269810367,"owners_count":24478753,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-10T02:00:08.965Z","response_time":71,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-11T11:38:47.470Z","updated_at":"2025-08-11T00:18:24.995Z","avatar_url":"https://github.com/TLINDEN.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gfn - generate fantasy names for games and stories on the commandline\n\n![Gfn Logo](https://github.com/TLINDEN/gfn/blob/main/.github/assets/logo.png)\n\n[![Actions](https://github.com/tlinden/gfn/actions/workflows/ci.yaml/badge.svg)](https://github.com/tlinden/gfn/actions)\n[![License](https://img.shields.io/badge/license-GPL-blue.svg)](https://github.com/tlinden/gfn/blob/master/LICENSE)\n[![Go Report Card](https://goreportcard.com/badge/github.com/tlinden/gfn)](https://goreportcard.com/report/github.com/tlinden/gfn) \n\nGenerate fantasy names for games and stories. It uses the fine\n[fantasyname module](https://github.com/s0rg/fantasyname) by\n[s0rg](https://github.com/s0rg/), which implements the code created by\nthe [rinkworks fantasy name\ngenerator](http://rinkworks.com/namegen/). The code itself is\n[outlined here](http://rinkworks.com/namegen/instr.shtml), or take a\nquick look at the [reference\nguide](http://rinkworks.com/namegen/reference.shtml).\n\nIn case the site vanishes some day, a copy of those documents is\ncontained here in the repository.\n\n## Installation\n\nThe tool does not have any dependencies.  Just download the binary for\nyour platform from the releases page and you're good to go.\n\n### Installation using a pre-compiled binary\n\nGo to the [latest release page](https://github.com/TLINDEN/gfn/releases/latest)\nand look for your OS and platform. There are two options to install the binary:\n\nDirectly     download     the     binary    for     your     platform,\ne.g. `gfn-linux-amd64-0.0.2`, rename it to `gfn` (or whatever\nyou like more!)  and put it into  your bin dir (e.g. `$HOME/bin` or as\nroot to `/usr/local/bin`).\n\nBe sure  to verify  the signature  of the binary  file. For  this also\ndownload the matching `gfn-linux-amd64-0.0.2.sha256` file and:\n\n```shell\ncat gfn-linux-amd64-0.0.2.sha25 \u0026\u0026 sha256sum gfn-linux-amd64-0.0.2\n```\nYou should see the same SHA256 hash.\n\nYou  may  also download  a  binary  tarball  for your  platform,  e.g.\n`gfn-linux-amd64-0.0.2.tar.gz`,  unpack and  install it.  GNU Make  is\nrequired for this:\n   \n```shell\ntar xvfz gfn-linux-amd64-0.0.2.tar.gz\ncd gfn-linux-amd64-0.0.2\nsudo make install\n```\n\n### Installation from source\n\nYou will need the Golang toolchain  in order to build from source. GNU\nMake will also help but is not strictly neccessary.\n\nIf you want to compile the tool yourself, use `git clone` to clone the\nrepository.   Then   execute   `go    mod   tidy`   to   install   all\ndependencies. Then  just enter `go  build` or -  if you have  GNU Make\ninstalled - `make`.\n\nTo install after building either copy the binary or execute `sudo make\ninstall`. \n\n# Usage\n\nThere are a bunch of pre compiled fantasy name codes builtin, you can\nget a list with: \n\n```shell\n% gfn -l\n```\n\nTo use one of them and limit the number of\nwords generated:\n\n```shell\n% gfn JapaneseNamesDiverse -n 24\niyonen     isuyaro    iwamo      remi       kikune     chikeyu    iwamun\nruri       orasenin   wamo       oramamo    ironisuru  hokoku     kumun\newoyani    imanoma    enenoya    sawo       enunumiken wayumu     itamachi\n```\n\nYou can also write a code yourself:\n\n```shell\ngfn '!sVm' -n 25\nAngeeschnookum Arysmooch      Oraepookie     Rothaudoodle   Hinaypoochie\nKeloosnookum   Esteeschnookum Ageausmoosh    Erucuddle      Tonuilover\nGhaeaschnoogle Seraylover     Dynysnoogle    Chaibunker     Poloebaby\nLeroepoochie   Tinowuggy      Baniaschmoopie Banoesnoogy    Taseamoopie\nEntheysmooch   Ustamooglie    Taneidoodle    Hatiesnoogy    Belacuddle \n```\n\nA short outline of the code will be printed if you add the `-h`\nparameter:\n```shell\nThis is gfn, a fantasy name generator cli.\n\nUsage: gfn [-vld] [-c \u003cconfig file\u003e] [-n \u003cnumber of names\u003e] \u003cname|code\u003e\n\nOptions:\n-c --config   Config file to use (optional)\n-n --number   Number of names to generate\n-l --list     List pre-compiled shortcuts\n-d --debug    Show debugging output\n-v --version  Show program version\n\npattern  syntax The  letters s,  v, V,  c, B,  C, i,  m, M,  D, and  d\nrepresent different types of random replacements:\n\ns - generic syllable\nv - vowel\nV - vowel or vowel combination\nc - consonant\nB - consonant or consonant combination suitable for beginning a word\nC - consonant or consonant combination suitable anywhere in a word\ni - insult\nm - mushy name\nM - mushy name ending\nD - consonant suited for a stupid person's name\nd - syllable suited for a stupid person's name (begins with a vowel)\nEverything else is emitted literally.\n\nAll  characters  between parenthesis  ()  are  emitted literally.  For\nexample, the pattern s(dim), emits  a random generic syllable followed\nby dim.\n\nCharacters  between angle  brackets \u003c\u003e  emit patterns  from the  table\nabove. Imagine the entire pattern is wrapped in one of these.\n\nIn  both  types of  groupings,  a  vertical  bar  | denotes  a  random\nchoice. Empty groups are allowed.  For example, (foo|bar) emits either\nfoo or bar. The pattern \u003cc|v|\u003e  emits a constant, vowel, or nothing at\nall.\n\nAn exclamation point ! means  to capitalize the component that follows\nit. For  example, !(foo) will emit  Foo and v!s will  emit a lowercase\nvowel followed by a capitalized syllable, like eRod.\n```\n\nYou can use a config file to store your own codes, once you found one\nyou like. A configfile is searched in these locations in this order:\n\n* `/etc/gfn.conf`\n* `/usr/local/etc/gfn.conf`\n* `$HOME/.config/gfn/config`\n* `$HOME/.gfn`\n\nYou may also specify a config file on the commandline using the `-c`\nflag.\n\nYou can add multiple codes, here's an example:\n\n```toml\n# example config file\n[[Templates]]\nmorph = \"!s(na|ha|ma|va)v\"\nmorphium = \"!s(na|ha|ma|va)v(ius|ium|aum|oum|eum)\"\n```\n\nConfig files are expected to be in the [TOML format](https://toml.io/en/).\n\n# Report bugs\n\n[Please open an issue](https://github.com/TLINDEN/gfn/issues). Thanks!\n\n# License\n\nThis work is licensed under the terms of the General Public Licens\nversion 3.\n\n# Author\n\nCopyleft (c) 2024 Thomas von Dein\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftlinden%2Fgfn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftlinden%2Fgfn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftlinden%2Fgfn/lists"}