Skip to main content

A Forgejo CLI — works with Codeberg and any Forgejo instance

Project description

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: May 2026.

cb (this) fj (forgejo-cli) berg (codeberg-cli) tea (gitea/tea) gcli
Language Python Rust Rust Go C
Version v0.2.0 v0.5.0 v0.5.1 v0.13.0 v2.11.0
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

cb is the most feature-complete Forgejo CLI — by a wide margin. It dominates on repo management (branches, topics, languages, tags, commits, contents, collaborators, search, archive, transfer, watch/unwatch, sync-fork, migrate), issues (delete, pin, labels, search, subscribe, tracked times), PRs (diff, commits, files, reopen, update), releases (delete, edit, latest, by-tag), and extras (Actions, org/team management, --json on every command, raw API, release uploads). Built in Python with Xclif for a clean, hackable codebase. If something's missing, open an issue!

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

codeberg_cli-0.3.0.tar.gz (33.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

codeberg_cli-0.3.0-py3-none-any.whl (80.8 kB view details)

Uploaded Python 3

File details

Details for the file codeberg_cli-0.3.0.tar.gz.

File metadata

  • Download URL: codeberg_cli-0.3.0.tar.gz
  • Upload date:
  • Size: 33.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for codeberg_cli-0.3.0.tar.gz
Algorithm Hash digest
SHA256 17c3a698a8c694a4d512224133561efd54cb84f6c6b1890aa69c8f3d7b305be5
MD5 22b1355354902e0fadf3377ade807dd3
BLAKE2b-256 dc38f026c2aef19aae04d62d009d394150284adffd947fb1174b6d530b1156a9

See more details on using hashes here.

File details

Details for the file codeberg_cli-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: codeberg_cli-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 80.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for codeberg_cli-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d50bb22b863754c9c584f5ea39055b3d7edc87bf310c8a6aad10cc7200552e1e
MD5 c64903d4a66ae6ee7da43e45ddc60d96
BLAKE2b-256 394189c8e083174e451b3b7fbf267c54b7f996b2a57fe9cc019699172a4e4f51

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page