forgejo

A Forgejo client 🔮

forgejo

A client for Forgejo forges.

Installation

As a git sub-command

  1. Choose a name for your forge - e.g., berg for codeberg.org.

  2. Rename (or symlink) the binary as git-berg (or whatever name you chose)

  3. 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

  1. Add the dependency to your shard.yml:

    dependencies: forgejo: codeberg: bjjb/forgejo

  2. 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

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors

  • bjjb - creator and maintainer
Repository

forgejo

Owner
Statistic
  • 0
  • 0
  • 5
  • 0
  • 1
  • about 3 hours ago
  • February 6, 2026
License

Links
Synced at

Wed, 22 Jul 2026 06:44:24 GMT

Languages