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 --releaseThe binary will be available at target/release/rex.
Run the following command in the root directory of your Redmine application:
rex initThis 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" }Then install the extensions:
rex install # or rexrex- Same asrex installrex 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.ymlconfiguration with the current.extensions.lockfile 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.lockfile. 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.