rayvn

A shared library framework for bash 5.3+.

rayvn lets bash programs load shared libraries — both built-in and from third-party projects — using a simple require system. It also provides the rayvn CLI for generating and testing projects.

Libraries

Library Description
rayvn/core Core utilities, assertions, and error handling
rayvn/debug Debug logging and tracing
rayvn/terminal Cursor control and terminal output
rayvn/prompt Interactive user prompts
rayvn/secrets System keychain credential storage
rayvn/oauth OAuth authorization code flow
rayvn/spinner Terminal spinners
rayvn/theme Color themes
rayvn/config Configuration file support
rayvn/process Process management
rayvn/release GitHub release workflow
rayvn/test Test assertions
rayvn/test-harness Test runner
rayvn/central Project registry

Getting Started

# Install via Nix
nix run github:phoggy/rayvn

# Use a library in your script
source rayvn.up 'rayvn/core'

# Create a new project
rayvn new project myproject
  • valt — encrypted file archives using age
  • wardn — encrypted Bitwarden vault backups