# README
OSP - Open Source Pilot for Community Governance
OSP (Open Source Pilot) is an automated tool focused on open source community governance. It integrates various best practices in open source community governance, providing maintainers with a comprehensive toolkit for efficient operations, precise tracking, and data-driven decision making.
OSP offers two usage modes: a CLI tool and GitHub Action workflows. The CLI tool is suitable for local interactive management, while GitHub Action enables fully automated operations through github event subscriptions - configure once, serve continuously.
Actual Example:
✨ Features
Implemented
- 🔑 GitHub Authentication - Secure identity authentication, same as GitHub CLI
- 📊 Project Statistics - Multi-dimensional data analysis
- 📝 Community Tasks & Project Planning - Auto-updates through GitHub event subscriptions
- 📈 Star History - Project growth tracking
Roadmap
- 📋 Roadmap Generation - Auto-updates through GitHub event subscriptions
- 📅 Community Activity Aggregation - Auto-aggregates recent comments, new PRs/Issues/Discussions
- 🤖 Smart PR Review - LLM-based code review with automated comments
- 💡 Smart Issue Creation - One-line issue generation for improved efficiency
- 🔌 GitHub App Integration - Enhanced integration capabilities
- 📝 Release Note Generation - Auto-summarizes core changes, contributors, and community participation metrics
- Support reading
<!-- CUSTOM -->
tag content from issue will not be overwritten - Support display
diff
content before plan and onboard excute - Add descriptions for each label in
plan
andonboard
templates - Support recent activity (latest finish issue, etc) in
plan
andonboard
templates, such as showing recently closed issues - Add explanation for difficulty symbol
!
inosp plan
template - Integration with all-contributors
🚀 Installation
For more installation options, see Advanced Installation Guide.
🐙 Via Go
go install github.com/elliotxx/osp@latest
🍺 Via Homebrew
brew tap elliotxx/tap
brew install osp
🚀 Usage
🖥️ CLI Tool
- Configure GitHub Authentication
# Login with GitHub CLI
gh auth login
# Verify authentication status
osp auth status
- Project Management
# Add a project
osp repo add owner/repo
# Switch projects
osp repo
# View current project
osp repo current
- Core Features
# Generate version planning
osp plan
# Manage community tasks
osp onboard
# View project statistics
osp stats
# Analyze Star history
osp star history
For more details, see the CLI Usage Guide.
🤖 GitHub Action
For osp-action implementation, see osp-action
Here's an example of automating community task generation and updates using osp-action. For more automation scenarios, see the documentation.
- Create workflow file
.github/workflows/community-task-updater.yml
in main branch:
name: Community Task Updater
on:
# Manually triggered
workflow_dispatch:
# Trigger on issue events
issues:
types: [opened, edited, deleted, transferred, milestoned, demilestoned, labeled, unlabeled, assigned, unassigned]
jobs:
osp-run:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Update Community Tasks
uses: elliotxx/osp-action@main
with:
# Optional: version of OSP to use (default: latest)
version: 'latest'
# Optional: working directory (default: project root)
working-directory: '.'
# Optional: GitHub token (default: ${{ github.token }})
github-token: ${{ secrets.GITHUB_TOKEN }}
# Optional: enable debug mode (default: false)
debug: false
# Optional: skip caching (default: false)
skip-cache: false
# Optional: additional OSP arguments
args: >-
onboard
--yes
--onboard-labels 'help wanted,good first issue'
--difficulty-labels 'good first issue,help wanted'
--category-labels bug,documentation,enhancement
--target-title 'Community Tasks 🎯'
- Configure Required Permissions
- Navigate to Settings -> Actions -> General
- Enable "Read and write permissions" under "Workflow permissions"
- Save the changes
- Usage
- Automatic: Workflow executes automatically when configured GitHub events occur
- Manual:
- Go to Actions page
- Select "Community Task Updater"
- Click "Run workflow"
📚 Documentation
- User Guide - Detailed usage instructions
- Design Docs - Architecture and implementation
- CLI Reference - Command-line tool reference
👥 Who's using it
🤝 Contributing
We welcome all forms of contributions! Whether it's new features, documentation improvements, or bug fixes. See our Contributing Guide for details.
👀 Similar Projects
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.