Categorygithub.com/elliotxx/osp
repositorypackage
0.2.0
Repository: https://github.com/elliotxx/osp.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author

# README

OSP

OSP - Open Source Pilot for Community Governance

Go Report Card GoDoc License

English | 简体中文

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 and onboard templates
  • Support recent activity (latest finish issue, etc) in plan and onboard templates, such as showing recently closed issues
  • Add explanation for difficulty symbol ! in osp 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

  1. Configure GitHub Authentication
# Login with GitHub CLI
gh auth login

# Verify authentication status
osp auth status
  1. Project Management
# Add a project
osp repo add owner/repo

# Switch projects
osp repo

# View current project
osp repo current
  1. 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.

  1. 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 🎯'
  1. Configure Required Permissions
  • Navigate to Settings -> Actions -> General
  • Enable "Read and write permissions" under "Workflow permissions"
  • Save the changes
  1. Usage
  • Automatic: Workflow executes automatically when configured GitHub events occur
  • Manual:
    1. Go to Actions page
    2. Select "Community Task Updater"
    3. Click "Run workflow"

📚 Documentation

👥 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.