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
Fork y rama
Crea una rama desde main; un cambio lógico por PR.
- 2
Firma tus commits (DCO)
Usa git commit -s. Usamos el Developer Certificate of Origin, no un CLA — sin papeleo.
- 3
Verificaciones pre-PR
make typecheck & make test & make build — todo verde, páginas EN/ES emparejadas.
- 4
Abre el PR
Descripción clara, issue vinculado (si aplica), capturas para cambios de UI. CI debe estar verde antes de revisar.
- 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