A command-line tool for Forgejo instances.
Find a file
Stephen Way de49c33921
batch: release, label, workflow, search, browse, status, org, keys, alias, config, extension, gist
* New top-level groups, each with full CRUD where the API supports it:
  - release: list/view/create/edit/delete/upload/download
  - label: list/create/edit/delete
  - run: workflow runs (list/view/rerun/cancel)
  - secret + variable: Actions secrets/vars (list/set/delete)
  - search: cross-cutting (repos/issues/prs/users)
  - browse: open repo/path on the web
  - status: notifications inbox + mark-all-read
  - org: list/view/teams
  - ssh-key, gpg-key: list/add/delete on your account
  - alias: user-defined shortcuts (e.g. `fj alias set co "pr checkout"`)
  - config: local prefs (editor, pager, browser, etc.)
  - extension: discover and run `fj-<name>` plugin binaries on PATH
  - gist: thin wrapper over `gist-*` repos
* main.rs now expands aliases before clap and dispatches to plugins for
  unknown subcommands (matching gh).
* New API modules: release, label, notification, search, org, workflow,
  with the corresponding strongly-typed wrappers.
* Release asset upload uses reqwest multipart (feature flag added).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 08:29:31 -07:00
hooks expand: repo auto-detect, --web, editor, PR diff/checks/ready/review/status, repo lifecycle, api headers/paginate 2026-05-13 08:22:40 -07:00
scripts expand: repo auto-detect, --web, editor, PR diff/checks/ready/review/status, repo lifecycle, api headers/paginate 2026-05-13 08:22:40 -07:00
src batch: release, label, workflow, search, browse, status, org, keys, alias, config, extension, gist 2026-05-13 08:29:31 -07:00
.gitignore initial: fj, a CLI for Forgejo 2026-05-13 07:56:28 -07:00
Cargo.lock batch: release, label, workflow, search, browse, status, org, keys, alias, config, extension, gist 2026-05-13 08:29:31 -07:00
Cargo.toml batch: release, label, workflow, search, browse, status, org, keys, alias, config, extension, gist 2026-05-13 08:29:31 -07:00
README.md initial: fj, a CLI for Forgejo 2026-05-13 07:56:28 -07:00

fj

A command-line tool for Forgejo instances, in the spirit of GitHub's gh.

Multi-host from day one. Tokens are stored in your OS keychain.

Install

cargo install --path .

Quick start

fj auth login                          # add a host and token
fj auth status                         # show signed-in hosts
fj repo list                           # repos you own on the default host
fj repo view owner/name                # repo overview
fj issue list -R owner/name            # issues
fj pr list -R owner/name --state open  # pull requests
fj api /repos/search?q=foo             # raw API escape hatch

Use --host <hostname> on any command to target a specific host.

Commands

Group Commands
auth login, status, logout, list, switch
repo list, view, clone, create
issue list, view, create, close, reopen, comment
pr list, view, create, checkout, merge, close
api raw HTTP against /api/v1 with optional fields and jq-style field selection

Config

  • Hosts and the current host live in $XDG_CONFIG_HOME/fj/hosts.toml (~/Library/Application Support/fj/hosts.toml on macOS).
  • Tokens live in the OS keychain under service fj keyed by hostname.

License

MIT