Getting Started
This page takes you from nothing to a signed change pushed to a hub. Each step is one or two commands.
flowchart TD
A[Install oxy] --> B[Create your identity<br/><code>oxy identity create</code>]
B --> C{New project<br/>or existing?}
C -->|New| D[<code>oxy init</code>]
C -->|On a hub| E[<code>oxy auth login</code><br/><code>oxy clone</code>]
C -->|From Git| F[<code>oxy git import</code>]
D --> G[Edit files]
E --> G
F --> G
G --> H[<code>oxy status</code> and <code>oxy diff</code>]
H --> I[<code>oxy commit -m ...</code>]
I --> J[<code>oxy push</code>]
1. Install
Builds for Linux, macOS and Windows are on the releases page. On Debian or Ubuntu, add the apt repository so apt upgrade keeps oxy current:
sudo curl -fsSLo /usr/share/keyrings/oxygenhub-archive-keyring.gpg https://oxygenhub.io/apt/oxygenhub.gpg
sudo tee /etc/apt/sources.list.d/oxygenhub.sources >/dev/null <<EOT
Types: deb
URIs: https://oxygenhub.io/apt
Suites: stable
Components: main
Signed-By: /usr/share/keyrings/oxygenhub-archive-keyring.gpg
EOT
sudo apt update && sudo apt install oxy
The repository has builds for x86_64, arm64 and riscv64. To build from source instead, run cargo build --release in a checkout; the binary is target/release/oxy.
2. Create your identity
oxy identity create --name "Ada Lovelace" --email [email protected]
oxy config --user core.sign change # sign every commit as you make it
This makes a composite key pair (Ed25519 and ML-DSA-65), keeps the secret part in ~/.config/oxy/keys/, and records you as the default author. See Identity and Signing for what the keys do.
3. Start or fetch a repository
mkdir project && cd project && oxy init # a new repository
oxy auth login https://oxygenhub.io # or: sign in to a hub once, in the browser
oxy clone https://oxygenhub.io/owner/project # and clone from it
oxy git import ~/src/old-project project # or: bring a Git history across
oxy init creates a .oxy/ directory. Add a .oxyignore file (the same syntax as .gitignore) for files that should never be tracked. A project's existing .gitignore files are honoured too.
4. Work, commit, push
oxy status # what changed
oxy diff # the edits, file by file
oxy commit -m "Add retry loop"
oxy log # history, newest first
oxy push # publish to origin
oxy pull # take in what others pushed
There is no staging area: the working copy is itself a change that oxy keeps up to date. To commit only some files, name them: oxy commit src/net.rs -m "...", or pick hunks with oxy commit -i.
Made a mistake? oxy undo takes back the last command, whatever it was. See Working Copy and Operation Log.
Next
- Everyday Work for the commands you will use daily.
- Bookmarks for working on more than one line of work.
- Concepts to understand why it works the way it does.