IRIDA Next
February 25, 2026 ยท View on GitHub
IRIDA Next is an open source bioinformatics platform for the storage, management, and analysis of genomic sequences and metadata.
Contributing
devenv is used to provide a reproducible development environment for this project. Follow the getting started instructions (note: I recommend going with single-user mode for nix which can be found under the WSL2 tab, and then installing deven under the Nix profiles (requires experimental flags)).
Note: to use Nix profiles you will need to create the following file with the following content
~/.config/nix/nix.conf:
experimental-features = nix-command flakes
Note: If using a linux system with ldap auth via sssd, then install the following with nix.
nix profile install nixpkgs#sssd
To automatically load the environment you should install direnv and then load the direnv.
# The security mechanism didn't allow to load the `.envrc`.
# Since we trust it, let's allow it execution.
direnv allow .
At this point you should see the nix commands available in your terminal.
Startup the services
$ devenv up
Run the setup script (which will by default startup the application)
$ bin/setup
Navigate in your browser to http://localhost:3000
Test
bin/rails test:all
Running tests headful
HEADLESS=false bin/rails test:system
View Coverage:
Open coverage/index.html
Documentation
See docs.
Pre-commit Hooks & Formatting
This project uses Lefthook (via Bundler) to automatically format and lint code before each commit. The following tools run on staged files:
- RuboCop: Ruby files (
.rb) are auto-corrected and linted - Prettier: JavaScript, TypeScript, CSS, JSON, and Markdown files are formatted
- ESLint: JavaScript files are auto-fixed
- Herb: HTML+ERB templates (
.erb) are formatted and linted - i18n-tasks: Locale files are normalized (
i18n-tasks normalize) when locale YAML changes are staged
How it works
- Hooks are configured in
lefthook.yml - Install hooks with
bundle exec lefthook install --reset-hooks-path(also run automatically bybin/setup) - On commit, staged files matching configured patterns are checked and auto-fixed
- You can bypass hooks with
git commit --no-verify(not recommended)
Manual formatting
-
Run all formatters manually:
bin/rubocop -a pnpm run format
Manual linting (ERB)
pnpm run herb:lint
Ignore files
.prettierignoreexcludes build outputs, dependencies, and generated files from Prettier formatting