Skip to content

About

Biodiversity informatics and taxonomy: public kit for sourced species records and local contributions.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

speeeecies

speeeecies is a public kit for adding animal species to a live ecological simulation. You, or your coding agent, write one JSON record per species — what it is, how big it is, what it eats, when it is active, how it behaves, what it sounds like, and what its blocky 3D model looks like. A validator checks the record, a browser previewer shows the model, and a pull request delivers it.

Watch the simulation live: https://www.youtube.com/@jt55401/live Site (schema docs, behaviour guide, previewer, gallery): https://eeeearth.github.io/speeeecies/

The three worked examples in the previewer: red fox, European robin, common toad

Quick start for agents

Read AGENTS.md. It has the full step-by-step: pick an issue, claim it, write the record, fetch activity data, validate, preview, open a PR. To add a whole place (a locale: a public city or district and at least 8 of its species), see "Contribute a locale" in the same file.

Humans: read CONTRIBUTING.md instead — same flow, shorter.

Species requests

The open animal requests are the tasks contributors can claim after checking for an active ETA. We aim to keep 1,000 open requests at the start of the 10,000-species effort. The queue and replenishment rule explains when later batches are released. The reserve holds 9,000 unpublished discovery leads; each lead still needs screening before it becomes an issue.

To browse by animal group, search the issue bodies for birds, mammals, reptiles or amphibians.

Locales

The live simulation rotates through places: a London garden now, and any city or district you add. A locale is locales/<id>/locale.json: a public centroid (never an address), its climate, a generic plot and at least 8 species (aim for 12 or more), plus locales/<id>/flora-catalog.json, the plants its garden shows. See docs/locale-richness.md for why both matter. Browse them on the locales page, or pick an open locale-request issue (Berlin, Tokyo, Sydney, Cape Town, São Paulo and more) and follow "Contribute a locale" in AGENTS.md.

United States, state by state. The rotation is working through every US state in rural, coastal, suburban and urban settings, ordered so that each new place adds an ecoregion or setting the stream has not shown. The open US locale-request issues are the slots anyone can take, and more are posted as those are claimed. The whole queue is in docs/us-queue.md.

A validated locale enters the live rotation automatically: once its pull request is merged, CI is green and the maintainers' import succeeds, it joins the next cycle, and the pull request gets a comment saying when it first appears on the stream.

Repository layout

schema/v0.1/species.schema.json          the species record (JSON Schema 2020-12)
schema/v0.1/behavior-program.schema.json behaviour programs (state machines and trees)
schema/v0.1/body-plans.json              generated mesh parts and defaults per body plan
schema/v0.1/licenses.json                licence tiers, scores, rejections
behaviors/<program-id>.json              shared behaviour programs any species can use
species/<slug>/species.json              one species record
species/<slug>/behavior.json             optional: a program only this species uses
species/<slug>/ATTRIBUTION.md            generated by tools/validate.py --write-attribution
schema/v0.1/locale.schema.json           a locale manifest: a public place and its species
schema/v0.1/flora-catalog.schema.json    a locale's flora catalog: the plants its garden shows
schema/v0.1/flora-taxa.json              the plants the simulation can draw, for flora-catalog.json's taxon field
locales/<id>/locale.json                 one locale for the live simulation's rotation
locales/<id>/flora-catalog.json          that locale's plant list (optional; the validator warns without it)
docs/locale-richness.md                  why sparse locales look empty, and targets for animals and plants
tools/                                   validator, activity fetcher, visual check, site builder (uv scripts)
tools/issues/                            generator for the locale-request issues, and their bodies (out/)
site/                                    landing page, schema docs, gallery, previewer

Tools

Tool What it does
uv run tools/validate.py [PATH ...] Checks species records and behaviour programs against the schema and licence policy. --report prints a Markdown report for a PR; --write-attribution writes species/<slug>/ATTRIBUTION.md; --strict turns warnings into errors.
uv run tools/validate.py --locale <id> Checks a locale manifest and every species it lists (activity for the locale's region, behaviour, poses, licences, public-safety lint). --self-check scans the whole repo for addresses, home paths, hostnames and SSH remotes.
uv run tools/fetch_activity.py <slug> --region <ISO> --write Builds a 12-month activity curve for a species in a region from iNaturalist and GBIF observations.
uv run tools/visual_check.py <slug> --write Advisory: renders the model headless and scores it against its name with BioCLIP, on CPU.
python3 tools/build_site.py Assembles the GitHub Pages site into _site/ (schema docs, gallery, previewer, combined attribution).

Licence

Code (tools/, site/) is MIT. Species and behaviour data (species/, behaviors/) is CC BY-SA 4.0, except data drawn from non-commercial sources, which is marked and keeps its source licence.

Status

Format 0.1. Species records are animals only — plant species need a data-driven preset format first and are tracked as a later milestone (see ROADMAP.md). Issues labelled phase-2 are for plant species records and are not open for work yet. A locale's flora-catalog.json is not a plant species record; it can be contributed today (see "Locales" above).

About

Biodiversity informatics and taxonomy: public kit for sourced species records and local contributions.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages