{"id":33185644,"url":"https://github.com/mjwhitta/artty","last_synced_at":"2026-03-06T06:09:08.535Z","repository":{"id":41151214,"uuid":"292984510","full_name":"mjwhitta/artty","owner":"mjwhitta","description":"Art for your TTY.","archived":false,"fork":false,"pushed_at":"2025-12-27T21:00:23.000Z","size":4406,"stargazers_count":118,"open_issues_count":0,"forks_count":5,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-29T00:15:17.634Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","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/mjwhitta.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-09-05T02:12:41.000Z","updated_at":"2025-12-27T21:00:26.000Z","dependencies_parsed_at":"2023-02-12T13:10:13.028Z","dependency_job_id":"96c9529b-c966-4fe5-9955-5b4bf9c22576","html_url":"https://github.com/mjwhitta/artty","commit_stats":{"total_commits":234,"total_committers":4,"mean_commits":58.5,"dds":"0.012820512820512775","last_synced_commit":"9c98a018a7cc88127d211ed9118ea37d96b83dac"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/mjwhitta/artty","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mjwhitta%2Fartty","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mjwhitta%2Fartty/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mjwhitta%2Fartty/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mjwhitta%2Fartty/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mjwhitta","download_url":"https://codeload.github.com/mjwhitta/artty/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mjwhitta%2Fartty/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30164535,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-06T04:43:31.446Z","status":"ssl_error","status_checked_at":"2026-03-06T04:40:30.133Z","response_time":250,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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-11-16T05:00:20.097Z","updated_at":"2026-03-06T06:09:08.442Z","avatar_url":"https://github.com/mjwhitta.png","language":"Go","funding_links":["https://www.buymeacoffee.com/mjwhitta"],"categories":["\u003ca name=\"graphics\"\u003e\u003c/a\u003eGraphics"],"sub_categories":[],"readme":"# ArTTY\n\n[![Yum](https://img.shields.io/badge/-Buy%20me%20a%20cookie-blue?labelColor=grey\u0026logo=cookiecutter\u0026style=for-the-badge)](https://www.buymeacoffee.com/mjwhitta)\n[![Release](https://img.shields.io/github/v/release/mjwhitta/artty?style=for-the-badge)](https://github.com/mjwhitta/artty/releases/latest)\n![GitHub all releases](https://img.shields.io/github/downloads/mjwhitta/artty/total?style=for-the-badge)\n\n[![Go Report Card](https://goreportcard.com/badge/github.com/mjwhitta/artty?style=for-the-badge)](https://goreportcard.com/report/github.com/mjwhitta/artty)\n[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/mjwhitta/artty/ci.yaml?style=for-the-badge)](https://github.com/mjwhitta/artty/actions)\n![License](https://img.shields.io/github/license/mjwhitta/artty?style=for-the-badge)\n\n## What is this?\n\nArt for your TTY.\n\n![Screenshot](imgs/screenshot.png)\n\n## How to install\n\nOpen a terminal and run the following:\n\n```\n$ go install github.com/mjwhitta/artty/cmd/arTTY@latest\n```\n\nOr compile from source:\n\n```\n$ git clone https://github.com/mjwhitta/artty.git\n$ cd artty\n$ git submodule update --init\n$ make\n```\n\nOn OpenBSD \u003e=7.3 or -current:\n\n```\n$ doas pkg_add artty\n```\n\n**NOTE:** [OpenBSD pkg] is maintained by [gonzalo-] and may not\ninstall the newest GitHub release.\n\n[gonzalo-]: https://github.com/gonzalo-\n[OpenBSD pkg]: https://github.com/openbsd/ports/tree/master/sysutils/artty\n\n## How to use\n\nI typically add something like the following to the end of my bash/zsh\nconfigs:\n\n```\n[[ -z $(command -v arTTY) ]] || arTTY\n```\n\nThen I create an arTTY config using something like one of the\nfollowing commands:\n\n```\n$ arTTY -c -f --fit -r -p -s --save\n$ arTTY -c -e \"emerald|III|shiny\" --fit -m pokemon -p -r -s --save\n$ arTTY -c -f --fit -m \"megaman-battle-network\" -p -r -s --save\n$ arTTY -c --fit -m portal -p -r -s --save\n$ arTTY -c -f -p -s --save linux-arch\n$ arTTY -c --fit -p -s --save legend-of-zelda-majoras-mask\n$ arTTY -c --fit -m \"street-fighter-3\" -p -r -s --save\n```\n\nUse the `--ls` flags to see all included art. Occasionally you may\nwant to run `arTTY --update` to download any new art.\n\nAdditionally, the system info portion is [configurable][sysinfo] by\nadding the sysinfo options directly into your ArTTY config\n(`~/.config/arTTY/rc`).\n\n[sysinfo]: https://github.com/mjwhitta/sysinfo/blob/master/README.md#configuration\n\n### Tab completion\n\nYou can add one of the below to your `$HOME/.bashrc` or `$HOME/.zshrc`\nto get tab completion.\n\n#### bash\n\n```\nif [[ -n $(command -v arTTY) ]]; then\n    _arTTY_complete() {\n        mapfile -t COMPREPLY \u003c \u003c(arTTY --ls -m \"^$2\" -p)\n    }\n    complete -F _arTTY_complete arTTY\nfi\n```\n\n#### zsh\n\n```\nif [[ -n $(command -v arTTY) ]]; then\n    compdef _gnu_generic arTTY\n    _arTTY_complete() { reply=($(arTTY --ls -p)); }\n    compctl -K _arTTY_complete arTTY\nfi\n```\n\n## Generating your own art\n\nArTTY can generate source code from images too. It will automatically\ndetermine the size, but you can specify a size manually by appending\n`_WIDTHxHEIGHT` to the filename. It uses the filename to name the art\nunless you manually specify one. It will then cache any json files in\nthe `$HOME/.config/arTTY/json` directory.\n\nBy default this will generate a JSON file and refresh the cache. If\nyou want to just see the JSON file, or generate source code for\nanother language, you can use the `--format` flag.\n\n### Examples\n\n```\n$ arTTY -g my-art-name.png\n$ arTTY -g my-art-name_WIDTHxHEIGHT.png\n$ arTTY -g some_image.png my-art-name\n$ arTTY --format bash -g my-art-name.png\n$ arTTY --format go -g my-art-name.png\n$ arTTY --format json -g my-art-name.png\n$ arTTY --format python -g my-art-name.png\n$ arTTY --format ruby -g my-art-name.png\n```\n\nThis will traverse a `WIDTH` by `HEIGHT` grid and sample the color\ninside each cell. It will then generate the necessary json data. This\nworks best with sprites, however, it can parse any image this way.\n\n## Links\n\n- [Images](https://github.com/mjwhitta/artty_images)\n- [JSON](https://github.com/mjwhitta/artty_json)\n- [Releases](https://github.com/mjwhitta/artty/releases)\n- [Source](https://github.com/mjwhitta/artty)\n\n## TODO\n\n- Lots more art\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmjwhitta%2Fartty","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmjwhitta%2Fartty","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmjwhitta%2Fartty/lists"}