This tutorial walks you through your first day with Kizuna, from creating an account to merging your first pull request. By the end, you'll understand the core workflow.
Prerequisites
- A running Kizuna instance (self-hosted or cloud.kizuna.codes)
- Jujutsu (jj) installed (or Git — both work)
- Optionally, the Kizuna CLI (
kz)
Step 1: Create Your Account
On Kizuna Cloud
- Visit cloud.kizuna.codes and click Sign Up
- Authenticate with GitHub, GitLab, or email
- Choose a username — this is your identity across Kizuna
On Self-Hosted
- Navigate to your instance URL (e.g.,
https://kizuna.yourcompany.com) - Click Register (or use SSO if your admin configured OIDC)
- Complete the registration form
Step 2: Create or Join an Organization
Organizations are the top-level container for repositories and teams.
Create a New Organization
- Click your avatar in the top-right corner
- Select New Organization
- Enter:
- Name:
my-team(URL-safe, lowercase) - Display Name: "My Team"
- Visibility: Private (recommended for teams)
- Name:
- Click Create
Join an Existing Organization
Ask your team admin to invite you, or use an invitation link if one was shared.
Step 3: Create Your First Repository
- From your organization page, click New Repository
- Fill in:
- Name:
hello-kizuna - Description: "Learning the Kizuna workflow"
- Visibility: Private
- Initialize with README: Check this box
- Name:
- Click Create Repository
You'll land on the repository page showing the default main branch with your README.
Step 4: Clone the Repository
With Jujutsu (Recommended)
bash
jj git clone https://kizuna.yourcompany.com/my-team/hello-kizuna
cd hello-kizunaWith Git
bash
git clone https://kizuna.yourcompany.com/my-team/hello-kizuna
cd hello-kizunaWith the CLI
bash
# Coming soon
kz repo clone my-team/hello-kizunaStep 5: Make Your First Change
With Jujutsu
Jujutsu has no staging area — every edit is automatically part of the working-copy commit:
bash
# Create a new file
cat > app.js << 'EOF'
function greet(name) {
return `Hello, ${name}! Welcome to Kizuna.`;
}
console.log(greet("World"));
EOF
# See what jj tracked automatically
jj status
# Describe your change
jj describe -m "Add greeting application"
# View the log
jj logWith Git
bash
git checkout -b feature/greeting
cat > app.js << 'EOF'
function greet(name) {
return `Hello, ${name}! Welcome to Kizuna.`;
}
console.log(greet("World"));
EOF
git add app.js
git commit -m "Add greeting application"Step 6: Push Your Change
With Jujutsu
bash
# Push creates a remote bookmark (branch) automatically
jj git pushWith Git
bash
git push -u origin feature/greetingStep 7: Open a Pull Request
Via Web UI
- Navigate to your repository on Kizuna
- You'll see a banner: "feature/greeting has recent pushes — Compare & Pull Request"
- Click it, or go to Pull Requests > New Pull Request
- Fill in:
- Title: "Add greeting application"
- Description: Explain what you built and why
- Reviewers: Add a teammate (or skip for now)
- Click Create Pull Request
Via API
bash
curl -X POST https://kizuna.yourcompany.com/api/v1/repos/my-team/hello-kizuna/pulls \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"title": "Add greeting application",
"body": "First change — a simple greeting app",
"head": "feature/greeting",
"base": "main"
}'Step 8: Review and Merge
- On the PR page, review the diff
- If everything looks good, click Approve
- Click Merge Pull Request
- Choose merge strategy:
- Merge commit — preserves full history
- Squash — collapses into one commit
- Rebase — linear history
- Confirm the merge
Step 9: Set Up SSH Keys (Optional)
For passwordless Git/Jujutsu access:
- Generate a key if you don't have one:bash
ssh-keygen -t ed25519 -C "your@email.com" - Go to Settings > SSH Keys
- Click Add SSH Key
- Paste your public key (
~/.ssh/id_ed25519.pub) - Update your clone URL:bash
# Jujutsu jj git remote set-url origin git@kizuna.yourcompany.com:my-team/hello-kizuna.git # Git git remote set-url origin git@kizuna.yourcompany.com:my-team/hello-kizuna.git
Step 10: Explore the Platform
Now that you've completed the basic workflow, explore these features:
| Feature | Where to Find It |
|---|---|
| Issues | Repository > Issues tab |
| Kanban Board | Repository > Issues > Board view |
| CI/CD | Repository > Pipelines tab |
| Wiki | Repository > Wiki tab |
| Settings | Repository > Settings gear icon |
What to Learn Next
- Tutorial: Team Setup — Configure your team's workflow
- Tutorial: Working with Agents — Set up your first AI agent
- Tutorial: CI/CD Setup — Automate your build pipeline
- Version Control Overview — Master Jujutsu workflows
- Code Review Guide — Effective PR reviews
Troubleshooting
Authentication Fails
- Verify your credentials at Settings > Account
- For SSH: run
ssh -T git@kizuna.yourcompany.comto test the connection - For HTTPS: ensure your token hasn't expired
Push Rejected
- Check if branch protection rules are blocking direct pushes to
main - Create a feature branch and use pull requests instead
Jujutsu Not Recognized
- Install jj:
cargo install jj-clior download from GitHub releases - Ensure
jjis in your PATH