- Overview
- Features
- Architecture
- Setup Guide
- Usage
- Automation Workflows
- Dashboard & Analytics
- Notifications
- API Reference
- Troubleshooting
The GitForge Equity Tracking & Automation System is a comprehensive solution for managing equity distribution, tracking contributor performance, and automating bounty workflows. Built entirely on GitHub Actions and native web technologies, it provides:
- Real-time equity tracking with automatic updates
- Live dashboards with beautiful data visualizations
- Automated notifications via Discord, Twitter, and email
- Professional analytics and reporting
- Mobile-responsive design for access anywhere
- Automatic equity allocation on PR merge
- Live cap table management
- Contributor equity history
- Bounty completion tracking
- Beautiful data visualizations using Chart.js
- Contributor leaderboard with rankings
- Bounty completion metrics
- Mobile-responsive design
- Real-time updates
- Auto-updates on bounty completions
- Discord/Twitter notifications
- Weekly progress reports
- Contributor achievement badges
- Email notifications
- Equity distribution charts (SVG)
- Contributor performance analytics
- Bounty completion statistics
- Exportable reports (JSON, CSV, Markdown)
- Time-series analysis
GitForge Equity System
│
├── GitHub Actions Workflows
│ ├── equity-tracker.yml # Main tracking workflow
│ ├── notifications.yml # Notification system
│ └── analytics-update.yml # Analytics generation
│
├── Automation Scripts
│ ├── generate-dashboard.js # Dashboard generation
│ ├── generate-charts.js # Chart/visualization generation
│ ├── generate-analytics.js # Analytics calculation
│ ├── weekly-report.js # Weekly report generation
│ └── post-to-twitter.js # Twitter integration
│
├── Data Storage
│ ├── EQUITY_TRACKING.json # Main equity data
│ ├── BOUNTY_CONFIG.json # Bounty configuration
│ └── analytics/ # Generated analytics
│
└── Frontend
├── dashboard.html # Main dashboard
├── analytics.html # Advanced analytics
└── assets/charts/ # Generated charts
PR Merged → Workflow Triggered → Equity Updated → Dashboard Generated → Notifications Sent
↓
Analytics Updated
↓
Charts Generated
- GitHub repository with Actions enabled
- Node.js 20+ (for local testing)
- Optional: Discord webhook URL
- Optional: Twitter API credentials
Copy all files from this system to your repository:
# Copy workflows
.github/workflows/equity-tracker.yml
.github/workflows/notifications.yml
.github/workflows/analytics-update.yml
# Copy scripts
.github/scripts/generate-dashboard.js
.github/scripts/generate-charts.js
.github/scripts/generate-analytics.js
.github/scripts/weekly-report.js
.github/scripts/post-to-twitter.js
# Copy data files
github/EQUITY_TRACKING.json
github/BOUNTY_CONFIG.json
# Copy dashboards
dashboard.html
analytics.htmlAdd these secrets to your repository (Settings → Secrets and variables → Actions):
GITHUB_TOKEN- Automatically provided by GitHub
DISCORD_WEBHOOK_URL- Your Discord webhook URLTWITTER_API_KEY- Twitter API keyTWITTER_API_SECRET- Twitter API secretTWITTER_ACCESS_TOKEN- Twitter access tokenTWITTER_ACCESS_SECRET- Twitter access secretNOTIFICATION_EMAIL- Email for notificationsMAIL_SERVER- SMTP server addressMAIL_PORT- SMTP portMAIL_USERNAME- SMTP usernameMAIL_PASSWORD- SMTP password
Edit github/EQUITY_TRACKING.json with your initial data:
{
"total_equity_allocated": 0,
"total_equity_available": 100,
"bounties_completed": 0,
"bounties_pending": 0,
"last_updated": "2024-01-01T00:00:00Z",
"contributors": [],
"active_bounties": []
}- Go to Settings → Pages
- Source: Deploy from a branch
- Branch: main / (root)
- Save
Your dashboards will be available at:
https://yourusername.github.io/yourrepo/dashboard.htmlhttps://yourusername.github.io/yourrepo/analytics.html
- Create a new issue with the
bountylabel - Include equity information in the issue body:
Equity: 3%
- The system will automatically track this bounty
Contributors can claim bounties by:
- Commenting on the issue
- Creating a PR that references the issue
- Adding
bountylabel to the PR
When a PR with the bounty label is merged:
- ✅ Equity is automatically allocated
- 📊 Dashboard is updated
- 📢 Notifications are sent
- 🏅 Achievement badges are awarded
- 📈 Analytics are recalculated
Trigger: PR merge, issue close, schedule (every 6 hours), manual
Actions:
- Checks for bounty completion
- Updates equity data
- Generates dashboard
- Creates visualizations
- Commits changes
- Sends notifications
Trigger: PR opened/closed, issue opened/closed/labeled
Actions:
- Discord notification for new bounties
- Discord notification for completions
- Twitter posts for major milestones
- Achievement badge awards
- Email notifications
Trigger: PR merge, schedule (every 12 hours), manual
Actions:
- Calculates comprehensive analytics
- Generates reports (JSON, CSV, Markdown)
- Updates analytics dashboard
- Commits analytics data
Trigger: Schedule (weekly), manual
Actions:
- Generates weekly summary
- Creates detailed report
- Posts to GitHub Discussions
- Sends to Discord/Twitter
Features:
- Real-time equity metrics
- Top contributors leaderboard
- Active bounties list
- Equity distribution chart
- Progress tracking
- Mobile-responsive design
Metrics Displayed:
- Total equity allocated
- Total contributors
- Bounties completed
- Equity available
Features:
- Multi-tab interface
- Comprehensive metrics
- Interactive charts
- Time-series analysis
- Contributor rankings
- Velocity metrics
- Distribution analysis
- Projections
Tabs:
- Overview - Key metrics and trends
- Contributors - Detailed contributor table
- Velocity - Activity metrics (7d, 30d)
- Distribution - Equity distribution stats
- Projections - Future estimates
Located in assets/charts/:
- equity-distribution.svg - Bar chart of top contributors
- equity-pie-chart.svg - Pie chart of equity distribution
- equity-timeline.svg - Timeline of equity allocation
Setup:
- Create a Discord webhook in your server
- Add webhook URL to repository secrets as
DISCORD_WEBHOOK_URL - Notifications will be sent automatically
Notification Types:
- 🎯 New bounty available
- 🎉 Bounty completed
- 🏆 Achievement unlocked
- 📊 Weekly report
Setup:
- Create a Twitter Developer account
- Create an app and get API credentials
- Add credentials to repository secrets
- Install
twitter-api-v2package
Post Types:
- Bounty completions
- Major milestones
- Weekly summaries
Setup:
- Configure SMTP server details in secrets
- Add notification email address
- Emails sent on bounty completions
Main equity tracking data:
{
"total_equity_allocated": number,
"total_equity_available": number,
"bounties_completed": number,
"bounties_pending": number,
"last_updated": "ISO 8601 date",
"contributors": [
{
"github_username": string,
"bounty_completed": string,
"equity_earned": number,
"bounties_completed": number,
"completion_date": "YYYY-MM-DD",
"pr_link": string,
"status": "completed" | "pending",
"contributor_tier": string
}
],
"active_bounties": [
{
"bounty_id": number,
"title": string,
"equity_offer": number,
"assigned_to": string,
"status": "available" | "in-progress",
"issue_link": string
}
]
}Comprehensive analytics:
{
"overview": {
"total_contributors": number,
"total_equity_allocated": number,
"total_equity_available": number,
"bounties_completed": number,
"bounties_pending": number,
"active_bounties": number
},
"velocity": {
"last_7_days": {
"contributors": number,
"equity_allocated": number
},
"last_30_days": {
"contributors": number,
"equity_allocated": number
},
"daily_average": {
"contributors": string,
"equity": string
}
},
"distribution": {
"by_tier": {
"founding": number,
"core": number,
"active": number,
"emerging": number
},
"statistics": {
"average": string,
"median": string,
"max": number,
"min": number
}
},
"top_performers": {
"by_equity": array,
"by_bounties": array
},
"timeline": {
"by_month": object,
"by_week": object
},
"projections": {
"days_to_full_allocation": number,
"estimated_contributors_at_100": number
},
"generated_at": "ISO 8601 date"
}// Load equity data
fetch('github/EQUITY_TRACKING.json')
.then(response => response.json())
.then(data => {
console.log('Total equity allocated:', data.total_equity_allocated);
console.log('Contributors:', data.contributors);
});
// Load analytics
fetch('.github/analytics/analytics.json')
.then(response => response.json())
.then(data => {
console.log('Analytics:', data);
});- name: Read Equity Data
run: |
EQUITY=$(jq '.total_equity_allocated' github/EQUITY_TRACKING.json)
echo "Total equity: $EQUITY%"Problem: Equity tracker doesn't run on PR merge
Solutions:
- Check that PR has
bountylabel - Verify PR was actually merged (not just closed)
- Check workflow permissions in Settings → Actions
- Look at Actions tab for error messages
Problem: Dashboard shows old data
Solutions:
- Check if workflow completed successfully
- Verify GitHub Pages is enabled
- Clear browser cache
- Check commit history for dashboard.html updates
Problem: Discord/Twitter notifications not appearing
Solutions:
- Verify webhook URL/API credentials are correct
- Check that secrets are properly set
- Test webhook URL manually
- Review workflow logs for errors
Problem: Chart SVGs are missing or broken
Solutions:
- Check Node.js version (should be 20+)
- Verify assets/charts/ directory exists
- Check script execution logs
- Ensure equity data is valid JSON
Enable debug logging in workflows:
- name: Debug
run: |
echo "Equity data:"
cat github/EQUITY_TRACKING.json
echo "Analytics:"
cat .github/analytics/analytics.jsonTest workflows manually:
- Go to Actions tab
- Select workflow
- Click "Run workflow"
- Choose branch and run
- Start conservative: Begin with smaller equity amounts
- Be consistent: Use similar amounts for similar work
- Document criteria: Clear guidelines for equity amounts
- Review regularly: Adjust based on contribution value
- Clear descriptions: Detailed bounty requirements
- Realistic equity: Match equity to effort required
- Quick review: Merge PRs promptly to maintain momentum
- Communicate: Keep contributors informed
- Regular backups: Export data periodically
- Validate changes: Review equity updates before committing
- Monitor analytics: Track trends and adjust strategy
- Archive reports: Keep historical reports for reference
Edit dashboard colors in dashboard.html:
:root {
--primary: #6366f1;
--secondary: #8b5cf6;
--success: #10b981;
/* Add your colors */
}Customize messages in .github/workflows/notifications.yml:
- name: Custom Message
run: |
MESSAGE="Your custom message here"
# Send notificationAdd custom metrics in .github/scripts/generate-analytics.js:
// Add your custom calculations
const customMetric = calculateCustomMetric(equityData);
analytics.custom = customMetric;Create a REST API endpoint:
// api/equity.js (for Vercel/Netlify)
export default function handler(req, res) {
const equity = require('../github/EQUITY_TRACKING.json');
res.status(200).json(equity);
}Set up webhooks for external integrations:
- name: Send Webhook
run: |
curl -X POST https://your-api.com/webhook \
-H "Content-Type: application/json" \
-d '{"event": "bounty_completed", "data": {...}}'Generate dynamic badges:
// Generate badge SVG
const badge = `<svg>...</svg>`;
fs.writeFileSync('badge.svg', badge);- Caching: Use GitHub Actions cache for dependencies
- Parallel execution: Run independent tasks in parallel
- Incremental updates: Only regenerate changed data
- Lazy loading: Load charts on demand in dashboard
Track workflow execution times:
- Check Actions tab for duration
- Monitor API rate limits
- Review storage usage
- Never commit secrets to repository
- Use environment variables for sensitive data
- Limit workflow permissions to minimum required
- Review PR changes before merging
- Validate input data in scripts
Configure branch protection:
- Require PR reviews
- Require status checks
- Restrict who can merge
- Documentation: Read this guide thoroughly
- Issues: Check existing GitHub issues
- Discussions: Ask in GitHub Discussions
- Discord: Join community Discord server
Contributions welcome! Please:
- Fork the repository
- Create a feature branch
- Submit a pull request
- Follow code style guidelines
This system is open source and available under the MIT License.
You now have a professional equity tracking and automation system that rivals funded startups! This system provides:
✅ Real-time equity tracking
✅ Beautiful live dashboards
✅ Automated notifications
✅ Professional analytics
✅ Mobile-responsive design
✅ Comprehensive documentation
Next Steps:
- Complete setup following this guide
- Create your first bounty
- Test the automation
- Customize to your needs
- Share with your community
Make GitForge look like a funded startup! 🚀
Generated by GitForge Equity System v1.0