2
19
Fork
You've already forked codeberg-cli
1
  • Python 99.8%
  • Just 0.2%
ThatXliner 1acd160bf3
🔖 chore(release): bump version to 0.5.0
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026年06月14日 08:53:53 -07:00
.github/workflows remove codecov 2026年05月04日 21:41:35 -07:00
src/codeberg_cli feat(issue): add reactions, dependencies, and attachments 2026年06月14日 08:47:17 -07:00
tests feat(issue): add reactions, dependencies, and attachments 2026年06月14日 08:47:17 -07:00
.gitignore updated .gitignore 2026年05月04日 21:08:46 -07:00
.python-version Initial project scaffold for cb CLI 2026年05月04日 20:21:32 -07:00
Justfile rename! 2026年05月04日 21:55:52 -07:00
LICENSE License to MIT 2026年05月04日 21:56:56 -07:00
pyproject.toml 🔖 chore(release): bump version to 0.5.0 2026年06月14日 08:53:53 -07:00
README.md 📝 docs: mark newly implemented features in comparison matrix 2026年06月14日 08:47:21 -07:00
uv.lock fix(client): follow redirects and surface clear Actions errors 2026年06月14日 08:14:25 -07:00

cb — A Codeberg CLI

PyPI - Python Version PyPI PyPI - License

cb is a CLI for Codeberg (a Forgejo instance) — think gh for Codeberg. It also works with any Forgejo instance. Built with Xclif.

# One-time setup
cb auth login
# Work with repos, issues, PRs, releases
cb repo list
cb issue create --title "Fix the thing"
cb pr create --base main --head fix
cb release create v0.2.0

Install

pip install codeberg-cli # or: uv tool install codeberg-cli

Or from source:

git clone https://codeberg.org/ThatXliner/codeberg-cli.git
cd cb
uv tool install .

Quickstart

# Authenticate (tokens at https://codeberg.org/user/settings/applications)
cb auth login
# Who am I?
cb auth whoami
# List your repos
cb repo list
# Clone one
cb repo clone ThatXliner/cb
# Open an issue
cb issue create --title "suggestion" --body "what about..."
# See everything you can do
cb --help

Config

Token stored in $XDG_CONFIG_HOME/codeberg-cli/config.toml (managed by cb auth login / cb auth logout).

View or change config:

cb config path # Show config file location
cb config get # Print all config values
cb config set base_url "https://codeberg.org/api/v1" # Codeberg (default)
cb config set base_url "https://git.example.com/api/v1" # Self-hosted Forgejo

Comparison

Here's how cb stacks up against other Forgejo CLI tools. Last updated: June 2026.

TL;DR: cb is the most feature-complete Forgejo CLI — by a wide margin.

cb (this) fj (forgejo-cli) berg (codeberg-cli) tea (gitea/tea) gcli
Language Python Rust Rust Go C
Install pip install codeberg-cli prebuilt binaries/Cargo cargo install codeberg-cli brew install tea brew install gcli
Multi-instance cb config set base_url -H <instance> BERG_BASE_URL tea login add -t forgejo

Issues

cb fj berg tea gcli
Create
List
View
Close
Reopen
Comment
Edit
Delete
Pin/Unpin
Search
Attachments
Labels (manage on issue)
Reactions
Subscriptions
Tracked times
Dependencies
Deadline
Templates

Pull Requests

cb fj berg tea gcli
Create
List
View
Merge
Close
Reopen
Comment
Edit
Checkout
Commits
Files/changed
Reviews
Diff/Patch
Update branch
AGit (no-fork)
CI status
Templates
Auto-merge

Releases

cb fj berg tea gcli
Create
List
View
Upload assets
Delete
Edit
Latest
By tag

Repositories

cb fj berg tea gcli
Create
List
View
Clone
Fork
Delete
Star
Unstar
Watch/Unwatch
Edit
Migrate/Mirror
Branches
Topics
Languages
Hooks
Archive
Commits
Contents
Collaborators
Transfer
Wikis
Push mirrors
Search

Labels

cb fj berg tea gcli
Create
List
Delete
Edit

Milestones

cb fj berg tea gcli
Create
List
View
Delete
Edit

Notifications

cb fj berg tea gcli
List
Mark read
Thread details
Per-repo

Extra

cb fj berg tea gcli
Raw API
User profiles
SSH keys
GPG keys
Org/team mgmt
Forgejo Actions
Shell completions (auto via xclif)
JSON output (via --json)
Non-interactive auto (no prompts)
Config management
Web browser flag on view commands

Built in Python with Xclif for a clean, hackable codebase. If something's missing, open an issue!

License

MIT