From 2e6575c660cf2870c990ca04cf04494a37b89351 Mon Sep 17 00:00:00 2001 From: sid Date: Mon, 23 Mar 2026 13:11:43 -0600 Subject: [PATCH 01/14] docs: document match_dirs for directory-based host selection The match_dirs config option was undocumented. Add a dedicated section explaining directory-based host selection with examples, and update the hostname resolution priority list to include match_dirs at step 4. --- README.md | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9da291f..d0ba488 100644 --- a/README.md +++ b/README.md @@ -453,13 +453,45 @@ hosts: token: your_token_here user: your_username git_protocol: ssh + match_dirs: + - / # catch-all: use this host when no git remote is detected codeberg.org: hostname: codeberg.org token: another_token user: another_username git_protocol: https + match_dirs: + - ~/repos/codeberg # use this host for repos under this directory ``` +### Directory-Based Host Selection (`match_dirs`) + +When you work with multiple Forgejo/Gitea instances, `fgj` can automatically select the right host based on your current working directory — no `--hostname` flag needed. + +Each host entry supports a `match_dirs` list of directory paths. When `fgj` can't determine the host from a git remote, it finds the host whose `match_dirs` entry is the **longest prefix match** for your current directory. + +```yaml +hosts: + work.example.com: + # ... + match_dirs: + - ~/work # any repo under ~/work uses this host + personal.example.com: + # ... + match_dirs: + - ~/personal + - ~/side-projects # multiple directories can map to the same host + codeberg.org: + # ... + match_dirs: + - / # catch-all fallback (shortest prefix, lowest priority) +``` + +- Paths support `~` expansion and symlink resolution +- More specific (longer) paths always win over shorter ones +- Use `/` as a catch-all to override the default `codeberg.org` fallback +- On ties (same prefix length), the host appearing first in the config file wins + ### Environment Variables - `FGJ_HOST`: Override the default instance (auto-detected from git remote if not set) @@ -469,7 +501,8 @@ Hostname is resolved in this priority order: 1. Command-specific flags (e.g., `--hostname`) 2. `FGJ_HOST` environment variable 3. Auto-detected from git remote URL -4. Default to `codeberg.org` +4. `match_dirs` lookup (longest prefix match against current directory) +5. Default to `codeberg.org` ### Command-line Flags From c2251d9932b9bc3014233f97cfe1c43249a0e22c Mon Sep 17 00:00:00 2001 From: sid Date: Sat, 11 Apr 2026 10:34:34 -0600 Subject: [PATCH 02/14] chore: migrate module path to public org Move from forgejo.zerova.net/sid/fgj-sid to forgejo.zerova.net/public/fgj-sid to reflect the new public org. --- CHANGELOG.md | 6 +++--- README.md | 8 ++++---- cmd/actions.go | 4 ++-- cmd/api.go | 4 ++-- cmd/auth.go | 4 ++-- cmd/errors.go | 2 +- cmd/ios_init.go | 2 +- cmd/issue.go | 6 +++--- cmd/label.go | 4 ++-- cmd/milestone.go | 6 +++--- cmd/pr.go | 8 ++++---- cmd/pr_checks.go | 6 +++--- cmd/pr_diff.go | 4 ++-- cmd/pr_review.go | 4 ++-- cmd/release.go | 6 +++--- cmd/repo.go | 6 +++--- cmd/root.go | 2 +- cmd/wiki.go | 6 +++--- go.mod | 2 +- internal/api/client.go | 2 +- internal/api/client_test.go | 2 +- main.go | 2 +- 22 files changed, 48 insertions(+), 48 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4a61045..90f337c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -203,9 +203,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Cobra framework for CLI structure - Viper for configuration management -[0.3.0c]: https://forgejo.zerova.net/sid/fgj-sid/releases/tag/v0.3.0c -[0.3.0b]: https://forgejo.zerova.net/sid/fgj-sid/releases/tag/v0.3.0b -[0.3.0a]: https://forgejo.zerova.net/sid/fgj-sid/releases/tag/v0.3.0a +[0.3.0c]: https://forgejo.zerova.net/public/fgj-sid/releases/tag/v0.3.0c +[0.3.0b]: https://forgejo.zerova.net/public/fgj-sid/releases/tag/v0.3.0b +[0.3.0a]: https://forgejo.zerova.net/public/fgj-sid/releases/tag/v0.3.0a [0.3.0]: https://codeberg.org/romaintb/fgj/releases/tag/v0.3.0 [0.2.0]: https://codeberg.org/romaintb/fgj/releases/tag/v0.2.0 [0.1.0]: https://codeberg.org/romaintb/fgj/releases/tag/v0.1.0 diff --git a/README.md b/README.md index d0ba488..770b787 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ `fgj` is a command-line tool for working with Forgejo and Gitea instances. It brings pull requests, issues, and other forge concepts to the terminal, similar to what `gh` does for GitHub. This fork adds agentic dev features — raw API access, PR review workflows, structured error output, and machine-readable I/O for AI coding agents. -> Forked from [codeberg.org/romaintb/fgj](https://codeberg.org/romaintb/fgj) and hosted at [forgejo.zerova.net/sid/fgj-sid](https://forgejo.zerova.net/sid/fgj-sid). +> Forked from [codeberg.org/romaintb/fgj](https://codeberg.org/romaintb/fgj) and hosted at [forgejo.zerova.net/public/fgj-sid](https://forgejo.zerova.net/public/fgj-sid). ## Features @@ -40,13 +40,13 @@ brew install fgj ### Using Go Install ```bash -go install forgejo.zerova.net/sid/fgj-sid@latest +go install forgejo.zerova.net/public/fgj-sid@latest ``` ### From Source ```bash -git clone https://forgejo.zerova.net/sid/fgj-sid.git +git clone https://forgejo.zerova.net/public/fgj-sid.git cd fgj-sid go build -o fgj . ``` @@ -557,7 +557,7 @@ fgj pr view 9999 --json --json-errors 2>errors.json ## Contributing -Contributions are welcome! Please feel free to submit a Pull Request at [forgejo.zerova.net/sid/fgj-sid](https://forgejo.zerova.net/sid/fgj-sid). +Contributions are welcome! Please feel free to submit a Pull Request at [forgejo.zerova.net/public/fgj-sid](https://forgejo.zerova.net/public/fgj-sid). ## Missing Features / Roadmap diff --git a/cmd/actions.go b/cmd/actions.go index dc1ebe5..c1418ad 100644 --- a/cmd/actions.go +++ b/cmd/actions.go @@ -10,8 +10,8 @@ import ( "code.gitea.io/sdk/gitea" "github.com/spf13/cobra" - "forgejo.zerova.net/sid/fgj-sid/internal/api" - "forgejo.zerova.net/sid/fgj-sid/internal/config" + "forgejo.zerova.net/public/fgj-sid/internal/api" + "forgejo.zerova.net/public/fgj-sid/internal/config" ) // ActionRun represents a workflow run diff --git a/cmd/api.go b/cmd/api.go index 758efdd..f5beba4 100644 --- a/cmd/api.go +++ b/cmd/api.go @@ -10,8 +10,8 @@ import ( "strconv" "strings" - "forgejo.zerova.net/sid/fgj-sid/internal/config" - "forgejo.zerova.net/sid/fgj-sid/internal/git" + "forgejo.zerova.net/public/fgj-sid/internal/config" + "forgejo.zerova.net/public/fgj-sid/internal/git" "github.com/spf13/cobra" ) diff --git a/cmd/auth.go b/cmd/auth.go index 832e14d..a6b3c74 100644 --- a/cmd/auth.go +++ b/cmd/auth.go @@ -7,8 +7,8 @@ import ( "strings" "syscall" - "forgejo.zerova.net/sid/fgj-sid/internal/api" - "forgejo.zerova.net/sid/fgj-sid/internal/config" + "forgejo.zerova.net/public/fgj-sid/internal/api" + "forgejo.zerova.net/public/fgj-sid/internal/config" "github.com/spf13/cobra" "github.com/spf13/viper" "golang.org/x/term" diff --git a/cmd/errors.go b/cmd/errors.go index 45ae602..e303e6e 100644 --- a/cmd/errors.go +++ b/cmd/errors.go @@ -6,7 +6,7 @@ import ( "fmt" "strings" - "forgejo.zerova.net/sid/fgj-sid/internal/api" + "forgejo.zerova.net/public/fgj-sid/internal/api" ) // Error codes for structured error output. diff --git a/cmd/ios_init.go b/cmd/ios_init.go index f4846e5..9d36650 100644 --- a/cmd/ios_init.go +++ b/cmd/ios_init.go @@ -1,5 +1,5 @@ package cmd -import "forgejo.zerova.net/sid/fgj-sid/internal/iostreams" +import "forgejo.zerova.net/public/fgj-sid/internal/iostreams" var ios = iostreams.New() diff --git a/cmd/issue.go b/cmd/issue.go index c5d80b8..f053b1a 100644 --- a/cmd/issue.go +++ b/cmd/issue.go @@ -6,9 +6,9 @@ import ( "strings" "code.gitea.io/sdk/gitea" - "forgejo.zerova.net/sid/fgj-sid/internal/api" - "forgejo.zerova.net/sid/fgj-sid/internal/config" - "forgejo.zerova.net/sid/fgj-sid/internal/text" + "forgejo.zerova.net/public/fgj-sid/internal/api" + "forgejo.zerova.net/public/fgj-sid/internal/config" + "forgejo.zerova.net/public/fgj-sid/internal/text" "github.com/spf13/cobra" ) diff --git a/cmd/label.go b/cmd/label.go index 4361414..87cea75 100644 --- a/cmd/label.go +++ b/cmd/label.go @@ -5,8 +5,8 @@ import ( "strings" "code.gitea.io/sdk/gitea" - "forgejo.zerova.net/sid/fgj-sid/internal/api" - "forgejo.zerova.net/sid/fgj-sid/internal/config" + "forgejo.zerova.net/public/fgj-sid/internal/api" + "forgejo.zerova.net/public/fgj-sid/internal/config" "github.com/spf13/cobra" ) diff --git a/cmd/milestone.go b/cmd/milestone.go index 2c38835..ce9813c 100644 --- a/cmd/milestone.go +++ b/cmd/milestone.go @@ -7,9 +7,9 @@ import ( "time" "code.gitea.io/sdk/gitea" - "forgejo.zerova.net/sid/fgj-sid/internal/api" - "forgejo.zerova.net/sid/fgj-sid/internal/config" - "forgejo.zerova.net/sid/fgj-sid/internal/text" + "forgejo.zerova.net/public/fgj-sid/internal/api" + "forgejo.zerova.net/public/fgj-sid/internal/config" + "forgejo.zerova.net/public/fgj-sid/internal/text" "github.com/spf13/cobra" ) diff --git a/cmd/pr.go b/cmd/pr.go index 42d3d6f..3ffbfad 100644 --- a/cmd/pr.go +++ b/cmd/pr.go @@ -7,10 +7,10 @@ import ( "strings" "code.gitea.io/sdk/gitea" - "forgejo.zerova.net/sid/fgj-sid/internal/api" - "forgejo.zerova.net/sid/fgj-sid/internal/config" - gitpkg "forgejo.zerova.net/sid/fgj-sid/internal/git" - "forgejo.zerova.net/sid/fgj-sid/internal/text" + "forgejo.zerova.net/public/fgj-sid/internal/api" + "forgejo.zerova.net/public/fgj-sid/internal/config" + gitpkg "forgejo.zerova.net/public/fgj-sid/internal/git" + "forgejo.zerova.net/public/fgj-sid/internal/text" "github.com/spf13/cobra" ) diff --git a/cmd/pr_checks.go b/cmd/pr_checks.go index f781f95..f475524 100644 --- a/cmd/pr_checks.go +++ b/cmd/pr_checks.go @@ -4,9 +4,9 @@ import ( "fmt" "code.gitea.io/sdk/gitea" - "forgejo.zerova.net/sid/fgj-sid/internal/api" - "forgejo.zerova.net/sid/fgj-sid/internal/config" - "forgejo.zerova.net/sid/fgj-sid/internal/iostreams" + "forgejo.zerova.net/public/fgj-sid/internal/api" + "forgejo.zerova.net/public/fgj-sid/internal/config" + "forgejo.zerova.net/public/fgj-sid/internal/iostreams" "github.com/spf13/cobra" ) diff --git a/cmd/pr_diff.go b/cmd/pr_diff.go index f91add4..414669f 100644 --- a/cmd/pr_diff.go +++ b/cmd/pr_diff.go @@ -4,8 +4,8 @@ import ( "fmt" "strings" - "forgejo.zerova.net/sid/fgj-sid/internal/api" - "forgejo.zerova.net/sid/fgj-sid/internal/config" + "forgejo.zerova.net/public/fgj-sid/internal/api" + "forgejo.zerova.net/public/fgj-sid/internal/config" "github.com/spf13/cobra" ) diff --git a/cmd/pr_review.go b/cmd/pr_review.go index ab2c8a7..94115ff 100644 --- a/cmd/pr_review.go +++ b/cmd/pr_review.go @@ -6,8 +6,8 @@ import ( "os" "code.gitea.io/sdk/gitea" - "forgejo.zerova.net/sid/fgj-sid/internal/api" - "forgejo.zerova.net/sid/fgj-sid/internal/config" + "forgejo.zerova.net/public/fgj-sid/internal/api" + "forgejo.zerova.net/public/fgj-sid/internal/config" "github.com/spf13/cobra" ) diff --git a/cmd/release.go b/cmd/release.go index ba7c29d..b83dcd8 100644 --- a/cmd/release.go +++ b/cmd/release.go @@ -9,9 +9,9 @@ import ( "time" "code.gitea.io/sdk/gitea" - "forgejo.zerova.net/sid/fgj-sid/internal/api" - "forgejo.zerova.net/sid/fgj-sid/internal/config" - "forgejo.zerova.net/sid/fgj-sid/internal/text" + "forgejo.zerova.net/public/fgj-sid/internal/api" + "forgejo.zerova.net/public/fgj-sid/internal/config" + "forgejo.zerova.net/public/fgj-sid/internal/text" "github.com/spf13/cobra" ) diff --git a/cmd/repo.go b/cmd/repo.go index 620d942..a9f62f6 100644 --- a/cmd/repo.go +++ b/cmd/repo.go @@ -8,9 +8,9 @@ import ( "strings" "code.gitea.io/sdk/gitea" - "forgejo.zerova.net/sid/fgj-sid/internal/api" - "forgejo.zerova.net/sid/fgj-sid/internal/config" - "forgejo.zerova.net/sid/fgj-sid/internal/text" + "forgejo.zerova.net/public/fgj-sid/internal/api" + "forgejo.zerova.net/public/fgj-sid/internal/config" + "forgejo.zerova.net/public/fgj-sid/internal/text" "github.com/spf13/cobra" ) diff --git a/cmd/root.go b/cmd/root.go index 1233c9a..39739a1 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -6,7 +6,7 @@ import ( "strconv" "strings" - "forgejo.zerova.net/sid/fgj-sid/internal/git" + "forgejo.zerova.net/public/fgj-sid/internal/git" "github.com/spf13/cobra" "github.com/spf13/viper" ) diff --git a/cmd/wiki.go b/cmd/wiki.go index 3992c86..36e2ce5 100644 --- a/cmd/wiki.go +++ b/cmd/wiki.go @@ -7,9 +7,9 @@ import ( "net/url" "time" - "forgejo.zerova.net/sid/fgj-sid/internal/api" - "forgejo.zerova.net/sid/fgj-sid/internal/config" - "forgejo.zerova.net/sid/fgj-sid/internal/text" + "forgejo.zerova.net/public/fgj-sid/internal/api" + "forgejo.zerova.net/public/fgj-sid/internal/config" + "forgejo.zerova.net/public/fgj-sid/internal/text" "github.com/spf13/cobra" ) diff --git a/go.mod b/go.mod index b13d8ce..0ecd4a7 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module forgejo.zerova.net/sid/fgj-sid +module forgejo.zerova.net/public/fgj-sid go 1.24.0 diff --git a/internal/api/client.go b/internal/api/client.go index d91ca36..282a86a 100644 --- a/internal/api/client.go +++ b/internal/api/client.go @@ -9,7 +9,7 @@ import ( "time" "code.gitea.io/sdk/gitea" - "forgejo.zerova.net/sid/fgj-sid/internal/config" + "forgejo.zerova.net/public/fgj-sid/internal/config" ) var sharedHTTPClient = &http.Client{ diff --git a/internal/api/client_test.go b/internal/api/client_test.go index 31146e1..5b26675 100644 --- a/internal/api/client_test.go +++ b/internal/api/client_test.go @@ -3,7 +3,7 @@ package api import ( "testing" - "forgejo.zerova.net/sid/fgj-sid/internal/config" + "forgejo.zerova.net/public/fgj-sid/internal/config" ) func TestClient_Hostname(t *testing.T) { diff --git a/main.go b/main.go index b3b29a0..f23476d 100644 --- a/main.go +++ b/main.go @@ -4,7 +4,7 @@ import ( "fmt" "os" - "forgejo.zerova.net/sid/fgj-sid/cmd" + "forgejo.zerova.net/public/fgj-sid/cmd" ) func main() { From a6cf9a7096e0f9568ca3e0c4af87d96028a33080 Mon Sep 17 00:00:00 2001 From: sid Date: Sun, 19 Apr 2026 20:54:45 -0600 Subject: [PATCH 03/14] chore: bump version to 0.3.1 Restores installability via 'go install @latest'. Prior letter-suffix tags (v0.3.0a..v0.3.0f) aren't valid semver and were ignored by Go's module resolver, leaving @latest pointing at v0.3.0 which predates the module-path migration. --- cmd/root.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/root.go b/cmd/root.go index 39739a1..8234142 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -19,7 +19,7 @@ var rootCmd = &cobra.Command{ Short: "Forgejo CLI tool - work seamlessly with Forgejo from the command line", Long: `fgj is a command line tool for Forgejo instances (including Codeberg). It brings pull requests, issues, and other Forgejo concepts to the terminal.`, - Version: "0.3.0e", + Version: "0.3.1", SilenceErrors: true, } From bc43f6e5a5571779387a2239a281f5a311abe931 Mon Sep 17 00:00:00 2001 From: sid Date: Sun, 26 Apr 2026 08:16:52 -0600 Subject: [PATCH 04/14] rename fgj to fj Module path, binary name, config dir, help text, and docs all updated from fgj-sid/fgj to fj. --- .gitea/workflows/ci.yml | 2 +- .gitea/workflows/nightly.yml | 2 +- CHANGELOG.md | 152 +++++++-------- Makefile | 4 +- README.md | 286 ++++++++++++++-------------- bin/fj | Bin 0 -> 18134680 bytes cmd/actions.go | 68 +++---- cmd/aliases.go | 2 +- cmd/api.go | 12 +- cmd/auth.go | 8 +- cmd/completion.go | 2 +- cmd/errors.go | 6 +- cmd/ios_init.go | 2 +- cmd/issue.go | 46 ++--- cmd/label.go | 28 +-- cmd/manpages.go | 2 +- cmd/milestone.go | 38 ++-- cmd/pr.go | 52 ++--- cmd/pr_checks.go | 10 +- cmd/pr_diff.go | 12 +- cmd/pr_review.go | 20 +- cmd/release.go | 44 ++--- cmd/repo.go | 24 +-- cmd/root.go | 10 +- cmd/wiki.go | 42 ++-- go.mod | 2 +- internal/api/client.go | 2 +- internal/api/client_test.go | 2 +- internal/config/config.go | 4 +- internal/config/config_test.go | 14 +- internal/git/git_test.go | 20 +- main.go | 2 +- tests/functional/fixtures.go | 10 +- tests/functional/functional_test.go | 28 +-- 34 files changed, 479 insertions(+), 479 deletions(-) create mode 100755 bin/fj diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index cd989f4..ca2b95d 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -72,7 +72,7 @@ jobs: - name: Build production binary run: | make build - echo "Binary built at: $(pwd)/bin/fgj" + echo "Binary built at: $(pwd)/bin/fj" - name: Run functional tests run: go test -v -race -tags=functional ./tests/functional/... diff --git a/.gitea/workflows/nightly.yml b/.gitea/workflows/nightly.yml index d335132..ef53290 100644 --- a/.gitea/workflows/nightly.yml +++ b/.gitea/workflows/nightly.yml @@ -24,7 +24,7 @@ jobs: - name: Build production binary run: | make build - echo "Binary built at: $(pwd)/bin/fgj" + echo "Binary built at: $(pwd)/bin/fj" - name: Run functional tests run: go test -v -race -tags=functional ./tests/functional/... diff --git a/CHANGELOG.md b/CHANGELOG.md index 90f337c..466029f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,45 +10,45 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added #### Label Management -- `fgj label list` - List repository labels -- `fgj label create` - Create a label with color and description -- `fgj label edit` - Edit label name, color, or description -- `fgj label delete` - Delete a label +- `fj label list` - List repository labels +- `fj label create` - Create a label with color and description +- `fj label edit` - Edit label name, color, or description +- `fj label delete` - Delete a label #### Milestone Management -- `fgj milestone list` - List milestones with state filtering -- `fgj milestone view` - View milestone details -- `fgj milestone create` - Create a milestone with description and due date -- `fgj milestone edit` - Edit milestone title, description, due date, or state -- `fgj milestone delete` - Delete a milestone +- `fj milestone list` - List milestones with state filtering +- `fj milestone view` - View milestone details +- `fj milestone create` - Create a milestone with description and due date +- `fj milestone edit` - Edit milestone title, description, due date, or state +- `fj milestone delete` - Delete a milestone #### Wiki Management -- `fgj wiki list` - List wiki pages -- `fgj wiki view` - View wiki page content -- `fgj wiki create` - Create a wiki page from flag or file -- `fgj wiki edit` - Edit a wiki page -- `fgj wiki delete` - Delete a wiki page +- `fj wiki list` - List wiki pages +- `fj wiki view` - View wiki page content +- `fj wiki create` - Create a wiki page from flag or file +- `fj wiki edit` - Edit a wiki page +- `fj wiki delete` - Delete a wiki page #### Issue Dependencies -- `fgj issue edit --add-dependency ` - Add issue dependency -- `fgj issue edit --remove-dependency ` - Remove issue dependency +- `fj issue edit --add-dependency ` - Add issue dependency +- `fj issue edit --remove-dependency ` - Remove issue dependency ## [0.3.0b] - 2026-03-21 ### Added #### Repository Management -- `fgj repo edit` - Edit repository settings (visibility, description, homepage, default branch) +- `fj repo edit` - Edit repository settings (visibility, description, homepage, default branch) ### Fixed -- `fgj repo create --public` flag was defined but never read; now properly wired up +- `fj repo create --public` flag was defined but never read; now properly wired up ## [0.3.0a] - 2026-03-21 ### Added #### Raw API Access -- `fgj api ` - Make authenticated REST API requests to any Forgejo/Gitea endpoint +- `fj api ` - Make authenticated REST API requests to any Forgejo/Gitea endpoint - HTTP method selection (`--method`/`-X`), auto-switches to POST when fields are provided - JSON field assembly (`--field`/`-f`) with type inference (bool, int, float, null, string) - Raw string fields (`--raw-field`/`-F`) @@ -58,14 +58,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Response header display (`--include`/`-i`) #### Pull Request Management -- `fgj pr diff ` - View the diff for a pull request +- `fj pr diff ` - View the diff for a pull request - Colorized output (`--color auto/always/never`) - Changed file names only (`--name-only`) - Diffstat summary (`--stat`) -- `fgj pr comment ` - Add a comment to a pull request +- `fj pr comment ` - Add a comment to a pull request - Body from flag (`--body`/`-b`) or file (`--body-file`, `-` for stdin) - JSON output (`--json`) -- `fgj pr review ` - Submit a review on a pull request +- `fj pr review ` - Submit a review on a pull request - Approve (`--approve`/`-a`), request changes (`--request-changes`/`-r`), or comment (`--comment`/`-c`) - Body from flag or file - JSON output (`--json`) @@ -81,30 +81,30 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added #### Forgejo Actions -- `fgj actions run watch ` - Poll a run until completion -- `fgj actions run rerun ` - Trigger a rerun of a workflow run -- `fgj actions run cancel ` - Cancel an in-progress workflow run -- `fgj actions workflow enable ` - Enable a workflow -- `fgj actions workflow disable ` - Disable a workflow +- `fj actions run watch ` - Poll a run until completion +- `fj actions run rerun ` - Trigger a rerun of a workflow run +- `fj actions run cancel ` - Cancel an in-progress workflow run +- `fj actions workflow enable ` - Enable a workflow +- `fj actions workflow disable ` - Disable a workflow #### Repository Management -- `fgj repo create ` - Create a new repository with full option set: `--private`/`--public`, `--description`, `--add-readme`, `--gitignore`, `--license`, `--homepage`, `--clone`, `--team` +- `fj repo create ` - Create a new repository with full option set: `--private`/`--public`, `--description`, `--add-readme`, `--gitignore`, `--license`, `--homepage`, `--clone`, `--team` #### Issue Management -- `fgj issue create -l