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
# stay local and are never sent to the model. Lines whose first non-whitespace character is \ are ignored entirely.