Skip to content

docs: add contribution guidelines - #17

Merged
gomezzz merged 2 commits into
mainfrom
docs/contributing-guidelines
Jul 30, 2026
Merged

docs: add contribution guidelines#17
gomezzz merged 2 commits into
mainfrom
docs/contributing-guidelines

Conversation

@gomezzz

@gomezzz gomezzz commented Jul 20, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Add CONTRIBUTING.md for AnomalyMatch covering only project-specific technical detail: conda environment setup, the develop/main branching model, Ruff, license headers, test commands, and CI gates.

  • Link the guidelines from a callout near the top of the README.

  • Everything that is not AnomalyMatch-specific (code of conduct, CLA, licensing, general PR workflow) lives in one central document, now published:

    https://www.cosmos.esa.int/web/data-science/contributing-to-our-software

    CONTRIBUTING.md points at it in a prominent block right under the title.

This split means the CLA and conduct text is written and maintained once, and stays consistent across AnomalyMatch, Cutana, and any future project. All previously open placeholders are resolved: the governance page is live, and the CLA download link and submission address now live there rather than being duplicated per repository.

Branching model corrected

The earlier draft told contributors to target main. A develop branch has now been created on this repository and the guidelines describe the two-branch model used across our projects: develop for features, fixes, and refactors; main for releases and hotfixes.

Note this PR still targets main. Since develop was branched from main and the two are currently identical, develop can be fast-forwarded after merge, or this PR retargeted to develop if you would rather it went that way first.

Test plan

  • License-header CI check passes on CONTRIBUTING.md
  • README link resolves
  • Governance link resolves (verified: HTTP 200)

@github-actions

github-actions Bot commented Jul 20, 2026

Copy link
Copy Markdown

Overall Coverage

Coverage Report
FileStmtsMissCoverMissing
__init__.py80100% 
data_io
   SessionIOHandler.py3264187%111, 128–129, 173–174, 184–185, 215–216, 282–283, 286, 326–328, 370, 388–390, 455, 530, 553, 567–568, 570–571, 573–575, 719–724, 738, 742–743, 747–749
   checkpoint_io.py1482583%68, 74, 76, 78, 95–109, 120, 122, 161, 182, 228, 281
   find_images_in_folder.py210100% 
   load_images.py912869%51–53, 58–60, 81, 93, 110, 140–147, 150, 156–157, 189, 248, 256, 277, 285, 292–294
   metadata_handler.py80890%70–71, 117, 122–123, 170–172
   save_config.py33391%92–94
datasets
   AnomalyDetectionDataset.py2483984%126–127, 356, 362–363, 365, 369, 371–372, 374, 395–396, 398, 404–405, 409, 422–423, 484–485, 491–496, 498–499, 503–506, 508–510, 512–514, 525
   BasicDataset.py52492%59, 61, 97, 103
   Label.py50100% 
   SSL_Dataset.py68396%136, 139, 209
   __init__.py00100% 
   data_utils.py56296%80, 199
datasets/augmentation
   randaugment.py921188%222, 225–226, 245, 328–330, 332–335
   randaugment_multispectral.py772370%77–79, 120–121, 134–135, 148–149, 166, 170, 174, 248, 253, 270–272, 274–277, 280–281
image_processing
   transforms.py57395%46–47, 76
models
   FixMatch.py2142986%108, 201–202, 217, 222, 254, 281–282, 285, 288–290, 293, 301, 306–307, 366, 404, 430–434, 495, 497–498, 502, 519–520
pipeline
   SessionTracker.py122398%127, 219–220
   session.py5418584%146–149, 399–402, 447, 460, 612, 669, 671–672, 680, 683, 694, 702, 732, 736, 740–741, 745, 750–751, 758, 762–763, 775, 785–786, 788, 792, 806–807, 809–811, 813, 816–817, 875–876, 878–881, 883–887, 893, 899, 904–908, 910, 918, 921–922, 938, 979–980, 986–987, 991–993, 995, 1020, 1046, 1080–1081, 1089, 1100, 1108, 1112, 1116, 1121, 1124, 1168, 1171
utils
   accuracy.py130100% 
   consistency_loss.py180100% 
   create_model_string.py40100% 
   cross_entropy_loss.py90100% 
   cutana_stream_utils.py70987%64–65, 88, 108, 118–122
   get_cosine_schedule_with_warmup.py11191%39
   get_default_cfg.py610100% 
   get_net_builder.py55787%81–82, 89, 92, 170–171, 175
   get_optimizer.py21290%54, 58
   print_cfg.py45491%89, 95, 117, 119
   set_log_level.py150100% 
   set_seeds.py13285%25–26
   validate_config.py1311192%180, 199, 214, 228, 244, 248, 264, 290, 379–381
TOTAL270534387% 

Tests Skipped Failures Errors Time
376 0 💤 0 ❌ 0 🔥 47.539s ⏱️

Conduct, the CLA, and licensing now live in one central ESAC Data Science
governance document that every project links to, so this file keeps only
the project-specific technical detail: environment setup, branching model,
ruff, the test commands, and the CI gates.

The governance page is published, so it is linked directly rather than
duplicated here.
@gomezzz
gomezzz marked this pull request as ready for review July 30, 2026 10:56
@gomezzz
gomezzz merged commit d3231bb into main Jul 30, 2026
4 of 5 checks passed
@gomezzz
gomezzz deleted the docs/contributing-guidelines branch July 30, 2026 10:57
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.

1 participant