Configuration

orangu uses an INI-style configuration file.

Interactive setup (--init)#

Run orangu --init (short form -i) to generate the configuration interactively:

orangu --init

The wizard:

  1. Asks for the LLM URL (the server endpoint).
  2. Queries the server's /v1/models endpoint and pre-fills the first advertised model as the Model value; if no model is detected you enter one manually.
  3. Walks every [orangu] and server option, showing its default in [brackets]. Press Enter to keep the default. Boolean options accept Yes/Y/No/N (case-insensitive).
  4. Reports which optional external tools it detects: git lg, delta, bat, gh, and glab.
  5. Shows the resulting configuration and asks for confirmation before writing to ~/.orangu/orangu.conf.

Only values that differ from their default are written, so the generated file stays minimal.

[orangu] section#

The main section selects the default server and sets client-wide limits:

[orangu]
server = main-server
model = ggml-org/gemma-4-E4B-it-GGUF
timeout = 1800
max_tool_rounds = 10
Key Required Description
server Yes, if multiple servers Name of the default server section
model No General default model name. Overridden by the selected server's own model when set
timeout No Request timeout in seconds. Default: 1800
max_tool_rounds No Maximum tool-calling turns before the client aborts the prompt
quotes No Quote set shown while the model is thinking. Default: none. Options: none, star_trek, star_wars, marco_pierre_white, gordon_ramsay, calvin_and_hobbes, sun_tzu_english, attila_the_hun, all
width No Virtual terminal width in characters. Controls canvas width for /show_file output. Default: 512
banner No Horizontal placement of the header banner. Default: left. Options: left, center, right
feedback No Show a green or red dot after each command. Default: off. Options: on / off
auto_rebase No Automatically rebase before /pull_request if the branch is behind the base. Default: off
auto_squash No Automatically squash commits before /pull_request if more than one commit is ahead of the base. Default: off
terminal No Launch command used to open $EDITOR in a new window for /open_file. Example: xterm -e or kitty. Auto-detected when unset
platform No Code-hosting platform for /pull, /pull_request, /merge, and /comment. Default: github. Options: github, gitlab

Server sections#

Each server is a named INI section. The section name is what [orangu].server points to:

[main-server]
provider = llama.cpp
endpoint = http://localhost:8100/v1
model = ggml-org/gemma-4-E4B-it-GGUF
Key Required Description
provider Yes llama.cpp or openai
endpoint Yes OpenAI-compatible API URL. May be set with or without the /v1 path
model No Model identifier. Overrides [orangu].model when set
api_key No API key sent as Authorization: Bearer <key>. Required when the server runs with --api-key or for authenticated endpoints
At least one of [orangu].model or a server's own model must be set. Each server section must use a unique endpoint; http://x and http://x/v1 are treated as the same host.

Sample file#

The distributed sample lives at:

doc/etc/orangu.conf

It ships with llama.cpp-style servers and a 30-minute timeout suitable for local tool-calling workloads. Copy and adjust to get started quickly.