Rust-based CLI tool for managing Forgejo repositories, issues, pull requests, and more
- Rust 100%
- README.md: Complete user documentation with installation, configuration, and usage examples for all major commands - AGENTS.md: Module maintainer information and source documentation - SKILLS.md: Detailed technical capabilities, usage patterns, and limitations These documentation files comply with OpenCode module standards. |
||
|---|---|---|
| src | ||
| .gitignore | ||
| AGENTS.md | ||
| Cargo.lock | ||
| Cargo.toml | ||
| README.md | ||
| SKILLS.md | ||
fCodify-forgejo-clean
A comprehensive Rust-based command-line interface (CLI) tool for managing Forgejo repositories, organizations, users, issues, pull requests, and releases.
Features
- Configuration Management: Supports configuration via CLI arguments, environment variables, and TOML config files
- Repository Operations: Create, list, delete repositories and manage commits
- Organization Management: Create, list, and delete organizations
- User Management: List and manage user accounts
- Issue Tracking: Create, list, comment on, modify, and close issues
- Pull Requests: Create, list, merge, and manage pull requests
- Release Management: Create, list, delete, and download releases
- Shell Completion: Generate completion scripts for bash, zsh, fish, and other shells
Installation
From Source
git clone ssh://forgejo@forgejo-ssh.jiggl.in:3022/opencode/fcodify-forgejo-clean.git
cd fcodify-forgejo-clean
cargo build --release
The compiled binary will be available at target/release/fCodify-forgejo.
Configuration
The tool can be configured in three ways (in order of precedence):
- CLI Arguments: Passed directly to commands
- User Config File:
~/.config/fCodify-forgejo/config.toml - Global Config File:
/etc/fCodify-forgejo/config.toml
Config File Format
default_server = "example"
[servers.example]
url = "https://forgejo.example.com"
token = "your-access-token"
org = "default-org"
repo = "default-repo"
Creating a Config File
fCodify-forgejo config create
Usage
Server Management
# Add a new server configuration
fCodify-forgejo server add example --url https://forgejo.example.com --token YOUR_TOKEN
# Show configured server
fCodify-forgejo server show
# Check server status
fCodify-forgejo server status
# Set default server
fCodify-forgejo server default example
Repository Operations
# List repositories in an organization
fCodify-forgejo repo list --org myorg
# Create a new repository
fCodify-forgejo repo create --org myorg --repo myrepo --description "My new repo"
# Delete a repository
fCodify-forgejo repo delete --org myorg --repo myrepo
# List commits
fCodify-forgejo repo commits list --org myorg --repo myrepo
Organization Management
# List all organizations
fCodify-forgejo org list
# Create a new organization
fCodify-forgejo org create --org-name neworg --description "My organization"
# Delete an organization
fCodify-forgejo org delete --org-name oldorg
Issue Management
# List issues
fCodify-forgejo issue list --org myorg --repo myrepo
# Create an issue
fCodify-forgejo issue create --org myorg --repo myrepo --title "Bug report" --comment "Description"
# Close an issue
fCodify-forgejo issue close --org myorg --repo myrepo --issue-number 42
Pull Requests
# List pull requests
fCodify-forgejo pr list --org myorg --repo myrepo
# Create a pull request
fCodify-forgejo pr create --org myorg --repo myrepo --pr-title "Feature X" --from-target feature-branch --to-target main
# Merge a pull request
fCodify-forgejo pr merge --org myorg --repo myrepo --pr-id 5
Releases
# List releases
fCodify-forgejo releases list --org myorg --repo myrepo
# Create a release
fCodify-forgejo releases create --org myorg --repo myrepo --tag v1.0.0 --title "Version 1.0.0"
# Delete a release
fCodify-forgejo releases delete --org myorg --repo myrepo --release-id 123
Shell Completion
Generate shell completion scripts:
# For bash
fCodify-forgejo completion bash > /usr/share/bash-completion/completions/fCodify-forgejo
# For zsh
fCodify-forgejo completion zsh > /usr/share/zsh/site-functions/_fCodify-forgejo
# For fish
fCodify-forgejo completion fish > ~/.config/fish/completions/fCodify-forgejo.fish
API Documentation
This tool uses the Forgejo API. For API details, see: https://forgejo.jiggl.in/api/swagger
License
This project is part of the OpenCode module collection.
Contributing
Contributions are welcome! Please feel free to submit issues or pull requests.