A fast, cross-platform CLI tool for managing Redmine Extensions (Plugins and Themes).
Rexer is a command-line tool for managing Redmine Extensions (Plugins and Themes). It allows you to:
- Define extensions in a YAML configuration file
- Install, uninstall, update, and manage extensions
- Support for Git and GitHub repositories with branch/tag/commit specification
- Cross-platform support (Linux, macOS)
Download the latest release from the releases page.
git clone https://github.com/hidakatsuya/rexer-rs.git
cd rexer-rs
cargo build --release
The binary will be available at target/release/rex
.
Run the following command in the root directory of your Redmine application:
rex init
This creates a .extensions.yml
file where you can define your extensions:
plugins:
# Example plugin from GitHub
- name: redmine_issues_panel
github:
repo: "redmica/redmine_issues_panel"
tag: "v1.0.2"
themes:
# Example theme from Git repository
- name: bleuclair_theme
git:
url: "https://github.com/farend/redmine_theme_farend_bleuclair.git"
branch: "master"
Then install the extensions:
rex install
rex init
- Create a new .extensions.yml filerex install
- Install extensions defined in .extensions.yml (compares config with lock file)rex uninstall
- Uninstall all extensionsrex state
- Show current state of installed extensionsrex update [extensions...]
- Update extensions to latest versions based on sources in lock filerex reinstall [extension]
- Reinstall a specific extensionrex edit
- Edit the configuration filerex version
- Show version information
-v, --verbose
- Detailed output-q, --quiet
- Minimal output
rex install
- Compares your.extensions.yml
configuration with the current.extensions.lock
file and installs, updates, or removes extensions as needed to match the configuration.rex update
- Updates specific extensions (or all if none specified) to their latest versions based on the source configuration stored in the.extensions.lock
file. This only looks at the lock file and does not compare with.extensions.yml
.
Plugin
- Redmine plugins (installed inplugins/
directory)Theme
- Redmine themes (installed inthemes/
directory)
Git
- Direct Git repository URLGitHub
- GitHub repository (format:owner/repo
)
branch
- Git branch nametag
- Git tag namecommit
- Git commit hash
MIT License - see LICENSE file for details.
Bug reports and pull requests are welcome on GitHub at https://github.com/hidakatsuya/rexer-rs.