Skip to content
friendly-social-aiPublic

About

CLI client for Friendly (First implementation has really crappy code, do not check)

Resources

Stars

4 stars

Watchers

0 watching

Forks

 
 

Latest commit

 

History

213 Commits

Folders and files

Repository files navigation

Friendly CLI

A terminal client for Friendly, built with Bubble Tea.

This is a fork of the official CLI. It runs on the forked Go SDK, pinned to its main.

Installation

There's no official release for this project, you'll have to build from source and move it to your bin.

Shameless plug

This project can be installed via oku with the following command:

oku add github:friendly-social-ai/cli

# then you can run it with
friendly

Build

Requires Go 1.27.

git clone https://github.com/friendly-social-ai/cli.git
cd cli
make run

make build writes the binary to bin/cli.

Nice supports

  • Images render in Ghostty and Kitty, also inside tmux with allow-passthrough on. With a low resolution fallback.
  • The composer has Vim keys, from fude. It opens in insert mode, and esc in normal mode closes it. :w posts the draft, :q closes and keeps it, and :q! throws it away.
  • Pasting an image reads the clipboard with osascript on macOS, and wl-paste or xclip on Linux.
  • Emoji shortcode supports
  • LaTeX math, read the same way as on the web. Inline $...$ becomes Unicode, so $\alpha^2$ shows as α². Display math goes between $$ lines or in a ```math block. It draws as an image with MathJax when the terminal has graphics, and as Unicode otherwise. Text the math font lacks, like CJK or emoji, draws with system fonts, which the app indexes once into friendly/fonts of the user cache folder. Math that neither can show stays as its source
  • Drag, paste or attach (with auto path completion) for images
  • Change any key in ~/.config/friendly/keys.toml, see docs/keys.md
  • Change the colors in ~/.config/friendly/theme.toml, see docs/theme.md
  • Turn images off or change how often the app checks for new posts in ~/.config/friendly/config.toml, see docs/config.md
  • Start with another config folder through FRIENDLY_CONFIG_DIR
  • config/ holds every default config file, ready to copy to ~/.config/friendly

Floating friendly within tmux

Bind the following to your tmux config:

bind C-d display-popup -T "Friendly" -w 90% -h 80% -d "#{pane_current_path}" -E "friendly"

And you now have access to friendly anywhere within tmux.

Development

make fmt   # gofmt
make lint  # golangci-lint

Set FRIENDLY_DEBUG=1 or 2 to write a debug log, see docs/debug.md.

About

CLI client for Friendly (First implementation has really crappy code, do not check)

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages