Rastrum

Contribuir

Cómo contribuir con código, datos, traducciones, validación experta y PITs.

Rastrum es desarrollado por una sola persona pero es código abierto e impulsado por la comunidad. Código, observaciones, validación experta, traducciones y docs son bienvenidos — escoge el carril que más te acomode.

# Formas de contribuir

Código

  • Frontend (Astro + Tailwind): componentes, UX de identificadores, bandeja offline, interacciones MapLibre
  • Backend (Supabase Edge Functions, Deno): cascada de identificación, enriquecimiento, exportaciones, servidor MCP, despachador admin
  • ML en dispositivo: ajuste de WebLLM, empaquetado de modelos ONNX, paquetes regionales de especies
  • CLI de importación batch (Node 20+): tarjetas SD de cámara-trampa, paridad EXIF con la PWA
  • PWA / Capacitor: service worker, flujo de instalación, mejoras del shell iOS/Android

Datos y curación de especies

  • Enviar observaciones de campo desde México / LATAM
  • Validar identificaciones de IA como miembro de la comunidad o experto
  • Contribuir listas regionales de especies (Darwin Core / presets SNIB / CONANP)
  • Agregar campos morfométricos para evidencia ecológica (huellas, excrementos, nidos, cantos)

Traducciones

  • Paridad español ↔ inglés en src/i18n/{en,es}.json
  • Zapoteco, Mixteco, Náhuatl, Maya, Tsotsil/Tseltal (prioridad — piloto pendiente)
  • Alianza con INALI, lingüística UNAM o CIESAS para lenguas indígenas

Validación experta

  • Solicitar insignia de experto en tu grupo taxonómico (ornitología, botánica, micología, herpetología, entomología…)
  • Revisar la cola de validación filtrada por tus taxa
  • Contribuir guías regionales de desambiguación y claves de identificación

Docs y runbooks

  • Specs de módulo en docs/specs/modules/
  • Runbooks de operador en docs/runbooks/
  • Páginas de docs en src/pages/{en,es}/docs/ — deben mantener paridad EN/ES

# Configuración de desarrollo

El repo se desarrolla en macOS pero el toolchain corre en cualquier sistema con Node 20+ y un proyecto Supabase con Postgres. make help lista todos los workflows.

git clone https://github.com/ArtemioPadilla/rastrum.git
cd rastrum
make install        # npm ci
make dev            # astro dev — http://localhost:4321
make test           # vitest run
make typecheck      # tsc --noEmit
make build          # build estático en dist/

Copia .env.example a .env.local y rellena las llaves que necesites:

PUBLIC_SUPABASE_URL=
PUBLIC_SUPABASE_ANON_KEY=
PLANTNET_API_KEY=        # opcional, para el identificador PlantNet

# Proceso de contribución

  1. 1

    Fork y rama

    Crea una rama desde main; un cambio lógico por PR.

  2. 2

    Firma tus commits (DCO)

    Usa git commit -s. Usamos el Developer Certificate of Origin, no un CLA — sin papeleo.

  3. 3

    Verificaciones pre-PR

    make typecheck & make test & make build — todo verde, páginas EN/ES emparejadas.

  4. 4

    Abre el PR

    Descripción clara, issue vinculado (si aplica), capturas para cambios de UI. CI debe estar verde antes de revisar.

  5. 5

    Revisión

    Esperamos una respuesta de maintainer en 7 días. Cambios de schema pasan un gate adicional pre-merge que aplica el schema dos veces en un contenedor Postgres+PostGIS.

Firma DCO

Agrega Signed-off-by: Tu Nombre <tu_email> a cada mensaje de commit (git commit -s lo hace por ti). Al firmar, certificas que escribiste el código o que tienes derecho a enviarlo bajo la licencia del proyecto.

# Licencia

Componente Licencia
Código cliente (PWA, CLI, componentes) MIT
Servidor / Edge Functions AGPL-3.0
Documentación CC BY 4.0
Por observación CC BY / CC BY-NC / CC0 (lo elige el observador)
Datos taxonómicos CC0

# Dónde preguntar

  • GitHub Discussions: propuestas de funcionalidad, decisiones arquitectónicas, "¿esto está en alcance?"
  • GitHub Issues: reportes de bugs, solicitudes concretas, regresiones
  • Specs de módulo: docs/specs/modules/00-index.md en GitHub cataloga las ~34 specs de implementación

Reportar un problema

Mostrar diagnósticos

Entorno

 

Errores de consola

 

Peticiones fallidas