Skip to content
gszrPublic

Repository files navigation

Lunar

CI Release License

Your harness. Your choice

Inspired by Pi <3. Configured with Lua. Built for transparency and customizability

Lunar fixing a failing test: read, edit, bash, confirm

Lunar Coding Harness

Lunar is deliberately small: a Rust host owns the terminal, model transport, and four tools, while a Lua guest supplies model and provider configuration. It does not impose plan modes, sub-agents, approval prompts, or another workflow between you and the model.

Features

  • Want to use your xAI, OpenAI, or Anthropic1 subscriptions? No problem, Lunar can help.
  • Want to bring your own provider and API key? Okay, you are one config away.
  • Want to easily switch between models, providers, and formats mid session with no restarts? No problem, /model (or cmd+shift+m!) is there for you.
  • Want to get a sample curl request of what the next request will be? /request slim or /request full to the rescue.
  • Want to see where your tokens are going? Use /context or /context raw, or keep an eye on the status bar.
  • Want to change the config and reapply without a restart? /config.
  • Want to inspect the provider response headers? Toggle /debug mode.
  • Want to see provider responses in plain text instead of rendered markdown? /markdown
  • Working across repositories? Use stacks and the LLM will know where to check!
  • Want a global default provider/model and per repo overrides? .lunar/init.lua is there for the ride.

Install

brew install --HEAD gszr/taps/lunar

Or with Cargo:

cargo install --git https://github.com/gszr/lunar

Run

Run lunar, type a prompt, and press Enter. Use /login and /model for a subscription, or /config to configure a provider. /help lists commands; lunar --help lists launch options. Ctrl+D quits.

Documentation

See feature documentation for configuration, examples, and usage.

Status

Lunar is early software for macOS and Linux.

License

MIT

Footnotes

  1. Using Anthropic subscription tokens with any non-Claude harness is against Anthropic's policy and may result in an account ban. Use at your own risk. ↩