Skip to content

Add more scientific research tool detectors - #156

Merged
andrew merged 1 commit into
mainfrom
science-research-detectors-2
Aug 24, 2026
Merged

Add more scientific research tool detectors#156
andrew merged 1 commit into
mainfrom
science-research-detectors-2

Conversation

@andrew

@andrew andrew commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Add detectors for nf-test, nf-core, MultiQC, Dockstore, DVC, cibuildwheel, MyST-Parser, BenchmarkTools.jl, lintr, styler, targets, vdiffr, and tinytest.

Handle recursive multi-dot file patterns such as **/*.nf.test through the bounded file walk, and cover the signals with a research project fixture.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR expands Brief’s research/scientific tooling detection by adding new knowledge-base tool definitions (across R, Python, Julia, and shared tools), plus a dedicated fixture project and tests to validate those signals. It also fixes recursive glob handling so multi-dot filename patterns (e.g., **/*.nf.test) are checked via the bounded walk rather than the extension cache.

Changes:

  • Added knowledge-base detectors for nf-test, nf-core, MultiQC, Dockstore, DVC, cibuildwheel, MyST-Parser, BenchmarkTools.jl, lintr, styler, targets, vdiffr, and tinytest.
  • Updated recursive glob optimization to avoid incorrect extension-cache short-circuiting for multi-dot patterns.
  • Added a comprehensive testdata/research-tools-project fixture and Go tests covering the new detection signals.

Reviewed changes

Copilot reviewed 26 out of 26 changed files in this pull request and generated no comments.

Show a summary per file
File Description
detect/detect.go Refines recursive glob optimization to correctly handle multi-dot suffix patterns via bounded walk.
detect/research_tools_test.go Adds fixture-based and minimal-signal tests to verify new research tool detectors.
knowledge/_shared/nf-test.toml Defines nf-test detection including multi-dot recursive patterns.
knowledge/_shared/nf-core.toml Adds nf-core detection via nf-core metadata file(s).
knowledge/_shared/multiqc.toml Adds MultiQC detection via common config filenames (including nested).
knowledge/_shared/dvc.toml Adds DVC detection via standard config/lockfile markers and .dvc/ config.
knowledge/_shared/dockstore.toml Adds Dockstore detection via standard Dockstore descriptor locations.
knowledge/python/cibuildwheel.toml Adds cibuildwheel detection via dependency and tool.cibuildwheel key presence.
knowledge/python/myst-parser.toml Adds MyST-Parser detection via dependency and optional conf.py content signals.
knowledge/julia/benchmarktools.toml Adds BenchmarkTools.jl detection via Project.toml keys and dependency.
knowledge/r/lintr.toml Adds lintr detection and command/config metadata.
knowledge/r/styler.toml Adds styler detection and command metadata.
knowledge/r/targets.toml Adds targets detection and command/config metadata.
knowledge/r/tinytest.toml Adds tinytest detection via canonical test file/dir signals and command metadata.
knowledge/r/vdiffr.toml Adds vdiffr detection via R dependency signals and taxonomy metadata.
testdata/research-tools-project/nf-test.config Fixture signal for nf-test config.
testdata/research-tools-project/tests/pipeline/main.nf.test Fixture multi-dot recursive file signal for nf-test (**/*.nf.test).
testdata/research-tools-project/.nf-core.yml Fixture signal for nf-core metadata.
testdata/research-tools-project/assets/multiqc_config.yml Fixture nested MultiQC config signal.
testdata/research-tools-project/.github/.dockstore.yml Fixture Dockstore descriptor signal.
testdata/research-tools-project/.dvc/config Fixture DVC project config signal.
testdata/research-tools-project/pyproject.toml Fixture signals for MyST-Parser dependency and cibuildwheel config.
testdata/research-tools-project/Project.toml Fixture signal for BenchmarkTools dependency in Julia.
testdata/research-tools-project/DESCRIPTION Fixture signals for R Suggests-based detection (lintr/styler/targets/tinytest/vdiffr).
testdata/research-tools-project/_targets.R Fixture signal for targets pipeline detection.
testdata/research-tools-project/tests/tinytest.R Fixture signal for tinytest test runner presence.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@andrew
andrew merged commit 3bdbf7f into main Aug 24, 2026
9 checks passed
@andrew
andrew deleted the science-research-detectors-2 branch August 24, 2026 14:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants