stellar

command module
v0.1.5 Latest Latest
Warning

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

Go to latest
Published: Feb 11, 2026 License: MIT Imports: 2 Imported by: 0

README

stellar-cli

Easily get and switch between starship configs

stellar cli demo stellar hub

Installation

Just run the install script which will download the binary and move it to ~/.local/bin

curl -fsSL https://raw.githubusercontent.com/a3chron/stellar/main/install.sh | bash

Why use

Before: Getting good starship configs so far was mostly random, from someones github dotfiles, searching for something entirely else...

With stellar: Find the right theme on the stellar hub & stellar apply <author>/<theme>.

Usecases

There are a few usecases for stellar:

  • You want to switch your starship prompt / theme from time to time (without manually copying starship configs)
  • You want to try a few different community prompts
  • You are working on a theme, and need to switch around between you normal and development version often
  • You have a script to change the theme of the whole system / terminal in some kind, including the starship prompt

Basic Usage

# Apply a theme / config
stellar apply a3chron/ctp-blue
stellar apply a3chron/ctp-blue@1.2

# Preview before applying (will open an extra window)
stellar preview a3chron/ctp-red

# List cached themes
stellar list

# Show current theme
stellar current

# Get theme info
stellar info a3chron/ctp-green

# Clean cache (keep current)
stellar clean

# Remove specific theme
stellar remove a3chron/ctp-green

# Rollback to previous theme
stellar rollback

# Update CLI
stellar update

Local configs

Switching between local configs

You can just put your own configs under ~/.config/stellar/local/<your-theme>/latest.toml, and then switch to them using stellar apply local/<your-theme>.

[!INFO] The /local is not needed, you can actually use whatever you would like, i.e. /<your-username>, including existing usernames, just create an extra folder for your theme

Customizing themes

You can similarily copy one existing downloaded theme to the stellar/local folder, edit it, and then switch to it using stellar apply.

[!INFO] @ here again, you don't need /local, so you can theoretically just copy for example a3chron/ctp-red/latest.toml to a3chron/my-own-theme/latest.toml

Because stellar is using a symlink to the currently selected config file, you get hot-reload as well.

Contributing

All contributions are welcome :)
The easiest way to contribute to stellar is to upload you own starship config for other to use.

Please use conventional commits for PRs, and check for lint errors with golangci-lint run (included in the flake).

vhs

To record a vhs video just run:

vhs demo.tape

For nix users:

nix-shell -p vhs

TODOs

  • stellar publish command: Upload local themes directly to stellar-hub
    • Challenge: Need to implement CLI authentication (OAuth flow with browser redirect or API keys)
    • Would read from ~/.config/stellar/<author>/<theme>/latest.toml
    • Interactive prompts for metadata (name, description, screenshot, etc.)
    • Skip complex fields initially (e.g., color scheme selection - add later)
  • stellar update <theme> command: Update an existing theme on stellar-hub with a new version
    • Requires authentication (same challenge as publish)
    • Upload new version of already published theme
    • Interactive prompts for version notes, dependencies, etc.
  • Add progress bars for downloads
  • Improve error messages
  • Add tests

GitHub License

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
cmd/preview.go
cmd/preview.go
internal
api

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL