Add contributor activity leaderboard#68
Open
anshul23102 wants to merge 4 commits into
Open
Conversation
Provides canonical label schema and Python tool for synchronizing labels uniformly across managed repositories via GitHub API. Addresses inconsistent labeling practices across Oss-Dev projects. Key features: - Canonical label schema in config/labels.json with color and description - LabelManager class for creating, updating, and deleting labels - Batch synchronization for multiple repositories - Idempotent operations with proper error handling - Comprehensive test coverage with 15 passing tests The schema includes: bug, enhancement, good first issue, help wanted, documentation, level:intermediate, level:advanced, beginner-friendly, mentor-needed, and blocked labels. Fixes Hell1213#61 Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Implements automated validation workflow that checks pull request descriptions against the repository's PULL_REQUEST_TEMPLATE.md. Ensures all required sections are present, non-empty, and contain meaningful content. Key features: - Validates presence of required sections (Summary, Related Issue, Type of Change, Testing, Description) - Detects and rejects placeholder-only content - Posts helpful feedback comments on PR with specific validation errors - Non-intrusive: provides clear guidance without blocking the PR - Runs on PR creation, edit, and synchronization events - Zero configuration required Automatically posts success/failure comments linking to guidance docs for contributors to quickly resolve validation issues. Fixes Hell1213#62 Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Implements an 8-step interactive onboarding system that guides new contributors through essential setup, learning, and contribution steps. Progress is persisted locally with localStorage-like storage at ~/.oss-dev/onboarding.json. Key features: - OnboardingStep dataclass for structured step definitions - OnboardingChecklist class for progress tracking and management - 8 comprehensive steps: Fork → Setup → Learn → Find → Branch → Code → PR → Join - Each step includes title, description, detailed guidance, and resources - Persistent progress tracking with save/load functionality - Progress queries for tracking completion percentage and next steps - Complete test suite with 18 passing tests The checklist provides a clear learning path for newcomers, reducing the barrier to first-time contribution. Progress is automatically saved, allowing contributors to resume at any time. Steps include: 1. Fork and clone repository 2. Install dependencies and setup 3. Read CONTRIBUTING.md and CODE_OF_CONDUCT.md 4. Find a good first issue 5. Create a feature branch 6. Implement changes and run tests 7. Submit pull request 8. Join community Discord/discussions Fixes Hell1213#60 Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Implements leaderboard system that ranks contributors by weighted activity metrics (issues resolved, PRs merged, code reviews, docs contributions) fetched from GitHub API with 1-hour caching. Key features: - LeaderboardMetrics dataclass for structured contributor data - LeaderboardGenerator for fetching and aggregating metrics - Weighted point system: issues (10pts), PRs (15pts), reviews (5pts), docs (20pts) - GitHub API integration with pagination and error handling - Caching support to avoid rate limiting - JSON export capability - 13 comprehensive unit tests The system provides public recognition for contributors, improving motivation for sustained contribution and enabling maintainers to identify active members. Metrics tracked: - Issues resolved (closed_by count) - Pull requests merged (merged_by count) - Code review comments (pull request comments) - Documentation contributions (commits to docs/) Fixes Hell1213#63 Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Author
|
Please add the |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements leaderboard system that ranks contributors by weighted activity metrics (issues resolved, PRs merged, code reviews, docs contributions) with GitHub API integration and caching.
Related Issue
Fixes #63
Type of Change
Testing
uv run ruff checkpassesuv run mypypassesuv run pytest tests/test_leaderboard.pypasses (13 tests)Description
Provides public recognition system for contributors with automated leaderboard generation based on weighted contribution metrics.
Key Features
LeaderboardMetrics (Data Model)
LeaderboardGenerator (Core Logic)
Weighted Point System
GitHub API Integration
Usage
Benefits
Architecture
This implementation integrates with Oss-Dev's architecture and maintainer recognition goals.