forgejo
forgejo
A client for Forgejo forges.
Installation
As a git sub-command
-
Choose a name for your forge - e.g.,
bergfor codeberg.org. -
Rename (or symlink) the binary as
git-berg(or whatever name you chose) -
Configure git, for example:
For Codeberg - you may use different forges for different binaries
git config berg.uri https://codeberg.org/api/v1 git config berg.tokencmd 'printf abc123' git config berg.home ~/src/codeberg.org git config berg.user alice
The uri should be the full URI of the forge's REST API. home is a directory where all projects will reside (beneath namespace directories). tokencmd is a command to run which should output the token to standard out (for example, 'pass codeberg.org/token'). user is your codeberg username (only required in some cases).
As a library
-
Add the dependency to your
shard.yml:dependencies: forgejo: codeberg: bjjb/forgejo
-
Run
shards install
Usage
require "forgejo"
Development
You'll need Crystal. Just clone the project, and run
shards
To run the test suite:
crystal spec
To build the binary:
shards build
The binary will be built to bin/forgejo. Use --production --release flags if you want a smaller, faster binary.
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create a new Pull Request
Contributors
- bjjb - creator and maintainer
forgejo
- 0
- 0
- 5
- 0
- 1
- about 3 hours ago
- February 6, 2026
Wed, 22 Jul 2026 06:44:24 GMT