honeycomb

command module
v0.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 25, 2024 License: MIT Imports: 3 Imported by: 0

README

Nostr client CLI application for cross-platform

All Contributors

Build MultiPlatformUnitTest reviewdog

[!CAUTION] Work in progress. Development just started on May 17, 2024. Some features are not yet implemented.

sample

Honeycomb is an application that uses the Nostr Protocol to post messages and view trends from the terminal. It is designed to offer both a Command Line Interface and a Text User Interface.

My main purposes for developing Honeycomb are the following:

  • To create a comfortable social network as an alternative to X (formerly Twitter) and BlueSky.
  • To serve as a testing ground for trying out new technologies.

I enjoy having a free environment and working in the terminal. Therefore, I intend to develop a user-friendly CLI.

How to install

go install

go install github.com/nao1215/honeycomb@latest

homebrew

brew install nao1215/tap/honeycomb

Supported platforms and requirements

  • Linux
  • macOS
  • Windows
  • go 1.21 or later

How to use

Log in with an existing account

Honeycomb checks for the presence of a private key (e.g. nsec**) available at ${XDG_CONFIG_HOME}/.config/honeycomb/private_key. If no private key is found, honeycomb will prompt you to enter your private key.

Honeycomb validates the private key and stores the correct private key locally. The feature to create a new account using Honeycomb is not yet implemented. However, we plan to offer this functionality in the future.

login

View timeline, follow users, and more

Once you have logged in, you can view your timeline, follow users, and more. Now, we have several tabs that are not yet implemented.

Press 'R' to retrieve the latest timeline. Continuously scrolling down on the timeline screen will automatically fetch older posts.

timeline

follow

Reaction to messages

Honeycomb allows you to react to posts. The reactions will include Reply, Repost, Like, Unlike, and Zap (not yet implemented). The reaction modal can be displayed by pressing the Enter key to select the topmost post.

reaction

Post a message

You can post a message by pressing the p key. The message will be displayed in the timeline of the users who follow you.

post

Key bindings

  • Ctrl + C, q, <ESC>: Exit
  • TAB : Switch tabs
  • SHIFT + TAB : Switch tabs in reverse order
  • ↑, ↓ : Move cursor
  • p : Show post form

Contributing

First off, thanks for taking the time to contribute! See CONTRIBUTING.md for more information. Contributions are not only related to development. For example, GitHub Star and GitHub Sponsor motivates me to develop!

Star History

Star History Chart

Contact

If you would like to send comments such as "find a bug" or "request for additional features" to the developer, please use one of the following contacts.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contributors ✨

Thanks goes to these wonderful people (emoji key):

CHIKAMATSU Naohiro
CHIKAMATSU Naohiro

💻 📖
Add your contributions

This project follows the all-contributors specification. Contributions of any kind welcome!

Documentation

Overview

Package main is the entry point of the honeycomb application.

Directories

Path Synopsis
app
di
external
Package external implements the external service.
Package external implements the external service.
interactor
Package interactor contains the implementations of usecases.
Package interactor contains the implementations of usecases.
model
Package model provides the data model of the application.
Package model provides the data model of the application.
service
Package service implements the service layer.
Package service implements the service layer.
usecase
Package usecase has interfaces that wrap the basic business logic.
Package usecase has interfaces that wrap the basic business logic.
cmd
honeycomb
Package cmd define subcommands provided by the honeycomb command
Package cmd define subcommands provided by the honeycomb command
Package config read and write configuration files.
Package config read and write configuration files.
Package tui provides the text-based user interface.
Package tui provides the text-based user interface.
Package version provides honeycombo application version information.
Package version provides honeycombo application version information.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
JackTT - Gopher 🇻🇳