CLI
What this solves
You need repeatable Forgejo administration or release tasks that can run from a shell or CI job.
Good Forgejo automation combines a scriptable CLI, workflow runners, and explicit operational boundaries.
CLI
You need repeatable Forgejo administration or release tasks that can run from a shell or CI job.
Start with the smallest repeatable task and make the inputs explicit: repository, branch, token scope, output format, and failure behavior. Once the script is boring locally, move it into Actions or a scheduled operational job with the same assumptions documented.
set -euo pipefail
repo="org/project"
fj issue list --repo "$repo" --json number,title,state
fj run list --repo "$repo" --json id,status,conclusion
fj api "repos/$repo/releases"Prefer JSON output for scripts and human output for local use.
Rotate tokens used by automation and keep their ownership clear.
Make destructive operations require an explicit repository or release id.
Use fj as a Forgejo CLI for issues, pull requests, releases, Actions logs, and automation.
Build a terminal-first Forgejo workflow for pull requests, checks, issues, releases, and scripts.
Use dependency caches deliberately when porting Node, Python, Go, Rust, and Docker workflows to Forgejo Actions.