Getting Started

1. Start llama.cpp#

Run a local llama-server instance with an OpenAI-compatible endpoint:

llama-server \
  --model /path/to/model.gguf \
  --port 8100 \
  --ctx-size 8192

orangu expects an OpenAI-compatible endpoint such as:

http://localhost:8100/v1

Any OpenAI-compatible server works: llama.cpp, Ollama, LM Studio, or a hosted endpoint.

2. Create a configuration#

The quickest path is the interactive wizard. It asks for the LLM URL, auto-detects a model the server advertises, walks every option showing its default, and writes ~/.orangu/orangu.conf after a confirmation:

orangu --init

With an uninstalled build:

cargo run --bin orangu -- --init

Alternatively, copy the sample file and adjust the model name and endpoint:

cp doc/etc/orangu.conf ./orangu.conf

See the Configuration chapter for all available options.

3. Run the client#

If you used orangu --init, the configuration lives at ~/.orangu/orangu.conf (a default lookup location), so just run:

orangu

Otherwise point the client at your configuration file:

orangu --config ./orangu.conf

With an uninstalled build:

cargo run --bin orangu -- --config ./orangu.conf

4. Try a few commands#

Start with these slash commands to explore what orangu can do:

/help
/server
/disconnect
/reload
/tools
/model
/session
/list_files
/open_file README.md
/show_file README.md
/build
/add_file README.md
/amend <message>
/branch main
/branch -b feature/new
/branch -m new-name
/branch -d feature/old
/cherry_pick <commit>
/comment 51 "My comment"
/close -i 51
/commit <message>
/restore README.md
/diff
/init_repo
/log
/log 5
/merge feature/foo
/move_file old.rs new.rs
/pull 42
/push
/push --force
/rebase
/remove_file README.md
/review
/squash
/status
/usage
/clear
/quit

Natural-language input#

You can also type plain language instead of slash commands. orangu recognizes these natural-language aliases for all built-in commands:

list files
open README.md
show README.md
list models
log
status
rebase
merge feature/foo
checkout main
add README.md
remove README.md
move old.rs new.rs
cherry pick abc1234
commit "[#42] My feature"
amend "[#42] My feature"
push
force push
init repo
squash
delete feature/foo
show help
Comment syntax: Lines whose first non-whitespace character is # stay local and are never sent to the model. Lines whose first non-whitespace character is \ are ignored entirely.