fjo
A Forgejo/Codeberg management tool built with Sigil. Works as both a CLI for humans and an MCP server for AI agents.
CLI Usage
fjo repos list sigil # List repos in org fjo repos info sigil kiln # Repo details fjo repos create sigil new-repo "desc" # Create repo fjo topics list sigil kiln # List topics fjo topics set sigil kiln app ci # Set topics fjo topics add sigil kiln library # Add topic fjo issues list sigil kiln # List issues fjo issues get sigil kiln 42 # Get issue details fjo issues create sigil kiln "Bug title" # Create issue fjo prs list sigil kiln # List pull requests fjo prs get sigil kiln 7 # Get PR details fjo releases list sigil sigil # List releases
MCP Server
Start with fjo serve. Exposes these tools:
fjo/repos-list,fjo/repos-info,fjo/repos-createfjo/topics-list,fjo/topics-set,fjo/topics-addfjo/issues-list,fjo/issues-get,fjo/issues-create,fjo/issues-commentfjo/pulls-list,fjo/pulls-get,fjo/pulls-create,fjo/pulls-mergefjo/releases-list,fjo/releases-create
Configuration
fjo reads a .env-fjo file from the working directory at startup if present. This is the standard convention for Sigil MCP servers — credentials live in a dotenv file rather than in the MCP server configuration.
Create a .env-fjo in your project root:
Read the rest
FORGEJO_TOKEN=your-api-token-here FORGEJO_URL=https://codeberg.org
Environment variables set through other means (shell export, MCP config) take precedence over the dotenv file.
| Variable | Description | Default |
|---|---|---|
FORGEJO_TOKEN | API token (required) | — |
FORGEJO_URL | Instance base URL | https://codeberg.org |
Building
sigil deps install
sigil buildThe bundled binary is at build/dev/bin/fjo.
Dependencies
- sigil-forgejo — Forgejo API client library
License
BSD-3-Clause
$ git clone https://codeberg.org/sigil/fjo
v0.2.3 — latest by version, released 14 Jul 2026
All releases — 5 tags in this repository.
One page per file, and every line has a permalink.
3d547693
67c2ad60
6337b626
Initial fjo CLI and MCP server
3f4b1b1a
The last 20 commits keep a page here. Everything older lives in the clone.