Skip to content

Getting Started

Installation

Install via Homebrew

brew install daileyo/tap/omgitworks

!!! note "Homebrew 7.0 and untrusted taps" The command above works as-is. If you instead tap first and install by bare name, Homebrew 7.0 will refuse to load the formula until the tap is trusted:

```bash
brew tap daileyo/tap
brew trust daileyo/tap
brew install omgitworks
```

Install on Windows (PowerShell)

Download the latest release and extract to $HOME\.local\bin:

Using Invoke-WebRequest:

# Set the version you want to install
$VERSION = "2.19.1"

# Download and extract
$url = "https://github.com/daileyo/omgitworks/releases/download/v$VERSION/omgitworks_${VERSION}_windows_amd64.zip"
$zip = "$env:TEMP\omgitworks.zip"
Invoke-WebRequest -Uri $url -OutFile $zip
New-Item -ItemType Directory -Force -Path "$HOME\.local\bin" | Out-Null
Expand-Archive -Path $zip -DestinationPath "$HOME\.local\bin" -Force
Remove-Item $zip

Using curl.exe:

# Set the version you want to install
$VERSION = "2.19.1"

# Download and extract
curl.exe -Lo "$env:TEMP\omgitworks.zip" "https://github.com/daileyo/omgitworks/releases/download/v$VERSION/omgitworks_${VERSION}_windows_amd64.zip"
New-Item -ItemType Directory -Force -Path "$HOME\.local\bin" | Out-Null
Expand-Archive -Path "$env:TEMP\omgitworks.zip" -DestinationPath "$HOME\.local\bin" -Force
Remove-Item "$env:TEMP\omgitworks.zip"

Verify checksum (optional):

curl.exe -Lo "$env:TEMP\checksums.txt" "https://github.com/daileyo/omgitworks/releases/download/v$VERSION/checksums.txt"
(Get-FileHash "$HOME\.local\bin\omgitworks.exe" -Algorithm SHA256).Hash
Get-Content "$env:TEMP\checksums.txt" | Select-String "windows_amd64"

Verify installation:

& "$HOME\.local\bin\omgitworks.exe" --version

Build from Source

Linux / macOS:

git clone https://github.com/daileyo/omgitworks.git
cd omgw
make build
# The binary will be in ./build/omgitworks
# Optionally, install to your PATH
make install

Windows (PowerShell):

git clone https://github.com/daileyo/omgitworks.git
cd omgw

# Build and install to ~/.local/bin in one step
New-Item -ItemType Directory -Force -Path "$HOME\.local\bin" | Out-Null
go build -o "$HOME\.local\bin\omgitworks.exe" ./cmd/omgitworks

Note: The Makefile requires a Unix shell (bash/zsh). On Windows, use go build directly as shown above.

Shell Integration

Linux / macOS (bash / zsh)

Add these lines to your ~/.zshrc (or ~/.bashrc):

export PATH="$HOME/.local/bin:$PATH"
eval "$(omgitworks shell-init zsh)"   # or: shell-init bash

Windows (PowerShell)

Add the following to your PowerShell $PROFILE. To find your profile path, run echo $PROFILE in PowerShell.

# Add omgitworks to PATH
$env:Path = "$HOME\.local\bin;$env:Path"

# Set up the omgw function and tab completion
Invoke-Expression (& omgitworks shell-init powershell | Out-String)

To add automatically via Add-Content:

# Create profile if it doesn't exist
if (!(Test-Path -Path $PROFILE)) { New-Item -ItemType File -Path $PROFILE -Force | Out-Null }

# Append shell integration
Add-Content -Path $PROFILE -Value "`n# omgitworks shell integration"
Add-Content -Path $PROFILE -Value '$env:Path = "$HOME\.local\bin;$env:Path"'
Add-Content -Path $PROFILE -Value 'Invoke-Expression (& omgitworks shell-init powershell | Out-String)'

Restart your PowerShell session (or run . $PROFILE) to activate.

This gives you the omgw function with tab completion. See Shell Integration for full details.

Quick Start

1. Initialize a Workspace

Scan a directory for git repositories:

# Initialize in current directory
omgw init

# Initialize in a specific directory
omgw init ~/projects

# Initialize with absolute path
omgw init /path/to/your/workspace

This command will:

  • Recursively scan the directory for git repositories
  • Extract repository metadata (name, path, remote URL)
  • Detect repository type and user configuration
  • Save the configuration to ~/.config/gws/config.json

2. List Your Repositories

Once initialized, run omgw with no arguments to see your repositories:

omgw

Output (compact multi-column names):

Found 15 repositories:

my-project       work-api         client-site      my-api
frontend-app     docs-site        infra-tools      backend-svc
mobile-app       shared-libs      auth-service     data-pipeline
ml-models        cli-tools        test-harness

3. View Repository Details

Use verbose mode to see more information:

omgw list -v

Output:

Found 15 repositories:

NAME              TYPE       VISIBILITY  TAGS              PATH
----------------  ---------  ----------  ----------------  ------------------------------------
my-project        github     private     personal, web     /home/user/projects/my-project
work-api          gitlab     private     work              /home/user/projects/work-api
client-site       bitbucket  unknown     client, archived  /home/user/projects/client-site

4. Navigate Your Workspace

With shell integration set up, omgw changes directory for you:

# Jump to a repository by name
omgw my-project

# Jump back to the workspace root
omgw cd

5. Check Version

omgw --version

Output:

omgitworks version dev
  commit: abc1234
  built:  2025-12-25T21:00:00Z

Next Steps