Rust-based CLI tool for managing Forgejo repositories, issues, pull requests, and more
Find a file
Andrew Tyler 5b3004fbc5 Add comprehensive documentation files
- 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.
2026-01-19 03:56:16 -06:00
src Initial implementation of fCodify-forgejo CLI tool 2026-01-19 03:50:50 -06:00
.gitignore Initial implementation of fCodify-forgejo CLI tool 2026-01-19 03:50:50 -06:00
AGENTS.md Add comprehensive documentation files 2026-01-19 03:56:16 -06:00
Cargo.lock Initial implementation of fCodify-forgejo CLI tool 2026-01-19 03:50:50 -06:00
Cargo.toml Initial implementation of fCodify-forgejo CLI tool 2026-01-19 03:50:50 -06:00
README.md Add comprehensive documentation files 2026-01-19 03:56:16 -06:00
SKILLS.md Add comprehensive documentation files 2026-01-19 03:56:16 -06:00

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):

  1. CLI Arguments: Passed directly to commands
  2. User Config File: ~/.config/fCodify-forgejo/config.toml
  3. 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.