Package Exports
- opensource-showcase
- opensource-showcase/dist/cli.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (opensource-showcase) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
opensource-showcase
📦 CLI tool to curate and showcase your open source contributions
Features
- ✅ GitHub browser login via OAuth Device Flow
- ✅ Fetch all your merged Pull Requests
- ✅ Smart filtering (low stars, trivial PRs, bots)
- ✅ Interactive selection UI
- ✅ Auto-creates public
.opensourcerepository for sharing - ✅ Enables GitHub Pages for the generated portfolio when GitHub allows it
- ✅ Generates beautiful README with organization logos and PR descriptions
- ✅ Generates a professional
index.htmlportfolio page for GitHub Pages
Installation
# Run without installing
npx opensource-showcase
# Or install globally
npm install -g opensource-showcaseQuick Setup (30 seconds)
Run the CLI:
opensource-showcase
Approve in GitHub:
- The CLI opens GitHub in your browser
- Enter the one-time code shown in the terminal
- After approval, your GitHub login is saved locally for future runs
No manual credential setup is needed.
Commands
opensource-showcase # Curate contributions (interactive)
opensource-showcase login # Login to GitHub in your browser
opensource-showcase whoami # Show the authenticated account
opensource-showcase status # View current contributions
opensource-showcase config # View/edit configuration
opensource-showcase logout # Clear saved GitHub login
opensource-showcase --all # Show all PRs (no filtering)
opensource-showcase --min-stars=100 # Custom star filterRepository Visibility
The generated showcase repository should be public if you want people to view it or host it with GitHub Pages. This CLI creates the repository as public by default.
Keep only the CLI source repository private if you are not ready to publish the tool itself yet. The user's generated showcase page should be public because it is a portfolio.
Configuration
Create ~/.opensourcerc:
{
"minStars": 5,
"excludeTitlePatterns": ["fix typo", "chore:", "update deps"],
"excludeBotPRs": true,
"excludeOwnRepos": true
}What Gets Generated
The CLI creates a .opensource repository with:
contributions.json
Machine-readable contribution data following the .opensource spec
index.html
A responsive static portfolio page ready for GitHub Pages.
README.md
Beautiful visualization with:
- Organization logos
- PR titles and descriptions
- Stars, languages, merge dates
- Code changes (+/-)
- Labels
GitHub Pages
The CLI writes index.html and tries to enable GitHub Pages automatically from the main branch root.
By default, your portfolio page will be available at:
https://YOUR_USERNAME.github.io/.opensource/If the repository already has a custom domain configured, the CLI respects it and shows a warning. Remove the custom domain from repository Settings → Pages if you want to use the free github.io URL.
If GitHub Pages cannot be enabled automatically, enable it manually:
- Open
https://github.com/YOUR_USERNAME/.opensource/settings/pages - Set source to
Deploy from a branch - Select the
mainbranch and root folder - Save
Example Output
# 📦 Open Source Contributions
**Your Name** (@username)
15 contributions across 8 repositories
---
### 1. 🏢 [facebook/react](https://github.com/facebook/react) ⭐ 220,000
**[Fix memory leak in useEffect cleanup](https://github.com/facebook/react/pull/12345)**
Fixed a critical memory leak affecting server-side rendering...
> 💡 **My contribution:** Debugged and patched the cleanup logic
`JavaScript` • 📅 Mar 15, 2024 • [View PR →](#) • 📊 +45 -12 • `bug` `performance`Troubleshooting
Login issues:
- Run
opensource-showcase loginto refresh your GitHub session - Use
opensource-showcase logoutto clear and start fresh
No PRs found:
- Make sure you have merged PRs to public repositories
- Check your GitHub username is correct
- Try running with
--allto see filtered PRs
Project Structure
src/
├── auth/ # GitHub OAuth
├── commands/ # CLI commands
├── filter/ # Smart filtering
├── github/ # API integration
├── repo/ # Repository & README generation
├── ui/ # Interactive terminal UI
└── utils/ # HelpersLicense
MIT