{"id":26990404,"url":"https://github.com/latipun7/charasay","last_synced_at":"2025-04-03T21:38:00.837Z","repository":{"id":103369079,"uuid":"607633301","full_name":"latipun7/charasay","owner":"latipun7","description":"🐈 The future of cowsay 🐮! Colorful characters saying something 🗨️.","archived":false,"fork":false,"pushed_at":"2024-10-21T01:48:52.000Z","size":110,"stargazers_count":39,"open_issues_count":2,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-10-21T05:11:38.979Z","etag":null,"topics":["ansi-art","ansi-colors","ansi-escape-codes","ansi-escape-sequences","characters","charasay","cowsay","terminal"],"latest_commit_sha":null,"homepage":"https://crates.io/crates/charasay","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/latipun7.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":".github/codeowners","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"latipun7"}},"created_at":"2023-02-28T11:21:54.000Z","updated_at":"2024-10-13T12:51:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"d28baef4-655a-4902-8140-c59eb281f337","html_url":"https://github.com/latipun7/charasay","commit_stats":{"total_commits":35,"total_committers":2,"mean_commits":17.5,"dds":"0.37142857142857144","last_synced_commit":"51c63272eada41029b95a4481b74084db835859b"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/latipun7%2Fcharasay","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/latipun7%2Fcharasay/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/latipun7%2Fcharasay/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/latipun7%2Fcharasay/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/latipun7","download_url":"https://codeload.github.com/latipun7/charasay/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247085972,"owners_count":20881157,"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","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":["ansi-art","ansi-colors","ansi-escape-codes","ansi-escape-sequences","characters","charasay","cowsay","terminal"],"created_at":"2025-04-03T21:38:00.218Z","updated_at":"2025-04-03T21:38:00.824Z","avatar_url":"https://github.com/latipun7.png","language":"Rust","funding_links":["https://github.com/sponsors/latipun7"],"categories":[],"sub_categories":[],"readme":"# `charasay 🐮`\n\n[![Discord][discord-image]][discord-url]\n[![GitHub Workflow Status][workflow-image]][workflow-url]\n\n\u003e **🐈 The future of cowsay 🐮! Colorful characters saying something 🗨️.**\n\u003e\n\u003e Re-engineered cowsay in rust 🦀. Display colorful ANSI arts saying something\n\u003e in your terminal 💻.\n\n![Default character](https://user-images.githubusercontent.com/20012970/222370473-8a61c85f-7a14-49a4-a61f-44540d959286.png)\n\n## Motivation\n\nI use terminal emulator almost every day. I stare at it so much. I need some\nentertainment in terminal, so I found [`ponysay`][ponysay] which is beautiful\nand giving my terminal some colors. But `ponysay` kind of bloated for me since\nI don't display all those ponies.\n\nSo, I want to make my own minimal tool to make my terminal so colorful and\ndisplay the character that I like. This chance is a great time to learn `rust`.\nThis project is mainly for me to learn rust and hopefully I get some feedback\nwhile this make us all happy 😁.\n\n## Installation\n\n### AUR\n\nFor Arch Linux, package available via AUR. Example install this with AUR helper:\n\n```console\nyay -S charasay\n```\n\nor\n\n```console\nyay -S charasay-bin\n```\n\n### Cargo\n\nIf you have `rustup` or `cargo`, this tool available on crates.io. Install this with:\n\n```console\ncargo install charasay\n```\n\n### Manual\n\nJust donwload from the [release page](https://github.com/latipun7/charasay/releases)\nfor your compatible Operating System, then extract the zip archive, give permission\nto execute on extracted file, then place it on your `PATH`.\n\nAlternatively, clone this repository, then build this with `cargo build --release`.\n\n### Prerequisites\n\nTo display characters, your terminal needs to support true color (24-bit color).\nUnicode fonts are needed to render the border of speech bubble.\n\n## Usage\n\n### Display Default Character to Say Something\n\nRun `chara say something that motivating.` It would display colorful cow saying\n`something that motivating.`.\n\nIf message is empty, it would accept from standard input, piping would works:\n`fortune | chara say`.\n\n### Display Different Character\n\nRun `chara say -f ferris \"Hello rustaceans!\"`.\n\nIt could display external `.chara` files: `chara say -f ~/path/test.chara \"Nice\"`.\n\n\u003e Note: `.chara` files could be generated from PNG file.\n\u003e\n\u003e I want to implement this builtin in this tool. For now, you could generate\n\u003e `.cow` file with [Cowsay file converter][cowsay-converter] then rename `.cow`\n\u003e into `.chara`.\n\n### Shell Completions\n\nShell completions also available with `chara completions` which would print out\ncompletions script to standard output. Please consult to your shell documentation\non how to add completions.\n\n### Consult to Help Command\n\nFor updated usage please consult to help command.\n\n```console\n$ chara --help\nThe future of cowsay 🐮! Colorful characters saying something 🗨️.\n\nUsage: chara \u003cCOMMAND\u003e\n\nCommands:\nsay          Make the character say something\ncompletions  Generate completions for shell. Default to current shell\nconvert      TODO: Convert pixel-arts PNG to chara files\nhelp         Print this message or the help of the given subcommand(s)\n\nOptions:\n-h, --help     Print help\n-V, --version  Print version\n```\n\n```console\n$ chara help say\nMake the character say something\n\nUsage: chara say [OPTIONS] [MESSAGE]...\n\nArguments:\n[MESSAGE]...  Messages that chara want to say/think. If empty, read from STDIN\n\nOptions:\n-r, --random         Choose random chara\n-a, --all            Print all available chara\n-t, --think          Make chara only thinking about it, not saying it\n-w, --width \u003cWIDTH\u003e  Max width of speech bubble. Default to terminal width\n-f, --file \u003cCHARA\u003e   Which chara should say/think\n-h, --help           Print help\n```\n\n![Ferris](https://user-images.githubusercontent.com/20012970/222370485-3d43052f-977a-441e-a0c2-efc538d8e693.png)\n\n## Hacking to the Gate~! 🧑‍💻🎶\n\n[MIT License](./license) © Latif Sulistyo\n\n### Acknowledgements\n\n- All pixel-art artist on [each chara files](./src/charas/)\n- [**@charc0al**][cowsay-converter] for cowsay file converter\n- Rustaceans 🦀\n\n\u003c!-- Variables --\u003e\n\n[discord-image]: https://img.shields.io/discord/758271814153011201?label=Developers%20Indonesia\u0026logo=discord\u0026style=flat-square\n[discord-url]: https://discord.gg/njSj2Nq \"Chat and discuss at Developers Indonesia\"\n[workflow-image]: https://img.shields.io/github/actions/workflow/status/latipun7/charasay/ci-cd.yml?label=CI%2FCD\u0026logo=github-actions\u0026style=flat-square\n[workflow-url]: https://github.com/latipun7/charasay/actions \"GitHub Actions\"\n[ponysay]: https://github.com/erkin/ponysay \"Ponysay GitHub Repository\"\n[cowsay-converter]: https://charc0al.github.io/cowsay-files/converter/ \"Cowsay File Converter\"\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flatipun7%2Fcharasay","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flatipun7%2Fcharasay","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flatipun7%2Fcharasay/lists"}