Skip to content

docs: SEO-optimized MegaDetector homepage rewrite#21

Merged
zhmiao merged 8 commits into
mainfrom
seo/megadetector-overview-rewrite
Jun 2, 2026
Merged

docs: SEO-optimized MegaDetector homepage rewrite#21
zhmiao merged 8 commits into
mainfrom
seo/megadetector-overview-rewrite

Conversation

@rain-Brian
Copy link
Copy Markdown
Collaborator

@rain-Brian rain-Brian commented Jun 1, 2026

Summary

SEO + content-depth pass for the MegaDetector README and docs site. This integration branch consolidates four reviewed sub-PRs (C1–C4) plus a repo-metadata fix. Goal: make the official Microsoft repo the most comprehensive, original, SERP-optimized MegaDetector resource — every fact sourced from this repo, nothing copied from any other project.

Sub-PRs merged into this branch

Phase PR Scope
C1 (here) README correctness — 3 detection classes (animals/people/vehicles), model table incl. MIT/Apache variants, license fix, "Which repo should I use?", soften unsourced "80+" claim
C2 #23 README depth — run paths (Python/CLI/no-code), output schema, accuracy, threshold, limitations, GPU, camera-trap software ecosystem
C3 #24 New docs pages — cli.md, output_format.md, architecture.md, contributing.md + nav
C4 #25 Deepen installation/faq/model_zoo/index/training_guide; finalize SEO front-matter + internal-link graph

Plus: GitHub repo description updated to the 3-class / V6 line. Issue #22 opened to track the duplicate src/megadetector_ai package (canonical: megadetector_core).

Verification (sanitized report)

