This repository contains contributor and activity data for the Open Healthcare Network leaderboard.
.
├── config.yaml # Leaderboard configuration
├── .leaderboard.db # SQLite database (auto-generated)
├── contributors/ # Contributor profiles (Markdown files)
└── activities/ # Activity records (JSONL files)
Edit config.yaml and uncomment the plugin configurations you want to use. Make sure to:
- Set the correct plugin source URLs
- Configure environment variables for API tokens
- Update organization-specific settings
# Using the leaderboard CLI (from your leaderboard monorepo)
pnpm --filter @leaderboard/plugin-runner scrape --data-dir .
# Or if you have the CLI installed globally
leaderboard-scrape --data-dir .After scraping, contributor profiles and activities will be exported to files:
git add contributors/ activities/
git commit -m "Update leaderboard data"
git pushContributor profiles are stored as Markdown files with YAML frontmatter in the contributors/ directory:
---
username: alice
name: Alice Smith
role: core
avatar_url: https://example.com/avatar.jpg
social_profiles:
github: https://github.com/alice
linkedin: https://linkedin.com/in/alice
---
Alice is a core contributor specializing in backend development...username(required) - Unique identifiername- Full namerole- Role identifier (must match config.yaml)title- Job title or designationavatar_url- Profile picture URLsocial_profiles- Social media linksjoining_date(YYYY-MM-DD) - Join datemeta- Custom metadata
Activities are stored as JSONL (JSON Lines) files in the activities/ directory, one file per contributor:
{"slug":"alice-pr-1","contributor":"alice","activity_definition":"pr_merged","title":"Fix authentication bug","occured_at":"2024-01-15T10:00:00Z","link":"https://github.com/org/repo/pull/123","points":10}
{"slug":"alice-issue-1","contributor":"alice","activity_definition":"issue_opened","title":"Add rate limiting","occured_at":"2024-01-16T14:20:00Z","link":"https://github.com/org/repo/issues/45","points":5}slug(required) - Unique identifiercontributor(required) - Usernameactivity_definition(required) - Activity type slugtitle- Activity titleoccured_at(required) - ISO 8601 timestamplink- URL to activitytext- Additional text/descriptionpoints- Points awardedmeta- Custom metadata
The config.yaml file contains all leaderboard configuration:
- Organization: Name, description, logo, social links
- Meta/SEO: Site title, description, images for social sharing
- Roles: Define contributor roles (core, contributor, bot, etc.)
- Plugins: Configure data source plugins (GitHub, Slack, etc.)
- Aggregates: Specify which metrics to display
- Theme: Optional custom CSS for branding
Current roles configured:
- Core (
core): Core team member - Contributor (
contributor): Open source contributor - Intern (
intern): Intern - Bot (
bot): Bot (hidden)
For more information about the leaderboard system:
MIT