Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
22d2199
Bootstrap upgrade (#3264)
ewels Oct 22, 2025
c530ae4
Update Pydantic config for show_hide_buttons
ewels Oct 24, 2025
3e3f496
Fix NotADirectoryError when rerunning with --zip-data-dir and --force
ewels Oct 24, 2025
c14c00e
custom_plot_config - check field names before attempting to set.
ewels Oct 24, 2025
7f7c2a7
Remove noisy log message when trying to format violin plot numbers.
ewels Oct 24, 2025
f3af968
Claude PR review: only run on open, not every new commit
ewels Oct 25, 2025
4538ac5
Attempt to get claude PR reviews on PRs from forks
ewels Oct 25, 2025
21ec6c1
Claude review trigger: Try using artefacts instead
ewels Oct 25, 2025
b5980fc
Claud PR review: check out repo before trying to fetch PR info
ewels Oct 25, 2025
6e2e4d1
Try to fix paths for claude PR review artefacts
ewels Oct 25, 2025
d0d1d88
docs: Document Docker image variants with and without PDF support (#3…
ewels Oct 25, 2025
38b39e0
Bump vite from 7.1.10 to 7.1.11 in /multiqc/templates/disco (#3375)
dependabot[bot] Oct 25, 2025
efdd022
Bump vite from 7.0.0 to 7.0.8 in /multiqc/templates/default (#3368)
dependabot[bot] Oct 25, 2025
71bacff
Move most of xenium into a plugin (#3376)
ewels Oct 25, 2025
5dadf0a
Update module docs
ewels Oct 25, 2025
b5f4aca
Add warning mdi icon
ewels Oct 25, 2025
72cf4e1
Prep v1.32 release
ewels Oct 25, 2025
741ebad
Rich codex (#3377)
ewels Oct 25, 2025
4f6b40e
Bump version to v1.33dev
ewels Oct 25, 2025
f9c7565
Add automated module request triage system (#3324)
edmundmiller Oct 30, 2025
fa69635
Remove invalid 'projects' from GHA workflow
ewels Oct 30, 2025
83e0c68
Add id-token GHA permissions
ewels Oct 30, 2025
bde530d
Let claude do more stuff for the module-requests
ewels Oct 30, 2025
651e9a1
Try to fix Claude CLI flags from hallucinations
ewels Oct 30, 2025
02b1ff6
Show full output
ewels Oct 30, 2025
9bd3065
Make the prompt more specific about posting results as a comment.
ewels Oct 31, 2025
08830c7
Try to get module triage to use issue labels properly
ewels Oct 31, 2025
d62fe61
Claude tweaks
ewels Oct 31, 2025
8b1795d
Fix KeyError in bargraph when using reference lines with horizontal o…
pinin4fjords Nov 12, 2025
2637bde
Remove leftover unused plotly 2.27 js asset files from the new defaul…
ewels Nov 28, 2025
da45dd3
Custom logo: dark mode option, custom width option. (#3400)
ewels Nov 28, 2025
5abb478
Fix MultiQC GitHub issue 3382 (#3389)
ewels Nov 28, 2025
9e48f11
Create module for sylphtax output (#3370)
egreenberg7 Nov 28, 2025
b0431fc
Refactor BISCUIT module for better consistency with current MultiQC c…
jamorrison Nov 28, 2025
36dd155
Fix MultiQC plotly export bug (#3402)
ewels Nov 28, 2025
baca5a1
New module: seqkit stats (#3401)
ewels Dec 1, 2025
7d23d22
Bbsplit basic stats (#3394)
EladH1 Dec 1, 2025
db97456
perf: Fix O(n²) parquet loading performance (60% faster) (#3403)
ewels Dec 1, 2025
3c6bf67
New claude skill for implementing modules, based on context from crea…
ewels Dec 3, 2025
87d2573
Manual review for the new Claude skill to write modules
ewels Dec 3, 2025
675837b
Avoid Python 3.14.1 (#3414)
ewels Dec 5, 2025
408eeea
Bump pre commit versions (#3417)
ewels Dec 5, 2025
f238f41
fastp: Add support for naming samples after `--report_title` in Fastp…
ewels Dec 5, 2025
724f0b5
Fix variable assignment order in homer/tagdirectory.py (#3381)
cmatKhan Dec 5, 2025
4855f5f
Lima: split delimiter is a tab, not any whitespace. (#3395)
hexylena Dec 5, 2025
2b4deb5
Custom content: support passing help text (#3338)
jchorl Dec 5, 2025
097bf80
General StatS: Add configurable help text (#3341)
jchorl Dec 5, 2025
be3f0fc
Samtools coverage: Fix crash when parsing lines with unexpected field…
ewels Dec 5, 2025
8292d05
Custom content: strip whitespace around categories for tsv,csv (#3421)
ewels Dec 8, 2025
373da0a
Add sample_groups configuration for visual grouping in bar graphs (#3…
pinin4fjords Dec 8, 2025
267bc08
Add uv install method detection to version check (#3422)
ewels Dec 8, 2025
29ba13b
Add RiboTish module for Ribo-seq quality metrics (#3384)
pinin4fjords Dec 8, 2025
5ab9b20
Add decimal format for "Glimpse" and add "axis_controlled_by_switches…
LouisLeNezet Dec 8, 2025
b88e365
Address discussion in PR #3345 for BISCUIT module (#3426)
jamorrison Dec 8, 2025
2ad29c0
Update Seqera AI chat URL (#3415)
ewels Dec 8, 2025
7a10455
Add version fetching for HiCUP, QoRTs, QualiMap, RNA-SeQC (#3420)
ewels Dec 8, 2025
5953b54
Changes for releasing v1.33 (#3428)
ewels Dec 9, 2025
8ff6815
Bump to v1.34dev
ewels Dec 9, 2025
6c31244
Bump default AI models for Anthropic (#3430)
ewels Dec 9, 2025
5bf1cbb
`export_plots_timeout`: Add docs and increase default to 60s (#3433)
ewels Dec 11, 2025
d53ee14
fix table scroll styling with sticky headers (#3437)
jchorl Dec 14, 2025
8a5d648
Fix SNPsplit module datetime serialization error (#3444)
ewels Dec 17, 2025
891ed30
Fix incorrect plot title in umicollapse module (#3446)
pinin4fjords Dec 17, 2025
480d2c8
Addressed pressing comments
Dec 17, 2025
348c14f
Address performance comments
Dec 17, 2025
e2f347e
Added documentation and better path handling
Dec 18, 2025
16cdc32
Linting
Dec 18, 2025
d058664
Merge branch 'MultiQC:main' into main
caruizelembioinfo Dec 18, 2025
d1bffdf
Merge branch 'main' of https://github.com/Elembio/MultiQC into addres…
Dec 18, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
196 changes: 196 additions & 0 deletions .claude/docs/module-triage-project-setup.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,196 @@
# Module Triage Project Setup Guide

This guide explains how to set up a GitHub project to track and manage module requests as part of the automated triage system.

## Project Structure

### Recommended Project Setup

1. **Create a new GitHub Project** in the MultiQC organization
- Name: "Module Request Triage"
- Description: "Automated tracking and prioritization of MultiQC module requests"
- Template: "Board" view

2. **Configure Project Columns**

| Column Name | Purpose | Automation |
| ------------------------- | ------------------------------------------ | --------------------------------------------- |
| **Needs Analysis** | New requests awaiting initial triage | Auto-add new issues with "module: new" label |
| **Low Priority** | Score < 40 | Auto-move when `priority: low` label added |
| **Medium Priority** | Score 40-69 | Auto-move when `priority: medium` label added |
| **High Priority** | Score ≥ 70 | Auto-move when `priority: high` label added |
| **Needs Examples** | Missing example files | Auto-move when `needs-examples` label added |
| **Ready for Development** | Complete requests ready for implementation | Manual move after maintainer review |
| **In Development** | Active module development | Manual move when work begins |
| **Complete** | Finished modules | Auto-move when issue closed |

3. **Project Automation Rules**

**Auto-add items:**

```
When: Issue is opened
Filters: Label contains "module: new"
Then: Add to project in "Needs Analysis"
```

**Auto-move by priority:**

```
When: Label is added to item
Filters: Label is "priority: low"
Then: Move to "Low Priority"
```

```
When: Label is added to item
Filters: Label is "priority: medium"
Then: Move to "Medium Priority"
```

```
When: Label is added to item
Filters: Label is "priority: high"
Then: Move to "High Priority"
```

**Auto-move for missing examples:**

```
When: Label is added to item
Filters: Label is "needs-examples"
Then: Move to "Needs Examples"
```

**Auto-archive completed:**

```
When: Issue is closed
Filters: Label contains "module: new"
Then: Move to "Complete"
```

## Custom Fields (Optional)

Add these custom fields to track additional metadata:

- **Priority Score** (Number): Automated score from triage system
- **Tool Popularity** (Number): GitHub stars count
- **Has Examples** (Boolean): Whether example files are provided
- **Last Analysis** (Date): When last triage analysis was performed

## Labels for Triage System

Ensure these labels exist in the repository:

### Priority Labels

- `priority: high` (Red) - Score ≥ 70
- `priority: medium` (Yellow) - Score 40-69
- `priority: low` (Gray) - Score < 40

### Status Labels

- `needs-triage` (Purple) - Awaiting automated analysis
- `needs-examples` (Orange) - Missing example files
- `stale` (Gray) - No activity for 6+ months
- `ready-for-dev` (Green) - Complete and ready for implementation

### Quality Labels

- `good-first-module` (Light green) - Good for new contributors
- `complex-module` (Dark blue) - Requires advanced implementation
- `popular-tool` (Gold) - Tool has high GitHub stars

## Workflow Integration

The unified `module-requests.yml` workflow handles:

1. **Individual Analysis**: Immediate analysis of new requests and `@claude analyze-module` commands
2. **Weekly Bulk Triage**: Comprehensive review of all open requests every Monday
3. **Project Synchronization**: Automatic issue tracking and board management
4. **Flexible Execution**: Manual triggers with different modes (analyze-single, triage-all, dry-run)

## Manual Project Management

### Maintainer Actions

1. **Review High Priority** column weekly
2. **Move items to "Ready for Development"** after verification
3. **Assign items in "In Development"** when work begins
4. **Update custom fields** with additional context

### Community Engagement

- **Pin important issues** that need community input
- **Add milestone labels** for release planning
- **Use project discussions** for coordination

## Analytics and Reporting

The project provides visibility into:

- **Request volume trends** (new requests per month)
- **Priority distribution** (high/medium/low breakdown)
- **Processing time** (time from request to development)
- **Success rate** (requests that become modules)

## Integration with Automated Triage

### Workflow Permissions

The unified workflow includes all necessary permissions:

```yaml
permissions:
issues: write # Add labels, post comments
projects: write # Project board management
contents: read # Repository access
```

### Environment Variables (if using organization-level project)

```yaml
env:
PROJECT_ID: "PVT_kwDOAxxxxxxx" # Get from project URL
ORGANIZATION: "MultiQC"
```

## Troubleshooting

### Common Issues

1. **Items not auto-adding to project**
- Check automation rules are enabled
- Verify label filters match exactly
- Ensure workflow has `projects: write` permission

2. **Cards not moving between columns**
- Verify automation rules for label-based moves
- Check that labels are being added correctly by workflows
- Manual moves may be needed initially

3. **Missing priority labels**
- Run the unified workflow manually: `workflow_dispatch` with `triage-all` mode
- Check that `module-requests.yml` is running on new issues

### Manual Sync

If automation fails, manually add issues to the project:

```bash
# Use GitHub CLI to bulk-add issues
gh project item-add PROJECT_NUMBER --url ISSUE_URL
```

## Benefits

This project structure provides:

- **Visual workflow** for module request lifecycle
- **Automated prioritization** based on objective criteria
- **Clear backlogs** for maintainers and contributors
- **Progress tracking** from request to implementation
- **Community transparency** into development priorities

The project becomes the single source of truth for module request status and facilitates better coordination between maintainers and contributors.
Loading