Skip to content

Commit

Permalink
initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
fvckgrimm committed Aug 21, 2024
0 parents commit ce666ac
Show file tree
Hide file tree
Showing 8 changed files with 439 additions and 0 deletions.
41 changes: 41 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# .github/workflows/release.yml
name: goreleaser

on:
pull_request:
push:
# run only against tags
tags:
- "*"

permissions:
contents: write
# packages: write
# issues: write

jobs:
goreleaser:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: stable
# More assembly might be required: Docker logins, GPG, etc.
# It all depends on your needs.
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v6
with:
# either 'goreleaser' (default) or 'goreleaser-pro'
distribution: goreleaser
# 'latest', 'nightly', or a semver
version: "~> v2"
args: release --clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# Your GoReleaser Pro key, if you are using the 'goreleaser-pro' distribution
# GORELEASER_KEY: ${{ secrets.GORELEASER_KEY }}
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
lil-guy
81 changes: 81 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
# lil-guy

lil-guy is a fun, customizable command-line animation tool that displays cute characters with messages and can output from stdin.

<img src="/assets/showcase.gif"/>

## Features

- Multiple pre-defined characters
- Support for custom characters via TOML configuration
- Multi-line character support
- Animated character display
- Customizable messages
- Debug mode for troubleshooting

## Installation

### Releases

Prebuilt binaries can be found in [releases](https://github.com/fvckgrimm/lil-guy/releases)

### Build from source

1. Clone the repository

```bash
git clone https://github.com/fvckgrimm/lil-guy.git && cd lil-guy
```

2. Build the project

```bash
go build -v -o lil-guy
```

## Configuration

lil-guy uses TOML file for character configuration, the default location which it's read from is:

```
~/.config/lil-guy/characters.toml
```

## Usage

Run lil-guy with the following command:

```bash
./lil-guy [flags]
```

Available flags:

* -message: Set the message to display (default: "Hello, I'm lil guy!")
* -character: Choose the character to display (default: "default")
* -debug: Run in debug mode for troubleshooting

Examples:

```bash
./lil-guy -message "Hello, World!" -character cat
./lil-guy -message "I'm a dog" -character dog
./lil-guy -message "Multi-line test" -character multiline_example
./lil-guy -debug -character fumo_1
```

You can also pipe other commands into lil-guy:

```bash
pip install discord | lil-guy -message "I can handle this myself..." -character blinkcat
```


## Adding New Characters

To add a new character, simply add a new entry to your `characters.toml` file. No changes to the source code are required.

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Binary file added assets/showcase.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
91 changes: 91 additions & 0 deletions example-characters.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
[default]
faces = ["(o_o)"]

[cat]
faces = ["(^._.^)"]

[dog]
faces = ["(ᵔᴥᵔ)"]

[fumo_1]
faces = ["ᗜˬᗜ", "ᗜ˰ᗜ"]

[fumo_2]
faces = ["ᗜ ̫ ᗜ"]

[fumo_3]
faces = ["ᗜ‿ᗜ"]

[x]
faces = ["X‿X", "-‿X", "X‿-"]

[zero]
faces = ["0x0", "-x-", "0x0"]

[happyCat]
faces = [
'''
/\_/\
( o.o )
> ^ <
''',
'''
/\_/\
( ^.^ )
> ^ <
'''
]

[dance_cat]
faces = [
'''
 彡 ⌒ ミ
 (´・ω・`) ))
(( ( つ ヽ、
  〉 とノ )))
 (__ノ^(_)
''',
'''
  彡 ⌒ ミ
 (´・ω・`)
 γ  と ) ))
((( ヽつ 〈
 (_)^(__)
'''
]

[dance_cat1]
faces = [
'''
    彡⌒ ミ      ♪
   (´・ω・`)  ♪
   ( つ つ
 (( (⌒ __) ))
    し' っ
''',
'''
  ♪  彡⌒ ミ
    ∩´・ω・`)   ♪
    ヽ ⊂ノ
   (( (  ⌒)  ))
     c し'
'''
]

[dance_cat2]
faces = [
'''
    ∧_∧   ♪
    (´・ω・`∩
     o   ,ノ
    O_ .ノ
♪      (ノ
''',
'''
    ∧_∧ ♪
    ∩・ω・`)
    |   ⊂ノ
   |   _⊃  ♪
    し ⌒
'''
]
14 changes: 14 additions & 0 deletions go.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
module github.com/fvckgrimm/lil-guy

go 1.23.0

require (
github.com/BurntSushi/toml v1.4.0
github.com/fatih/color v1.17.0
)

require (
github.com/mattn/go-colorable v0.1.13 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
golang.org/x/sys v0.18.0 // indirect
)
13 changes: 13 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
github.com/BurntSushi/toml v1.4.0 h1:kuoIxZQy2WRRk1pttg9asf+WVv6tWQuBNVmK8+nqPr0=
github.com/BurntSushi/toml v1.4.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=
github.com/fatih/color v1.17.0 h1:GlRw1BRJxkpqUCBKzKOw098ed57fEsKeNjpTe3cSjK4=
github.com/fatih/color v1.17.0/go.mod h1:YZ7TlrGPkiz6ku9fK3TLD/pl3CpsiFyu8N92HLgmosI=
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4=
golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
Loading

0 comments on commit ce666ac

Please sign in to comment.