🎯 Addon Information
Addon Name: Star History Charts
Category: GitHub Statistics
Difficulty: 🟢 Easy
Reference Links:
📝 Description
Star History generates beautiful charts showing the star growth of GitHub repositories over time. Perfect for showcasing project popularity and growth trends.
Example Use Cases:
- Show multiple project star histories side-by-side
- Compare your projects with competitors
- Demonstrate project growth in presentations
- Add visual proof of project success to README
What it looks like:

✅ Implementation Checklist
UI Components
URL Generation
Integration
Preview & Polish
Documentation
Testing
💻 Technical Details
Parameters
| Parameter |
Type |
Required |
Default |
Description |
| repos |
string[] |
Yes |
- |
Array of repos in format ["owner/repo", ...] |
| type |
string |
No |
Date |
Chart type: "Date" or "Timeline" |
| theme |
string |
No |
light |
Theme: "light" or "dark" |
Generated URL Format
https://api.star-history.com/svg?repos=owner/repo1,owner/repo2&type=Date&theme=dark
Example Code
// URL Builder Function
interface StarHistoryParams {
repos: string[];
type?: 'Date' | 'Timeline';
theme?: 'light' | 'dark';
}
const generateStarHistoryURL = (params: StarHistoryParams): string => {
const searchParams = new URLSearchParams({
repos: params.repos.join(','),
type: params.type || 'Date',
});
if (params.theme === 'dark') {
searchParams.append('theme', 'dark');
}
return `https://api.star-history.com/svg?${searchParams}`;
};
// Validation
const validateRepoFormat = (repo: string): boolean => {
return /^[a-zA-Z0-9_-]+\/[a-zA-Z0-9_-]+$/.test(repo);
};
🎨 UI Mockup
📊 GitHub Statistics [Collapse]
⭐ Star History
└─ [ ] Show Star History Chart
└─ Repositories (comma-separated):
[owner/repo1, owner/repo2, ...]
💡 Example: facebook/react, vuejs/vue
└─ Chart Type: ⚪ Date ⚪ Timeline
└─ Theme: ⚪ Light ⚪ Dark ⚪ Auto (match profile)
└─ Preview:
[Live chart preview or loading state]
Generated Markdown:
```markdown
[]
```
📸 Example Output
Markdown (Light Theme)
[](https://star-history.com/#facebook/react&vuejs/vue&Date)
Markdown (Dark Theme with Picture Tag)
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=facebook/react,vuejs/vue&type=Date&theme=dark" />
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=facebook/react,vuejs/vue&type=Date" />
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=facebook/react,vuejs/vue&type=Date" />
</picture>
🔍 Acceptance Criteria
🐛 Edge Cases to Consider
📚 Resources
💬 Questions?
Join our Discord for help: https://discord.gg/HHMs7Eg
📝 Notes for Contributors
Good first issue because:
- Simple URL generation (no complex API)
- Clear parameters and format
- No authentication required
- Good documentation available
- Similar patterns exist in codebase
Files to modify:
src/components/sections/github-stats-section.tsx - Add UI
src/lib/markdown-generator.ts - Add markdown generation
src/types/profile.ts - Add StarHistoryConfig type
src/lib/validations.ts - Add repo format validation
Helpful patterns to reference:
- Look at
github-stats.tsx for similar URL generation
- Check existing form components in
src/components/forms/
- Follow theme pattern from other GitHub widgets
Testing your implementation:
- Try with your own repos
- Test with popular repos (facebook/react, microsoft/vscode)
- Verify theme switching works
- Check preview on mobile
- Test with invalid inputs
🎯 Addon Information
Addon Name: Star History Charts
Category: GitHub Statistics
Difficulty: 🟢 Easy
Reference Links:
📝 Description
Star History generates beautiful charts showing the star growth of GitHub repositories over time. Perfect for showcasing project popularity and growth trends.
Example Use Cases:
What it looks like:

✅ Implementation Checklist
UI Components
URL Generation
generateStarHistoryURL()functionIntegration
Preview & Polish
Documentation
Testing
💻 Technical Details
Parameters
Generated URL Format
Example Code
🎨 UI Mockup
📸 Example Output
Markdown (Light Theme)
Markdown (Dark Theme with Picture Tag)
🔍 Acceptance Criteria
🐛 Edge Cases to Consider
📚 Resources
💬 Questions?
Join our Discord for help: https://discord.gg/HHMs7Eg
📝 Notes for Contributors
Good first issue because:
Files to modify:
src/components/sections/github-stats-section.tsx- Add UIsrc/lib/markdown-generator.ts- Add markdown generationsrc/types/profile.ts- Add StarHistoryConfig typesrc/lib/validations.ts- Add repo format validationHelpful patterns to reference:
github-stats.tsxfor similar URL generationsrc/components/forms/Testing your implementation: