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.4.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.4.0-py3-none-any.whl (80.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: codeberg_cli-0.4.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.4.0.tar.gz
Algorithm Hash digest
SHA256 7fad2dfe87aa3054fb700a5df4209ace4ce42493bab2ed56e2d6ae023e5f3f35
MD5 7871e893aa0825250b9675937eb4819a
BLAKE2b-256 53386dcfdff49c4555a151f83b4af9ed6cfb01618ab974514eed696d55db17ff

See more details on using hashes here.

File details

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

File metadata

  • Download URL: codeberg_cli-0.4.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.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 84c09cfef292f8486eef73998eac844e1881768327079597818ec01e103caf2a
MD5 b7df91f5926a77c77d00bd2c9bf4bf10
BLAKE2b-256 ffedf7f1ea4d1a6a5c18e4b5dd9be99d457733e260d04eba4270f9c3c1718e84

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