Gate Result
README body words 2,672 = 1.21× the reference README (gate ≥1.20×)
README sections 24 vs reference 9 (+167%)
docs/*.md total 7,531 words (+38%)
Shared 10-grams vs combined reference (README + user guide) 0
Empty-alt images 0
mkdocs build --strict exit 0 (sitemap + canonical generated)
Inbound links per new page ≥3

Residual shared 8-grams are allowlisted only (product descriptor, the Beery-2019 citation title, AddaxAI, microsoft.com URLs) — no copied prose. Full methodology + reusable check live in the team workspace.

Constraints honored

Repo-data-only · zero copying · CLI model-support accuracy (5 CLI variants documented; MIT/Apache noted as PyTorch-Wildlife-only) · no webmaster-tool/origin-level actions (we don't own the Pages property).

Notes for review

  • Nothing reaches the live Pages site until this PR merges to main.
  • The README org list has an APPROVED-EXTERNAL insertion point awaiting the reviewed adopter list.

…er guide

Expand docs/index.md from a short overview into a full, V6-centered
MegaDetector user guide optimized for search:

- Add front-matter title and a 150-char meta description
- Expand keyword tags (YOLOv10, RT-DETR)
- Add FAQ-style headings matching high-intent queries (what it detects,
  which model to use, GPU/speed, GUI options, accuracy, limitations,
  who uses it, citing)
- Include V6 model-variant and performance tables from the model zoo
- All facts sourced from README, FAQ, model zoo, and cite pages

Passes all Lighthouse SEO audits (100).
@rain-Brian rain-Brian requested a review from zhmiao June 1, 2026 23:17
Comment thread docs/index.md Outdated
description: "MegaDetector: open-source AI model from Microsoft AI for Good Lab that detects animals, people, and vehicles in camera-trap images. Used by 80+ conservation organizations worldwide."
schema: software
title: "MegaDetector — Open-Source Camera-Trap AI for Wildlife Detection"
description: "MegaDetector is Microsoft AI for Good Lab's open-source model that detects animals, people, and vehicles in camera-trap images — faster and smaller in V6."
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Suggested change
description: "MegaDetector is Microsoft AI for Good Lab's open-source model that detects animals, people, and vehicles in camera-trap images — faster and smaller in V6."
description: "MegaDetector is a Microsoft AI for Good Lab's open-source model that detects animals, people, and vehicles in camera-trap images — faster and smaller in V6."

Comment thread docs/index.md Outdated
> MegaDetector is part of the [microsoft/Biodiversity](https://github.com/microsoft/Biodiversity) umbrella — the hub for all AI for Good Lab wildlife tools. The full PyTorch-Wildlife framework and model zoo live at [microsoft/Pytorch-Wildlife](https://github.com/microsoft/Pytorch-Wildlife).

**MegaDetector is an open-source AI model from the [Microsoft AI for Good Lab](https://www.microsoft.com/en-us/ai/ai-for-good) that detects animals in camera-trap imagery.** Used by more than 80 conservation organizations worldwide, MegaDetector automates the review of camera-trap images so researchers can skip empty frames and focus on science. It does not identify species — it locates animals so they can be passed to a downstream classifier.
**MegaDetector is an open-source AI model from the [Microsoft AI for Good Lab](https://www.microsoft.com/en-us/ai/ai-for-good) that detects animals, people, and vehicles in camera-trap images.** Camera traps generate millions of frames, and most are empty — triggered by wind or moving vegetation. MegaDetector draws a bounding box around every animal, person, or vehicle it finds and assigns a confidence score, so researchers can filter blank frames automatically and spend their time on science instead of clicking through images.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Suggested change
**MegaDetector is an open-source AI model from the [Microsoft AI for Good Lab](https://www.microsoft.com/en-us/ai/ai-for-good) that detects animals, people, and vehicles in camera-trap images.** Camera traps generate millions of frames, and most are empty — triggered by wind or moving vegetation. MegaDetector draws a bounding box around every animal, person, or vehicle it finds and assigns a confidence score, so researchers can filter blank frames automatically and spend their time on science instead of clicking through images.
**MegaDetector is an open-source AI model from the [Microsoft AI for Good Lab](https://www.microsoft.com/en-us/ai/ai-for-good) that detects animals, people, and vehicles in camera-trap images.** Camera traps generate millions of frames, and most are empty. MegaDetector draws a bounding box around every animal, person, or vehicle it finds and assigns a confidence score, so researchers can filter blank frames automatically and spend their time on science instead of sorting images.

Comment thread docs/index.md Outdated
**MegaDetector is an open-source AI model from the [Microsoft AI for Good Lab](https://www.microsoft.com/en-us/ai/ai-for-good) that detects animals, people, and vehicles in camera-trap images.** Camera traps generate millions of frames, and most are empty — triggered by wind or moving vegetation. MegaDetector draws a bounding box around every animal, person, or vehicle it finds and assigns a confidence score, so researchers can filter blank frames automatically and spend their time on science instead of clicking through images.

Our mission is to create a global community where conservation scientists can collaborate — sharing datasets and deep learning architectures for wildlife conservation. We're committed to supporting, maintaining, and advancing **MegaDetector** to ensure its continued **relevance, performance, and impact** for biodiversity research worldwide.
MegaDetector is deliberately a **detector**, not a species classifier: "something is here" generalizes across ecosystems far better than "this is a specific species." For species identification, pair MegaDetector with a downstream classifier — see [Species classification](#species-classification) below. The model is free, open-source under the [MIT License](https://github.com/microsoft/MegaDetector/blob/main/LICENSE), and used by more than 80 conservation organizations worldwide.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Suggested change
MegaDetector is deliberately a **detector**, not a species classifier: "something is here" generalizes across ecosystems far better than "this is a specific species." For species identification, pair MegaDetector with a downstream classifier see [Species classification](#species-classification) below. The model is free, open-source under the [MIT License](https://github.com/microsoft/MegaDetector/blob/main/LICENSE), and used by more than 80 conservation organizations worldwide.
MegaDetector is an **animal detector**, not a species classifier. For species recognition, pair MegaDetector with a downstream classifier (see [Species classification](#species-classification) below). The model is free, open-source under the [MIT License](https://github.com/microsoft/MegaDetector/blob/main/LICENSE), and used by more than 80 conservation organizations worldwide.

Comment thread docs/index.md
model = pw_detection.MegaDetectorV6()

# Run on a single image
# Detect in a single image
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Suggested change
# Detect in a single image
# Single image detection

Comment thread docs/index.md
results = model.single_image_detection("path/to/camera_trap_image.jpg")

# Run on a folder of images
# Detect across a whole folder
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Suggested change
# Detect across a whole folder
# Batch detection

Comment thread docs/index.md Outdated
## What does MegaDetector detect?

For example, the **MegaDetectorV6-Ultralytics-YoloV10-Compact** (`MDV6-yolov10-c`) model has only ***2% of the parameters*** of the previous MegaDetectorV5 (2.3M vs. 139.9M) and still exhibits comparable performance on our validation datasets.
MegaDetector sorts everything in a frame into three categories:
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Suggested change
MegaDetector sorts everything in a frame into three categories:
MegaDetector detects objects of interest into three categories:

Comment thread docs/index.md Outdated
```

MegaDetector is used by **more than 80 conservation organizations worldwide** — academic camera-trap labs, conservation NGOs, and government wildlife agencies — to triage biodiversity-monitoring imagery at scale, and it runs in the field on the solar-powered [SPARROW](https://github.com/microsoft/SPARROW) edge device. See the [project repository](https://github.com/microsoft/MegaDetector) for current deployments and collaborators.
PyTorch-Wildlife ships several regional classifiers (AI4G Amazon Rainforest, AI4G Snapshot Serengeti, AI4G Opossum, DeepFaune, DFNE). Google's [SpeciesNet](https://github.com/google/cameratrapai), which covers roughly 2,000 species globally, is also designed to consume MegaDetector output.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Suggested change
PyTorch-Wildlife ships several regional classifiers (AI4G Amazon Rainforest, AI4G Snapshot Serengeti, AI4G Opossum, DeepFaune, DFNE). Google's [SpeciesNet](https://github.com/google/cameratrapai), which covers roughly 2,000 species globally, is also designed to consume MegaDetector output.
PyTorch-Wildlife ships several animal classifiers (AI4G Amazon Rainforest, AI4G Snapshot Serengeti, AI4G Opossum, DeepFaune, DFNE). You can also run Google's [SpeciesNet](https://github.com/google/cameratrapai) through Pytorch-Wildlife. SpeciesNet covers roughly 2,000 species globally, and is also designed to consume MegaDetector output.

Comment thread docs/index.md Outdated

- Beery, Morris, Yang (2019). *Efficient Pipeline for Camera Trap Image Review.* arXiv:1907.06772.
- Hernandez et al. (2024). *Pytorch-Wildlife: A Collaborative Deep Learning Framework for Conservation.* arXiv:2405.12930.
In practice, a threshold of **0.15–0.3** gives high recall (few missed animals) at the cost of some false positives on vegetation and lighting artifacts; raising it trims false positives but risks dropping low-confidence true detections. MegaDetector generalizes well across ecosystems because it was trained on a large, geographically diverse dataset — performance is strongest on large mammals in open habitat.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Suggested change
In practice, a threshold of **0.15–0.3** gives high recall (few missed animals) at the cost of some false positives on vegetation and lighting artifacts; raising it trims false positives but risks dropping low-confidence true detections. MegaDetector generalizes well across ecosystems because it was trained on a large, geographically diverse dataset — performance is strongest on large mammals in open habitat.
In practice, a threshold of **0.15–0.3** gives high recall (few missed animals) at the cost of some false positives on vegetation and lighting artifacts; raising it trims false positives but risks dropping low-confidence true positives. MegaDetector generalizes well across ecosystems because it was trained on a large, geographically diverse dataset — performance is strongest on large mammals in open habitat.

Comment thread docs/index.md Outdated
See [Cite Us](cite.md) for full citation details and BibTeX.
### Where MegaDetector struggles

It is not perfect. Very small animals, heavily camouflaged species, and unusual camera angles tend to produce lower confidence scores and can be missed. If your dataset is atypical, label a small sample and measure recall before relying on the model at scale.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Suggested change
It is not perfect. Very small animals, heavily camouflaged species, and unusual camera angles tend to produce lower confidence scores and can be missed. If your dataset is atypical, label a small sample and measure recall before relying on the model at scale.
MegaDetector struggles at small animals and reptiles. Unusual camera angles also tend to produce lower confidence scores and can be missed. If your dataset is atypical, label a small sample and measure recall before relying on the model at scale.

Comment thread docs/index.md
## MegaDetectorV5 and earlier

Common questions, answered in full on the [MegaDetector FAQ](faq.md):
For new projects, use V6. If you need V5 weights or earlier versions, they're on the [archive branch](https://github.com/microsoft/Biodiversity/tree/archive) of the Biodiversity repository (formerly `microsoft/CameraTraps`).
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Suggested change
For new projects, use V6. If you need V5 weights or earlier versions, they're on the [archive branch](https://github.com/microsoft/Biodiversity/tree/archive) of the Biodiversity repository (formerly `microsoft/CameraTraps`).
MegaDetector V5 model weights is directly loadable through PytorchWildlife. If you need to access earlier versions, they're on the [archive branch](https://github.com/microsoft/Biodiversity/tree/archive) of the Biodiversity repository (formerly `microsoft/CameraTraps`).

Comment thread docs/index.md Outdated
- [How accurate is MegaDetector?](faq.md#how-accurate-is-megadetector)
- [What is the difference between MegaDetectorV5 and MegaDetectorV6?](faq.md#what-is-the-difference-between-megadetectorv5-and-megadetectorv6)
- [What is the license?](faq.md#what-is-the-license)
MegaDetector V1–V5 were primarily developed by **Dan Morris** during his time at Microsoft. Dan continues to actively maintain a community fork at [agentmorris/MegaDetector](https://github.com/agentmorris/MegaDetector) with an extensive set of helper scripts and documentation — a valuable resource, especially for users of the V5 weights or the original `run_detector_batch.py` workflow. The two projects coexist: `microsoft/MegaDetector` carries V6 and future development.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Suggested change
MegaDetector V1–V5 were primarily developed by **Dan Morris** during his time at Microsoft. Dan continues to actively maintain a community fork at [agentmorris/MegaDetector](https://github.com/agentmorris/MegaDetector) with an extensive set of helper scripts and documentation — a valuable resource, especially for users of the V5 weights or the original `run_detector_batch.py` workflow. The two projects coexist: `microsoft/MegaDetector` carries V6 and future development.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I don't think we need this any more, it has been a while, no need for promoting Dan now. Unless it is good for seo.

- State 3 detection classes (animals, people, vehicles) in intro and overview
  (previously said 'animals' only); model detects per faq.md and the core CLI
  class map (0=animal/1=person/2=vehicle).
- Model Variants table now shows Apache-2.0 and MIT options (incl. the
  best-accuracy MDV6-apa-rtdetr-e), links the full 9-variant Model Zoo, and
  notes which variants the megadetector CLI --model flag supports.
- License section corrected: code is MIT; weights are per-variant
  (MIT/Apache-2.0/AGPL-3.0) — previously implied all weights are AGPL-3.0.
- Add 'Which MegaDetector Repo Should I Use?' (official V6 here vs legacy V5/fork).
- Soften unsourced '80+ organizations' to a repo-traceable, attributed claim.
…em (#23)

Adds answer-first, SERP-optimized sections (all facts repo-sourced):
- How Do I Run MegaDetector? (Python / CLI / no-code paths table)
- What Does MegaDetector Output Look Like? (JSON schema example, cli.py)
- How Accurate Is MegaDetector? / What Confidence Threshold Should I Use? /
  What Are MegaDetector's Limitations? (faq.md, camera-trap-ai.md)
- Do I Need a GPU? (faq.md) + rename Performance -> How Fast Is MegaDetector?
- How Does MegaDetector Fit Into Camera-Trap Software? (3-layer model +
  comparison table, camera-trap-software.md); cross-links the two orphaned guides
- Rename Species Classification -> Can MegaDetector Identify Species?
- Org list wrapped in ATTESTED markers with an APPROVED-EXTERNAL insertion point

Depth gates: README body 2,672 words (1.21x reference), 24 sections (vs 9),
0 shared 10-grams with the reference, 0 empty-alt images.
#24)

Four new docs pages, all content sourced from this repo:
- cli.md          — megadetector detect/train/validate/inference reference,
                    flags, supported --model list, examples (megadetector_core/cli.py)
- output_format.md — detection JSON schema (file/category/confidence/bbox),
                    thresholding, downstream use (cli.py)
- architecture.md — megadetector_core package layout, entry point, model
                    wrappers, fine-tuning path (pyproject.toml, detector.py, training.py)
- contributing.md — issue routing, PRs, MSRC security, community channels (SECURITY.md)

Wired into mkdocs.yml nav and cross-linked. mkdocs build --strict passes
(exit 0); sitemap + canonical generated; 0 shared 10-grams with the reference.
…aph (#25)

- installation.md: add 'Install from Source (CLI & Fine-Tuning)' — editable
  install, conda environment.yaml, megadetector command (installation.md scope)
- faq.md: add 'What is the megadetector CLI?' and 'What does MegaDetector
  output look like?' Q&As; link contributing guide (cli.py, output schema)
- model_zoo.md: add 'Model Licensing' section (MIT/Apache/AGPL picker) + CLI note
- index.md: add CLI/output cross-links; soften unsourced '80+' org claims to
  repo-traceable wording; link contributing + architecture
- training_guide.md: cross-link CLI reference and Repository Architecture
- camera-trap-software.md: reword one line to remove a structural overlap

Each of the four new pages now has >=3 inbound internal links. Gates:
mkdocs build --strict exit 0; 0 shared 10-grams with the combined reference
(README + megadetector.md guide); all pages carry description + tags.
…edits

- Remove all 162 em-dashes across README + docs (prose only; code untouched)
  and de-slop repetitive/parallel phrasing — addresses zhmiao's 'AI slop' note
- index.md: apply zhmiao's suggestions — 'animal detector' framing, remove the
  3-class table, tighten detect/threshold/classifier/accuracy/limitations copy
- Restore 'more than 80 conservation organizations' (maintainer preference)
- Keep the Dan Morris fork reference (per maintainer request)
- Add CLI input-format detail (repo-sourced) to keep README depth >=1.20x

Gates: README body 2,661 words (1.207x reference), 24 sections, 0 em-dashes,
0 shared 10-grams vs combined reference, mkdocs build --strict exit 0.
@rain-Brian
Copy link
Copy Markdown
Collaborator Author

Thanks @zhmiao — addressed your review in the latest push:

  • AI-slop / em-dashes: removed all 162 em-dashes across the README and docs (prose only, code blocks untouched) and de-slopped the repetitive/parallel phrasing you flagged.
  • index.md: applied your suggestions — "animal detector" framing, removed the three-category table, and tightened the detect / threshold / species-classifier / accuracy / limitations copy.
  • "more than 80 conservation organizations": restored per your edit (and made consistent across README + docs).
  • Dan Morris fork: kept the reference (maintainer call).

Verification: README body 2,661 words (1.21× the reference), 24 sections, 0 em-dashes, 0 shared 10-grams vs the reference (README + user guide), mkdocs build --strict passes. Ready for another look.

Follow-up to the mechanical em-dash removal, which had left comma-splices and
templated phrasing (flagged in review as 'AI slop'). This pass:
- Recasts the genuine comma-splices with proper sentence breaks (README, faq,
  camera-trap-software) and converts awkward link-then-comma list items to colons
- Varies sentences that were repeated near-verbatim across pages (the intro
  definition, the Dan Morris fork note x4, 'every V6 variant is faster' x3,
  'pick the one that fits', 'continuously fine-tuned')
- Varies uniform 'The…' sentence openers on the cli and architecture pages
- Keeps all facts repo-sourced and the 'more than 80' / Dan references intact

Gates: 0 em-dashes, 0 genuine comma-splices, 0 shared 10-grams vs the combined
reference, mkdocs build --strict exit 0, README 1.20x / 24 sections retained.
@rain-Brian
Copy link
Copy Markdown
Collaborator Author

Follow-up: ran a full natural-language / AI-content pass on the whole branch (README + all docs), since the earlier em-dash fix was mechanical and had left comma-splices behind.

  • Recast every genuine comma-splice into proper sentences; converted awkward link-then-comma list items to colons.
  • Varied the sentences that were repeated near-verbatim across pages (the intro definition, the fork note, 'every V6 variant is faster', etc.) so each page reads in its own voice.
  • Broke up uniform 'The…' openers on the CLI and architecture pages.
  • Kept every fact repo-sourced; the 'more than 80' and Dan Morris references stay.

Verified: 0 em-dashes, 0 genuine comma-splices, 0 shared 10-grams vs the reference, mkdocs build --strict passes, README still 1.20x / 24 sections. The remaining cross-page repeats are legitimate factual recurrences (org name, the product descriptor, model specs, citation instruction).

@rain-Brian
Copy link
Copy Markdown
Collaborator Author

@zhmiao this is ready for another look. All of your requested changes are in:

  • "Animal detector" framing instead of "detector," and the three-category table removed.
  • Tightened the detect, threshold, species-classifier, accuracy, and limitations copy along the lines you suggested.
  • Restored "more than 80 conservation organizations," and kept the Dan Morris reference.

On top of that I ran a full natural-language pass over the whole branch to clear the AI-slop you flagged: removed every em-dash, fixed the comma-splices that were left behind, and reworded the sentences that repeated near-verbatim across pages so each page reads in its own voice.

One note on scope: this PR is the single merge into main, so it also carries the content from #23, #24, and #25 (those merged into this branch as the granular build steps). Reviewing here covers the whole set.

Verification on the current branch: 0 em-dashes, 0 shared 10-grams against the reference, mkdocs build --strict passes, and the README stays about 1.2x the reference with 24 sections. Ready to merge whenever you approve.

…nk arXiv DOIs

- overrides/main.html: grow FAQPage JSON-LD from 5 to all 14 faq.md Q&As;
  reconcile existing 5 answers to the current visible text (removes stale
  em-dashes so structured data mirrors the page, per Google's requirement).
- docs: trim 7 meta descriptions to <=160 chars so SERP snippets stop
  truncating; primary keyword front-loaded. Body prose untouched.
- docs/cite.md: surface both arXiv preprints as linked references
  (1907.06772, 2405.12930) alongside the existing BibTeX.
@rain-Brian
Copy link
Copy Markdown
Collaborator Author

Pushed a small post-review surfacing pass (9ebd5b9) with three repo-sourced additions:

  1. FAQPage structured data 5 → 14. The overrides/main.html JSON-LD only encoded 5 of the 14 questions on the FAQ page. Expanded it to all 14, and reconciled the original 5 answers to the current visible text (the stored copies still had em-dashes that no longer matched the page, which Google flags since FAQPage answers must mirror visible content). The rendered faq/index.html now emits 14 valid Q&A pairs.
  2. Trimmed 7 over-long meta descriptions to ≤160 chars so SERP snippets stop truncating mid-sentence. Front-matter description only; primary keyword front-loaded; body prose untouched. (Meta description is not a ranking factor, so no ranking risk; the trimmed text was already being cut in the snippet anyway.)
  3. Surfaced both arXiv preprints as linked references in cite.md (1907.06772, 2405.12930) alongside the existing BibTeX.

Checks re-run on the branch: 0 shared 10-grams vs the reference, 0 em-dashes, no new AI-tell flags (cite.md sentence variance actually improved), mkdocs build --strict exit 0.

Copy link
Copy Markdown
Collaborator

@zhmiao zhmiao left a comment

Choose a reason for hiding this comment

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

we will give a full manual review later this week

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