From 3cecd6e99584ffe7c548721074844a5e30c3d78e Mon Sep 17 00:00:00 2001 From: d33bs Date: Tue, 26 May 2026 11:13:34 -0600 Subject: [PATCH 1/9] people page --- assets/css/custom.css | 6 ++++ assets/img/cytomining-logo.png | Bin 0 -> 10764 bytes config/_default/menus.en.toml | 5 ++++ config/_default/params.toml | 3 +- content/people/_index.md | 50 +++++++++++++++++++++++++++++++++ 5 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 assets/img/cytomining-logo.png create mode 100644 content/people/_index.md diff --git a/assets/css/custom.css b/assets/css/custom.css index a910e52..8fe05d5 100644 --- a/assets/css/custom.css +++ b/assets/css/custom.css @@ -14,6 +14,12 @@ html { font-size: 90%; } +/* Header logo: make site mark compact in top nav */ +a.mr-2 > img { + max-height: 1.75rem !important; + max-width: 1.75rem !important; +} + /* Logo dark/light switching. Congo toggles a .dark class on via JS — the native prefers-color-scheme media query inside tags does not respond diff --git a/assets/img/cytomining-logo.png b/assets/img/cytomining-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..4bb986e58f7eb939500594ee56193c00500efb5c GIT binary patch literal 10764 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 literal 0 HcmV?d00001 diff --git a/config/_default/menus.en.toml b/config/_default/menus.en.toml index f415c33..c841954 100644 --- a/config/_default/menus.en.toml +++ b/config/_default/menus.en.toml @@ -18,6 +18,11 @@ pageRef = "about" weight = 40 +[[main]] + name = "People" + pageRef = "people" + weight = 50 + [[main]] name = "Contact" diff --git a/config/_default/params.toml b/config/_default/params.toml index 9fe0267..4775cd6 100644 --- a/config/_default/params.toml +++ b/config/_default/params.toml @@ -9,7 +9,8 @@ enableCodeCopy = false showRecent = false [header] - layout = "fixed" + layout = "hybrid" + logo = "img/cytomining-logo.png" [footer] showCopyright = true diff --git a/content/people/_index.md b/content/people/_index.md new file mode 100644 index 0000000..099cdb5 --- /dev/null +++ b/content/people/_index.md @@ -0,0 +1,50 @@ +--- +title: People +description: Contributors, governance, code of conduct, and security stance for the Cytomining community. +showDate: false +showAuthor: false +layout: simple +--- + +The Cytomining ecosystem is maintained by a distributed community of contributors across academia and industry. + +## Contributors + +- Browse contributors and maintainers in the [cytomining GitHub organization](https://github.com/cytomining) +- See organization members directly in the [People directory](https://github.com/orgs/cytomining/people) +- Explore project-level contribution history in each repository's contributors graph + +We welcome issues, bug reports, documentation improvements, and pull requests from the broader community. + +## Governance + +Cytomining uses a lightweight governance model centered on maintainers and public decision-making. +Inspired by [GitHub's Minimum Viable Governance example](https://github.com/github/MVG), we keep policy concise and bias toward transparent, repository-native workflows over heavy process. + +- **Stewardship:** Repositories are maintained by designated maintainers in the `cytomining` organization. +- **Decision-making:** Day-to-day technical decisions happen in public issues and pull requests. +- **Consensus first:** Maintainers seek rough consensus from active contributors before merging impactful changes. +- **Escalation path:** When consensus is unclear, maintainers make a final call, document rationale, and revisit with new evidence. +- **Scope and ownership:** Changes are reviewed by maintainers closest to the affected project area. +- **Openness:** Design direction, roadmap changes, and tradeoffs are discussed in public whenever possible. +- **Evolution:** Governance expectations are updated incrementally as the community and project complexity grow. + +This reflects how the organization operates today and is intentionally compact so contributors can understand how decisions get made without navigating a large policy surface. + +## Code of Conduct + +Participation in Cytomining spaces is expected to follow the organization-wide Code of Conduct: + +- [Cytomining Organization Code of Conduct](https://github.com/cytomining/.github/blob/main/CODE_OF_CONDUCT.md) + +All contributors and community members are expected to uphold a respectful, inclusive, and professional environment. + +## Security Stance + +We take security seriously across our software and community operations. + +- If you discover a potential vulnerability, please report it responsibly through GitHub security reporting mechanisms where available +- Avoid opening public issues for unpatched security vulnerabilities +- We aim to triage and respond to credible reports quickly and transparently + +For repository-specific security guidance, check each project's `SECURITY.md` (when present) and GitHub Security tabs. From f565cd53d74de54aeaad4a504fdf49132d50076f Mon Sep 17 00:00:00 2001 From: d33bs Date: Tue, 26 May 2026 11:15:08 -0600 Subject: [PATCH 2/9] header button with mobile display --- assets/css/custom.css | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/assets/css/custom.css b/assets/css/custom.css index 8fe05d5..be36570 100644 --- a/assets/css/custom.css +++ b/assets/css/custom.css @@ -137,3 +137,15 @@ html.dark .hero-pill-green { background: #052e16 !important; border-color: #16 html.dark .hero-btn-primary { background: #3b82f6 !important; } html.dark .hero-btn-outline { border-color: #374151 !important; color: #d1d5db !important; } html.dark .hero-secondary-link { color: #6b7280 !important; border-bottom-color: #374151 !important; } + +/* Header breakpoint override: + Use hamburger menu up to 900px (instead of Congo's default 640px). */ +@media (max-width: 900px) { + #menu-button { + display: block !important; + } + + header nav > ul.hidden.sm\:flex { + display: none !important; + } +} From 5066285c01f84b6225e6f5178a55458ca5564a48 Mon Sep 17 00:00:00 2001 From: d33bs Date: Tue, 26 May 2026 11:18:41 -0600 Subject: [PATCH 3/9] correct gov reference --- content/people/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/people/_index.md b/content/people/_index.md index 099cdb5..7bd50b8 100644 --- a/content/people/_index.md +++ b/content/people/_index.md @@ -19,7 +19,7 @@ We welcome issues, bug reports, documentation improvements, and pull requests fr ## Governance Cytomining uses a lightweight governance model centered on maintainers and public decision-making. -Inspired by [GitHub's Minimum Viable Governance example](https://github.com/github/MVG), we keep policy concise and bias toward transparent, repository-native workflows over heavy process. +We keep policy concise and bias toward transparent, repository-native workflows over heavy process. - **Stewardship:** Repositories are maintained by designated maintainers in the `cytomining` organization. - **Decision-making:** Day-to-day technical decisions happen in public issues and pull requests. From 01a9ad2430c664cfc3d43b5c4b2163f18fbf31ec Mon Sep 17 00:00:00 2001 From: d33bs Date: Tue, 26 May 2026 11:21:28 -0600 Subject: [PATCH 4/9] org security link --- content/people/_index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/content/people/_index.md b/content/people/_index.md index 7bd50b8..d4601d8 100644 --- a/content/people/_index.md +++ b/content/people/_index.md @@ -43,6 +43,7 @@ All contributors and community members are expected to uphold a respectful, incl We take security seriously across our software and community operations. +- [Cytomining Organization Security Policy](https://github.com/cytomining/.github/blob/main/SECURITY.md) - If you discover a potential vulnerability, please report it responsibly through GitHub security reporting mechanisms where available - Avoid opening public issues for unpatched security vulnerabilities - We aim to triage and respond to credible reports quickly and transparently From b852c199d8a688dde44496f81c96ef975aa6d528 Mon Sep 17 00:00:00 2001 From: d33bs Date: Tue, 26 May 2026 14:20:04 -0600 Subject: [PATCH 5/9] orient experimental tools to the roadmap by label --- config/_default/menus.en.toml | 2 +- content/experimental/_index.md | 2 +- content/tools/_index.md | 2 ++ layouts/experimental/list.html | 8 ++++++-- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/config/_default/menus.en.toml b/config/_default/menus.en.toml index c841954..9ac7b2f 100644 --- a/config/_default/menus.en.toml +++ b/config/_default/menus.en.toml @@ -4,7 +4,7 @@ weight = 10 [[main]] - name = "Experimental tools" + name = "Roadmap" pageRef = "experimental" weight = 20 diff --git a/content/experimental/_index.md b/content/experimental/_index.md index a49fa0a..7dbf203 100644 --- a/content/experimental/_index.md +++ b/content/experimental/_index.md @@ -1,5 +1,5 @@ --- -title: "Experimental" +title: "Roadmap" description: "Tools under active development in the WayScience organization, forming the foundation of the next Cytomining ecosystem." --- diff --git a/content/tools/_index.md b/content/tools/_index.md index f3e2b06..d37e538 100644 --- a/content/tools/_index.md +++ b/content/tools/_index.md @@ -4,3 +4,5 @@ description: Production-ready tools for image-based profiling bioinformatics. --- The Cytomining ecosystem provides a suite of production-ready tools for every stage of the image-based profiling workflow. + +For upcoming capabilities and in-progress projects, see the [Roadmap](/experimental/), which includes our experimental tools under active development. diff --git a/layouts/experimental/list.html b/layouts/experimental/list.html index ec37af6..45c4d7e 100644 --- a/layouts/experimental/list.html +++ b/layouts/experimental/list.html @@ -2,7 +2,7 @@
{{/* Header */}} -

Experimental Tools

+

Roadmap

Next-generation tools under active development in the WayScience organization, forming the foundation of the Cytomining roadmap. @@ -21,7 +21,11 @@

Experimental Tools

{{/* Tool list */}}
-

Tools

+

Experimental tools

+

+ These tools are under active development in the WayScience organization. + For production-ready, non-experimental tools, see the Tools page. +

{{ range .Pages }} {{ partial "article-link.html" . }} {{ end }} From a9fb8dd894abf3b66e439ea155f2719546e8ff3d Mon Sep 17 00:00:00 2001 From: d33bs Date: Tue, 26 May 2026 14:56:44 -0600 Subject: [PATCH 6/9] add badges to tool pages --- content/experimental/buscar.md | 3 ++ content/experimental/iceberg-bioimage.md | 3 ++ content/experimental/ome-arrow.md | 7 +++-- content/experimental/zedprofiler.md | 3 ++ content/tools/copairs.md | 4 +++ content/tools/cosmicqc.md | 4 +++ content/tools/cytodataframe.md | 4 +++ content/tools/cytotable.md | 4 +++ content/tools/deepprofiler.md | 3 ++ content/tools/pycytominer.md | 4 +++ layouts/_partials/article-link.html | 1 + layouts/_partials/tool-badges.html | 35 ++++++++++++++++++++++++ layouts/shortcodes/tool-badges.html | 1 + themes/congo/layouts/list.html | 6 ---- 14 files changed, 74 insertions(+), 8 deletions(-) create mode 100644 layouts/_partials/tool-badges.html create mode 100644 layouts/shortcodes/tool-badges.html diff --git a/content/experimental/buscar.md b/content/experimental/buscar.md index 40f21a4..1d8b577 100644 --- a/content/experimental/buscar.md +++ b/content/experimental/buscar.md @@ -5,11 +5,14 @@ problem: "Population-level hit calling averages away cell-to-cell variation, hid showDate: false showAuthor: false logoUrl: "https://raw.githubusercontent.com/WayScience/buscar/main/logo/just-icon.png" +githubRepo: "WayScience/buscar" --- buscar logo buscar logo +{{< tool-badges >}} + `buscar` scores perturbations directly on single-cell distributions using Earth Mover's Distance, preserving heterogeneity throughout hit calling. **Problem:** Population-level hit calling averages away biologically meaningful cell-to-cell variation, making heterogeneous responses and rare subpopulations invisible to standard metrics. diff --git a/content/experimental/iceberg-bioimage.md b/content/experimental/iceberg-bioimage.md index 7544771..ef08100 100644 --- a/content/experimental/iceberg-bioimage.md +++ b/content/experimental/iceberg-bioimage.md @@ -5,10 +5,13 @@ problem: "Raw bioimaging archives have no standard catalog — finding, versioni showDate: false showAuthor: false logoUrl: "https://raw.githubusercontent.com/WayScience/iceberg-bioimage/main/docs/src/_static/iceberg-bioimage-logo.png" +githubRepo: "WayScience/iceberg-bioimage" --- iceberg-bioimage logo +{{< tool-badges >}} + `iceberg-bioimage` scans any image store into a versioned Apache Iceberg catalog that directly exports Cytomining-compatible Parquet warehouses. **Problem:** Raw bioimaging archives have no standard catalog — finding, versioning, and joining images to downstream data requires bespoke scripts per lab. diff --git a/content/experimental/ome-arrow.md b/content/experimental/ome-arrow.md index 926e859..f94a945 100644 --- a/content/experimental/ome-arrow.md +++ b/content/experimental/ome-arrow.md @@ -4,10 +4,13 @@ description: "Image storage — stores microscopy images alongside metadata and problem: "Images and feature tables live in separate systems — linking a numeric outlier back to its source cell requires error-prone manual joins across formats." showDate: false showAuthor: false -logoUrl: "https://raw.githubusercontent.com/WayScience/OME-arrow/main/docs/src/_static/ome-arrow-logo.png" +logoUrl: "https://raw.githubusercontent.com/wayscience/ome-arrow/main/docs/src/_static/ome-arrow-with-text.png?raw=true" +githubRepo: "WayScience/OME-arrow" --- -OME-arrow logo +OME-arrow logo + +{{< tool-badges >}} `OME-arrow` embeds images as first-class columns in Apache Arrow tables, so features, metadata, and pixel data travel together and can be queried or exported as tensors. diff --git a/content/experimental/zedprofiler.md b/content/experimental/zedprofiler.md index 81b0d0f..82a43da 100644 --- a/content/experimental/zedprofiler.md +++ b/content/experimental/zedprofiler.md @@ -5,11 +5,14 @@ problem: "Classical profiling tools only extract 2D features, leaving organoid a showDate: false showAuthor: false logoUrl: "https://raw.githubusercontent.com/WayScience/ZedProfiler/main/logo/logo.png" +githubRepo: "WayScience/zedprofiler" --- ZEDprofiler logo ZEDprofiler logo +{{< tool-badges >}} + `ZEDprofiler` extracts morphological features directly from 3D volumetric images, including anisotropic voxel spacing correction — no GPU required. **Problem:** Classical profiling tools extract only 2D features, leaving organoid, cleared-tissue, and z-stack experiments without a CPU-efficient extractor. diff --git a/content/tools/copairs.md b/content/tools/copairs.md index e656d07..8845d46 100644 --- a/content/tools/copairs.md +++ b/content/tools/copairs.md @@ -3,8 +3,12 @@ title: copairs description: Downstream evaluation — measures how reproducibly perturbation profiles retrieve their matched replicates, quantifying profile quality and similarity. showDate: false showAuthor: false +pypiPackage: copairs +githubRepo: cytomining/copairs --- +{{< tool-badges >}} + `copairs` is a Python package for evaluating the quality of morphology profiles by measuring how well a perturbation's profile can be retrieved relative to controls. It implements mean Average Precision (mAP) and related metrics widely used in the image-based profiling community. diff --git a/content/tools/cosmicqc.md b/content/tools/cosmicqc.md index 8b6b755..6e1db91 100644 --- a/content/tools/cosmicqc.md +++ b/content/tools/cosmicqc.md @@ -4,11 +4,15 @@ description: Quality control step — flags and removes low-quality cells before showDate: false showAuthor: false logoUrl: https://raw.githubusercontent.com/cytomining/coSMicQC/main/media/logo/just-icon.png +pypiPackage: cosmicqc +githubRepo: cytomining/coSMicQC --- coSMicQC logo coSMicQC logo +{{< tool-badges >}} + `coSMicQC` (Single-cell Morphology Quality Control) identifies and removes low-quality cells from image-based profiling datasets before downstream analysis. It catches common problems such as over-segmented nuclei, poorly segmented cells, and imaging artifacts. diff --git a/content/tools/cytodataframe.md b/content/tools/cytodataframe.md index 4e5846e..50ac204 100644 --- a/content/tools/cytodataframe.md +++ b/content/tools/cytodataframe.md @@ -4,11 +4,15 @@ description: "Interactive exploration — view and inspect morphology profiles a showDate: false showAuthor: false logoUrl: https://raw.githubusercontent.com/cytomining/CytoDataFrame/main/logo/just-icon.png +pypiPackage: cytodataframe +githubRepo: cytomining/CytoDataFrame --- CytoDataFrame logo CytoDataFrame logo +{{< tool-badges >}} + `CytoDataFrame` extends the familiar pandas DataFrame interface to let researchers view and analyze single-cell morphology profiles alongside their corresponding microscopy images and segmentation masks — all within a Jupyter notebook. **Key capabilities:** diff --git a/content/tools/cytotable.md b/content/tools/cytotable.md index 69b0ca2..6caf4e3 100644 --- a/content/tools/cytotable.md +++ b/content/tools/cytotable.md @@ -4,11 +4,15 @@ description: Upstream ingestion — converts raw CellProfiler, DeepProfiler, and showDate: false showAuthor: false logoUrl: https://raw.githubusercontent.com/cytomining/CytoTable/main/logo/just-icon.png +pypiPackage: cytotable +githubRepo: cytomining/CytoTable --- CytoTable logo CytoTable logo +{{< tool-badges >}} + `CytoTable` harmonizes output from different high-content image analysis tools — including CellProfiler, `DeepProfiler`, and IN Carta — into a single, analysis-ready format. It scales to large datasets using Apache Parquet, DuckDB, and Parsl under the hood. diff --git a/content/tools/deepprofiler.md b/content/tools/deepprofiler.md index ad7d84a..66711b6 100644 --- a/content/tools/deepprofiler.md +++ b/content/tools/deepprofiler.md @@ -3,10 +3,13 @@ title: DeepProfiler description: Alternative feature extraction — deep learning embeddings from raw microscopy images, bypassing classical segmentation-and-measurement pipelines. showDate: false showAuthor: false +githubRepo: cytomining/DeepProfiler --- DeepProfiler logo +{{< tool-badges >}} + `DeepProfiler` uses deep neural networks to extract morphological features directly from raw microscopy images, bypassing traditional segmentation-and-measurement pipelines. It is designed for high-throughput screens where deep learning representations outperform classical feature sets. diff --git a/content/tools/pycytominer.md b/content/tools/pycytominer.md index 936f743..3e3b7aa 100644 --- a/content/tools/pycytominer.md +++ b/content/tools/pycytominer.md @@ -4,11 +4,15 @@ description: "Core processing pipeline — aggregates, normalizes, and feature-s showDate: false showAuthor: false logoUrl: https://raw.githubusercontent.com/cytomining/pycytominer/main/logo/just-icon.png +pypiPackage: pycytominer +githubRepo: cytomining/pycytominer --- Pycytominer logo Pycytominer logo +{{< tool-badges >}} + `Pycytominer` is the core Python package in the Cytomining ecosystem. It provides a clean, composable API for processing single-cell morphology profiles produced by tools like CellProfiler. diff --git a/layouts/_partials/article-link.html b/layouts/_partials/article-link.html index a08edee..5c144b7 100644 --- a/layouts/_partials/article-link.html +++ b/layouts/_partials/article-link.html @@ -69,6 +69,7 @@

{{ partial "extend-article-link.html" . }} {{ end }}

+ {{ partial "tool-badges.html" (dict "page" . "scope" "list") }}
{{ partial "article-meta.html" . }}
diff --git a/layouts/_partials/tool-badges.html b/layouts/_partials/tool-badges.html new file mode 100644 index 0000000..6cc4590 --- /dev/null +++ b/layouts/_partials/tool-badges.html @@ -0,0 +1,35 @@ +{{- $page := . -}} +{{- $scope := "single" -}} +{{- if reflect.IsMap . -}} + {{- $page = .page -}} + {{- $scope = .scope | default "single" -}} +{{- end -}} +{{- $isTools := eq $page.Section "tools" -}} +{{- $isExperimental := eq $page.Section "experimental" -}} +{{- if and (or $isTools $isExperimental) (or $page.Params.pypiPackage $page.Params.githubRepo) -}} +
+ {{- if $isTools -}} + {{- with $page.Params.pypiPackage -}} + PyPI version for {{ . }} + {{- end -}} + {{- end -}} + {{- with $page.Params.githubRepo -}} + GitHub stars for {{ . }} + {{- end -}} + {{- if and $isTools (ne $scope "list") -}} + {{- with $page.Params.pypiPackage -}} + PyPI monthly downloads for {{ . }} + Total downloads for {{ . }} + {{- end -}} + {{- with $page.Params.githubRepo -}} + GitHub forks for {{ . }} + {{- end -}} + {{- end -}} +
+ +{{- end -}} diff --git a/layouts/shortcodes/tool-badges.html b/layouts/shortcodes/tool-badges.html new file mode 100644 index 0000000..3b6e07d --- /dev/null +++ b/layouts/shortcodes/tool-badges.html @@ -0,0 +1 @@ +{{ partial "tool-badges.html" (dict "page" .Page "scope" "single") }} diff --git a/themes/congo/layouts/list.html b/themes/congo/layouts/list.html index b80fe91..c22c3e7 100644 --- a/themes/congo/layouts/list.html +++ b/themes/congo/layouts/list.html @@ -43,11 +43,5 @@

-

- {{ i18n "list.no_articles" | emojify }} -

- {{ end }} {{ end }} From 1bdad89c72975a852ba487b177b48e2e774724d8 Mon Sep 17 00:00:00 2001 From: d33bs Date: Tue, 26 May 2026 16:29:04 -0600 Subject: [PATCH 7/9] roadmap instead of experimental links --- content/experimental/_index.md | 3 +++ content/tools/_index.md | 2 +- layouts/index.html | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/content/experimental/_index.md b/content/experimental/_index.md index 7dbf203..e95ee9b 100644 --- a/content/experimental/_index.md +++ b/content/experimental/_index.md @@ -1,6 +1,9 @@ --- title: "Roadmap" description: "Tools under active development in the WayScience organization, forming the foundation of the next Cytomining ecosystem." +url: /roadmap/ +aliases: + - /experimental/ --- The following tools are under active development in the [WayScience](https://github.com/WayScience) organization and form the backbone of the Cytomining roadmap. diff --git a/content/tools/_index.md b/content/tools/_index.md index d37e538..95c4a17 100644 --- a/content/tools/_index.md +++ b/content/tools/_index.md @@ -5,4 +5,4 @@ description: Production-ready tools for image-based profiling bioinformatics. The Cytomining ecosystem provides a suite of production-ready tools for every stage of the image-based profiling workflow. -For upcoming capabilities and in-progress projects, see the [Roadmap](/experimental/), which includes our experimental tools under active development. +For upcoming capabilities and in-progress projects, see the [Roadmap](https://cytomining.github.io/roadmap/), which includes our experimental tools under active development. diff --git a/layouts/index.html b/layouts/index.html index 84ef57b..67d6b58 100644 --- a/layouts/index.html +++ b/layouts/index.html @@ -48,7 +48,7 @@

Explore tools → - + Experimental tools

From 75cb53124778c5da09e1ebd551bb7988b263bef7 Mon Sep 17 00:00:00 2001 From: d33bs Date: Tue, 26 May 2026 16:36:30 -0600 Subject: [PATCH 8/9] Update _index.md --- content/tools/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/tools/_index.md b/content/tools/_index.md index 95c4a17..55fec00 100644 --- a/content/tools/_index.md +++ b/content/tools/_index.md @@ -5,4 +5,4 @@ description: Production-ready tools for image-based profiling bioinformatics. The Cytomining ecosystem provides a suite of production-ready tools for every stage of the image-based profiling workflow. -For upcoming capabilities and in-progress projects, see the [Roadmap](https://cytomining.github.io/roadmap/), which includes our experimental tools under active development. +For upcoming capabilities and in-progress projects, see the [Roadmap](https://cytomining.github.io/experimental/), which includes our experimental tools under active development. From 2dc341ce53a0f1c92628586d12c6f68ad8538c65 Mon Sep 17 00:00:00 2001 From: Dave Bunten Date: Wed, 27 May 2026 09:34:55 -0600 Subject: [PATCH 9/9] Apply suggestions from code review Co-authored-by: Gregory Way --- content/people/_index.md | 8 ++++---- layouts/experimental/list.html | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/content/people/_index.md b/content/people/_index.md index d4601d8..51fac0a 100644 --- a/content/people/_index.md +++ b/content/people/_index.md @@ -10,7 +10,7 @@ The Cytomining ecosystem is maintained by a distributed community of contributor ## Contributors -- Browse contributors and maintainers in the [cytomining GitHub organization](https://github.com/cytomining) +- Browse contributors and maintainers in the [Cytomining GitHub organization](https://github.com/cytomining) - See organization members directly in the [People directory](https://github.com/orgs/cytomining/people) - Explore project-level contribution history in each repository's contributors graph @@ -21,11 +21,11 @@ We welcome issues, bug reports, documentation improvements, and pull requests fr Cytomining uses a lightweight governance model centered on maintainers and public decision-making. We keep policy concise and bias toward transparent, repository-native workflows over heavy process. -- **Stewardship:** Repositories are maintained by designated maintainers in the `cytomining` organization. -- **Decision-making:** Day-to-day technical decisions happen in public issues and pull requests. +- **Stewardship:** Repositories are maintained by designated maintainers in the `Cytomining` organization. +- **Decision-making:** Day-to-day technical decisions happen in public issues, pull requests, and our public [Discord](https://discord.gg/dgEDz6xzfJ). - **Consensus first:** Maintainers seek rough consensus from active contributors before merging impactful changes. - **Escalation path:** When consensus is unclear, maintainers make a final call, document rationale, and revisit with new evidence. -- **Scope and ownership:** Changes are reviewed by maintainers closest to the affected project area. +- **Scope and ownership:** Changes are reviewed by maintainers closest to the affected project area, as defined by recent commits and other relevant ecosystem initiatives. - **Openness:** Design direction, roadmap changes, and tradeoffs are discussed in public whenever possible. - **Evolution:** Governance expectations are updated incrementally as the community and project complexity grow. diff --git a/layouts/experimental/list.html b/layouts/experimental/list.html index 45c4d7e..0cf924d 100644 --- a/layouts/experimental/list.html +++ b/layouts/experimental/list.html @@ -24,7 +24,7 @@

Roadmap

Experimental tools

These tools are under active development in the WayScience organization. - For production-ready, non-experimental tools, see the Tools page. + For production-ready tools, see the Tools page.

{{ range .Pages }} {{ partial "article-link.html" . }}