New commands: - fgj label list/create/edit/delete - fgj milestone list/view/create/edit/delete - fgj wiki list/view/create/edit/delete Enhanced: - fgj issue edit --add-dependency/--remove-dependency
8.3 KiB
8.3 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.3.0c - 2026-03-21
Added
Label Management
fgj label list- List repository labelsfgj label create- Create a label with color and descriptionfgj label edit- Edit label name, color, or descriptionfgj label delete- Delete a label
Milestone Management
fgj milestone list- List milestones with state filteringfgj milestone view- View milestone detailsfgj milestone create- Create a milestone with description and due datefgj milestone edit- Edit milestone title, description, due date, or statefgj milestone delete- Delete a milestone
Wiki Management
fgj wiki list- List wiki pagesfgj wiki view- View wiki page contentfgj wiki create- Create a wiki page from flag or filefgj wiki edit- Edit a wiki pagefgj wiki delete- Delete a wiki page
Issue Dependencies
fgj issue edit --add-dependency <number>- Add issue dependencyfgj issue edit --remove-dependency <number>- Remove issue dependency
0.3.0b - 2026-03-21
Added
Repository Management
fgj repo edit- Edit repository settings (visibility, description, homepage, default branch)
Fixed
fgj repo create --publicflag was defined but never read; now properly wired up
0.3.0a - 2026-03-21
Added
Raw API Access
fgj api <endpoint>- 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) - Request body from file or stdin (
--input) - Custom headers (
--header/-H) - Path interpolation (
{owner},{repo}) from git context - Response header display (
--include/-i)
- HTTP method selection (
Pull Request Management
fgj pr diff <number>- View the diff for a pull request- Colorized output (
--color auto/always/never) - Changed file names only (
--name-only) - Diffstat summary (
--stat)
- Colorized output (
fgj pr comment <number>- Add a comment to a pull request- Body from flag (
--body/-b) or file (--body-file,-for stdin) - JSON output (
--json)
- Body from flag (
fgj pr review <number>- 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)
- Approve (
Agentic / Machine-Readable Output
--json-errorsglobal flag for structured JSON error output on stderr- Error codes:
auth_required,not_found,api_error,invalid_input,git_detection_failed,network_error - HTTP status code and detail included when available
- Automatic mapping of API errors (401/403 →
auth_required, 404 →not_found)
- Error codes:
0.3.0 - 2026-03-13
Added
Forgejo Actions
fgj actions run watch <run-id>- Poll a run until completionfgj actions run rerun <run-id>- Trigger a rerun of a workflow runfgj actions run cancel <run-id>- Cancel an in-progress workflow runfgj actions workflow enable <workflow>- Enable a workflowfgj actions workflow disable <workflow>- Disable a workflow
Repository Management
fgj repo create <name>- Create a new repository with full option set:--private/--public,--description,--add-readme,--gitignore,--license,--homepage,--clone,--team
Issue Management
fgj issue create -l <label>- Assign labels when creating an issuefgj issue edit --add-label/--remove-label- Add or remove labels on existing issuesfgj issue close -c <comment>- Close an issue with an optional comment
Workflow Management
fgj actions workflow list/view/run- List, view, and trigger workflows
Auth Helpers
fgj auth token- Print the stored token for the current hostfgj auth logout- Remove authentication for a host
Shell Completions and Man Pages
fgj completion [bash|zsh|fish|powershell]- Generate shell completion scriptsfgj manpages --dir <path>- Generate man pages for all commands
JSON Output
--jsonflag for all list and view commands: PRs, issues, releases, workflow runs, workflows
Fixed
- Respect
$XDG_CONFIG_HOMEfor config file location (was always using~/.config)
0.2.0 - 2026-01-09
Added
Release Management
fgj release list- List releases for a repositoryfgj release view- View details of a specific release (supports "latest" keyword)fgj release create- Create new releases with optional asset uploadsfgj release upload- Upload assets to existing releases with optional clobber supportfgj release delete- Delete releases (preserves Git tags)
Issue Management
fgj issue edit- Edit existing issues with support for updating title, body, and labels
Pull Request Management
fgj pr create --assignee- Assign users when creating pull requests
Repository Detection
- Automatic hostname detection from git remote URLs
- Improved multi-instance support with auto-detection from git context
Improved
- Enhanced documentation with AUR and Homebrew installation instructions
- Added functional tests for release management and issue editing
- Added Makefile
installtarget for easier local installation - Added
.editorconfigfor consistent code formatting
Development
- CI: Added nightly builds for continuous testing
- Expanded functional test coverage for new features
0.1.0 - 2025-12-16
Added
Core Features
- Initial release of fgj - Forgejo CLI tool
- Multi-instance support for any Forgejo/Gitea instance
- Automatic repository detection from git context (optional
-Rflag) - Secure authentication with personal access tokens
- Configuration management via
~/.config/fgj/config.yaml
Pull Request Management
fgj pr list- List pull requests with filtering by statefgj pr view- View detailed pull request informationfgj pr create- Create new pull requestsfgj pr merge- Merge pull requests with configurable merge methods
Issue Management
fgj issue list- List issues with state filteringfgj issue view- View detailed issue informationfgj issue create- Create new issuesfgj issue comment- Add comments to issuesfgj issue close- Close issues
Repository Operations
fgj repo view- View repository detailsfgj repo list- List user repositoriesfgj repo clone- Clone repositories with protocol selection (HTTPS/SSH)fgj repo fork- Fork repositories
Forgejo Actions Support
fgj actions run list- List workflow runs with status and metadatafgj actions run view- View detailed run information, jobs, and logs- Support for
--verbose,--log,--log-failed, and--jobflags
- Support for
fgj actions secret list- List repository secretsfgj actions secret create- Create repository secretsfgj actions secret delete- Delete repository secretsfgj actions variable list- List repository variablesfgj actions variable get- Get variable valuesfgj actions variable create- Create repository variablesfgj actions variable update- Update repository variablesfgj actions variable delete- Delete repository variables
Authentication
fgj auth login- Interactive authentication with Forgejo instancesfgj auth status- Check authentication status- Environment variable support (
FGJ_HOST,FGJ_TOKEN)
Development
- Comprehensive unit test suite
- Functional end-to-end tests
- CI/CD pipeline with automated testing
- Code quality checks and linting
Technical Details
- Built with Go 1.23+
- Uses Gitea SDK for API interactions
- Cobra framework for CLI structure
- Viper for configuration management