This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
This is the nf-core stats dashboard project. It consists of two main components:
- Evidence.dev frontend - A data visualization dashboard for nf-core statistics
- DLT data pipelines - Python pipelines that collect data from GitHub, Slack, and Twitter APIs
npm install # Install dependencies
npm run sources # Refresh data sources
npm run dev # Start development server
npm run build # Build for production
npm run test # Run tests (builds the project)cd pipeline
uv run python github_pipeline.py # Run GitHub stats collection
uv run python slack_pipeline.py # Run Slack stats collection- Data Collection: Python DLT pipelines (
pipeline/) fetch data from external APIs (GitHub, Slack) - Data Storage: Data is stored in MotherDuck (cloud DuckDB) database
nf_core_stats_bot - Data Visualization: Evidence.dev reads from MotherDuck and renders interactive dashboards
pipeline/- DLT data pipelines for collecting statspages/- Evidence.dev markdown pages with SQL queries and visualizationssources/- Database connection configurations.github/workflows/- GitHub Actions for daily pipeline runs and Netlify builds
The MotherDuck database contains tables for:
github_traffic_stats- Repository views and clonesgithub_contributor_stats- Contributor activity by weekgithub_issue_stats- Issues and pull requestsslack_messages- Slack channel message countsslack_members- Slack member statistics
Required secrets for pipelines (set in GitHub Actions or local .env):
SOURCES__GITHUB_PIPELINE__GITHUB__API_TOKEN- GitHub personal access tokenSOURCES__SLACK_PIPELINE__SLACK__API_TOKEN- Slack user tokenDESTINATION__MOTHERDUCK__CREDENTIALS__DATABASE- MotherDuck database nameDESTINATION__MOTHERDUCK__CREDENTIALS__PASSWORD- MotherDuck token
- Evidence pages use SQL queries embedded in markdown to fetch data
- The GitHub pipeline uses incremental loading with merge strategy to update existing records
- Pipelines run daily via GitHub Actions and are monitored with runitor
- The frontend is deployed to Netlify and rebuilt daily after pipeline runs