Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ images = ["img/scverse-social-card.png"]
description = "Foundational tools for omics data in the life sciences"

[outputs]
home = ["html", "rss", "entities"]
home = ["html", "rss", "entities", "llms"]

[outputFormats.entities]
mediaType = "application/json"
Expand All @@ -24,6 +24,11 @@ notAlternative = true
[markup.goldmark.renderer]
unsafe= true

[outputFormats.llms]
mediaType = "text/plain"
baseName = "llms"
isPlainText = true

# The ecosystem registry rebuilds this site when packages.json changes, so a cached copy defeats the trigger.
# Hugo caches remote resources forever by default, and on Netlify that cache survives between builds.
[caches.getresource]
Expand Down
62 changes: 62 additions & 0 deletions layouts/index.llms.txt

@PauBadiaM PauBadiaM Jul 13, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Currently the core package list depends on code (I guess javascript of similar) execution to get rendered in the txt file. Do we know if an agent will see the rendered list at runtime, or just the:

Foundational packages maintained by the scverse core team.
{{ range .Params.packages }}
- [{{ .name }}]({{ .url }}): {{ .description }}
{{- end }}

This is important because if it does not render properly the agent will be quite lost.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Hmm, I guess agents that look at the code will see this. Only if they access the rendered website, they'll see what we expect. So hardcoding this would be the right thing to do? Or will agents simply attempt to look at these parameters to figure out what should be there? Sure - less efficient but then we don't need to hardcode things.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

So I've seen that it depends a lot on the agent capability. High-end models (such as opus or fable) they will go through the trouble of jumping to other pages and following links if they are provided, while lower-end models (haiku, sonnet) they'll "speed-run" and not bother visiting other pages, so I would say it is safer to hardcode this just in case.

Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# scverse

> scverse is a consortium of foundational, interoperable open-source tools (mostly Python) for single-cell and spatial omics data analysis in the life sciences.

scverse packages share common data structures (AnnData, MuData, SpatialData) to guarantee interoperability across the ecosystem.
Most package documentation lives on dedicated external sites, linked below.
This site (scverse.org) hosts the package index, tutorials, project governance, events, and the blog.

## Core packages

Foundational packages maintained by the scverse core team.
{{- $registryBase := "https://scverse.org/ecosystem-packages/" }}
{{- $pkgs := transform.Unmarshal (resources.GetRemote (printf "%spackages.json" $registryBase)).Content }}
{{- $core := slice }}
{{- $org := slice }}
{{- range $pkgs }}
{{- $entry := merge . (dict "sortkey" (lower .name)) }}
{{- if in (slice "core-datastructure" "core-framework") .category }}
{{- $core = $core | append $entry }}
{{- else if and (in (.project_home | default "") "github.com/scverse/") (ne .category "core-infrastructure") }}
{{- /* core-infrastructure is the scverse repos themselves, not packages. */}}
{{- $org = $org | append $entry }}
{{- end }}
{{- end }}
{{ range sort $core "sortkey" }}
{{- /* Registry descriptions carry markdown and hard line breaks; llms.txt wants one line each. */}}
{{- $desc := trim (.description | markdownify | plainify | htmlUnescape | replaceRE `\s+` " ") " " }}
- [{{ .name }}]({{ .documentation_home | default .project_home }}): {{ $desc }}
{{- end }}

## More packages

Other packages maintained in the scverse GitHub organization. The full index, including
community packages built on scverse standards, is at {{ absURL "packages/" }}.
{{ range sort $org "sortkey" }}
{{- $desc := trim (.description | markdownify | plainify | htmlUnescape | replaceRE `\s+` " ") " " }}
- [{{ .name }}]({{ .documentation_home | default .project_home }}): {{ $desc }}
{{- end }}

## Learn
- [Tutorials]({{ absURL "learn/" }}): Getting-started tutorials for the core packages.
- [Package index]({{ absURL "packages/" }}): All core and ecosystem packages with links to docs, source, and distribution.
- [Single-cell best practices](https://www.sc-best-practices.org/): Community book on best practices for single-cell analysis.

## About
- [Mission]({{ absURL "about/mission/" }}): What scverse is and why it exists.
- [Roles and governance]({{ absURL "about/roles/" }}): Core team, steering council, and how the project is run.
- [Code of conduct]({{ absURL "about/code_of_conduct/" }}): Community standards for participation.
- [AI policy]({{ absURL "about/ai_policy/" }}): Expectations for contributing AI-assisted code to scverse projects.

## Community
- [GitHub](https://github.com/scverse): Source code for all scverse packages.
- [Discourse](https://discourse.scverse.org/): User forum for questions and discussion.
- [Zulip](https://scverse.zulipchat.com/): Developer chat.
- [Ecosystem packages](https://github.com/scverse/ecosystem-packages): Community packages built on scverse standards, and inclusion criteria.
- [cookiecutter-scverse](https://cookiecutter-scverse-instance.readthedocs.io/en/latest/): Project template for creating new scverse-compatible packages.

## Optional
- [Blog]({{ absURL "blog/" }}): Announcements and release notes.
- [Events]({{ absURL "events/" }}): Conferences and hackathons.
- [People]({{ absURL "people/" }}): Contributors and core team.
- [YouTube](https://www.youtube.com/channel/UCpsvsIAW3R5OdftJKKuLNMA): Recorded talks and workshops.