Skip to main content

Quick Start

Get up and running with JJHub - the jj-native code hosting platform with integrated collaborative agent sandboxes in the cloud.

Prerequisites

  • jj (Jujutsu) installed
  • The JJHub CLI (jjhub) installed - see Installation
  • A JJHub account - currently available via closed alpha invite

1. Authenticate

jjhub auth login
This opens your browser for GitHub OAuth authentication. Once authorized, your credentials are stored securely in your OS keychain. Verify you’re logged in:
jjhub auth status
For CI environments where a browser isn’t available, use a personal access token:
export JJHUB_TOKEN=jjhub_your_token_here

2. Create a Repository

jjhub repo create my-project --description "My first JJHub project"
By default, repositories are public. To create a private repo:
jjhub repo create my-private-project --private

3. Clone and Work

jjhub repo clone username/my-project
cd my-project
Edit files, then describe your change (jj doesn’t use git add or git commit):
# Edit a file
echo "# My Project" > README.md

# Describe your change
jj describe -m "Add README"

# Push to JJHub
jj git push

4. Open a Landing Request

Landing Requests (LRs) are JJHub’s replacement for Pull Requests, built natively for jj’s stacked changes model.
jjhub land create --title "Add README" --target main
To land a whole stack of changes:
jjhub land create --title "Feature: user auth" --target main --stack

5. Review and Merge

View your landing request:
jjhub land view 1
Check CI status:
jjhub land checks 1
Merge when ready:
jjhub land merge 1

Next Steps