MCPcopy Index your code
hub / github.com/Notarin/hayabusa

github.com/Notarin/hayabusa @v0.3.9

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.3.9 ↗ · + Follow
94 symbols 182 edges 17 files 1 documented · 1%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Hayabusa

Languages Rust Lua
Packaged Ascii Logos Arch Windows Ubuntu

Gentoo NixOS |

image

Hayabusa is a swift rust fetch program.

When configured for speed it boasts an internal runtime of under 2ms. Despite its speed, this is a fully featured fetch, unlike many of its brethren. It is also extremely configurable, enabling near infinite customization. The level of customization is from the fact that the config file is a lua script in the users config directory. The program is split into a user facing binary and a system service daemon. The daemon is responsible for gathering the system information ahead of time and having it prepared for the user facing binary. This binary then injects said system information into the lua script and extracts the result. While the ascii art is embedded in the binary, configuration allows for specifying a path to a file containing the ascii art. Not only this, but hayabusa has image support, it can display any png file as long as the terminal supports it.

Installation

This program is packaged firstly as a nix package available through the flakes outputs. Furthermore there is a nixosModule provided, simply add hayabusa.nixosModules.default to your modules, then set services.hayabusa.enable to true. Ensure you add the package provided by the flake to your PATH. If you do not use NixOS, I have decided to not deal with packaging it myself. There are an unreal amount of package managers, and frankly literally anyone can package it for a package manager and make it avilable to everyone. If you really want hayabusa, and there exists no package for you, the binary and the service file are in releases. Feel free to deploy it yourself.

If you really can't do that, and still want to use hayabusa, the below solution exists at your own risk. I recommend against using it, as every operating system is wildly different, and there is no guarantee it will not break something.

  • Download install-linux.sh from releases.
  • Run it in the terminal.

Finished! You can now run hayabusa to run the program.

Usage

You will need to have the daemon running in the background before making a request with the user facing binary. It is recommended to use a systemd service to manage the daemon.

Usage: hayabusa [OPTIONS]

Options:
  -d, --daemon     Run as daemon
  -b, --benchmark  On exit print the execution time, for benchmarking
  -h, --help       Print help

Configuration

Check out CONFIGURATION.md!

Core symbols most depended-on inside this repo

normalize
called by 6
src/client/polish_fetch.rs
remove_ansi_escape_codes
called by 6
src/client/polish_fetch.rs
parse_internal_ansi_codes
called by 4
src/client/polish_fetch.rs
push_motherboard_value
called by 3
src/daemon/fetch_info.rs
push_hostname
called by 3
src/daemon/fetch_info.rs
build_default_toml
called by 3
src/config/toml.rs
get_ascii_art
called by 2
src/client/main.rs
get_cell_size
called by 2
src/client/kitty_backend.rs

Shape

Function 75
Class 15
Enum 4

Languages

Rust100%

Modules by API surface

src/daemon/fetch_info.rs20 symbols
src/client/polish_fetch.rs19 symbols
src/config/toml.rs12 symbols
src/daemon/package_managers.rs9 symbols
src/client/kitty_backend.rs9 symbols
src/config/main.rs7 symbols
src/client/lua.rs5 symbols
src/client/main.rs4 symbols
src/main.rs3 symbols
src/daemon/main.rs2 symbols
src/client/client_info/main.rs2 symbols
src/ascii_art/main.rs2 symbols

For agents

$ claude mcp add hayabusa \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact