Setup Guide

Complete guide to setting up GitForge for your organization

Prerequisites

Before you begin, make sure you have:

  • A GitHub account
  • Admin access to a GitHub organization (or create a new one)
  • Basic understanding of GitHub Issues and Pull Requests
  • Optional: Payment infrastructure for bounties (USDC wallet, Stripe, etc.)
Tip

You can set up GitForge in a personal repository first to test it out before deploying to your organization.

Step 1: Create Repository from Template

The easiest way to get started is to use the GitForge template:

  1. Visit the GitForge template repository
  2. Click the green "Use this template" button
  3. Choose your organization or personal account
  4. Name your repository (e.g., "my-project-dao")
  5. Choose public or private visibility
  6. Click "Create repository from template"
https://github.com/asymcrypto/gitforge-template/generate
Success!

You now have a copy of GitForge in your repository. All the necessary files and configurations are already set up.

Step 2: Enable GitHub Actions

GitForge uses GitHub Actions for automation. Enable them in your repository:

  1. Go to your repository settings
  2. Click on "Actions" in the left sidebar
  3. Under "Actions permissions", select "Allow all actions and reusable workflows"
  4. Click "Save"
About GitHub Actions

GitHub Actions are free for public repositories and have generous limits for private repositories. Check GitHub's pricing for your organization's needs.

Step 3: Configure Bounty Settings

Customize the bounty configuration to match your project's needs. Edit the .github/BOUNTY_CONFIG.json file:

.github/BOUNTY_CONFIG.json
{
  "bounty_levels": {
    "beginner": {
      "emoji": "🟢",
      "amount": "$50-$200",
      "description": "Basic coding, documentation"
    },
    "intermediate": {
      "emoji": "🟡",
      "amount": "$200-$500",
      "description": "Features, integrations"
    },
    "advanced": {
      "emoji": "🔴",
      "amount": "$500-$2000",
      "description": "Protocol work, security"
    }
  },
  "payment_method": "USDC",
  "payment_address": "0x...",
  "auto_payout": true,
  "governance": {
    "voting_duration_days": 7,
    "approval_threshold": 0.6,
    "quorum": 0.1
  },
  "reputation": {
    "enabled": true,
    "points_per_pr": 10,
    "points_per_bounty": 50
  },
  "notifications": {
    "discord_webhook": "",
    "slack_webhook": ""
  }
}

Configuration Options

  • bounty_levels: Define your bounty tiers with emojis, amounts, and descriptions
  • payment_method: USDC, ETH, equity, or custom
  • payment_address: Your wallet address for payments (if using crypto)
  • auto_payout: Automatically trigger payments on PR merge
  • governance: Set voting duration, approval threshold, and quorum
  • reputation: Configure reputation tracking and point values
  • notifications: Integrate Discord, Slack, or other webhooks

Step 4: Set Up Payment Integration (Optional)

If you want to automate payments, you'll need to set up a payment integration:

Option 1: Manual Payments

The simplest approach - manually send payments when bounties are completed. No setup required!

Option 2: Crypto Payments (USDC/ETH)

  1. Create a wallet for your DAO (e.g., MetaMask, Gnosis Safe)
  2. Add the wallet address to BOUNTY_CONFIG.json
  3. Set up GitHub Secrets for private keys (for automated transfers)
  4. Fund the wallet with USDC or ETH
Security Warning

Never commit private keys to your repository. Always use GitHub Secrets for sensitive information.

Option 3: Stripe/PayPal Integration

For traditional payments, integrate with Stripe or PayPal:

  1. Create a Stripe or PayPal business account
  2. Add your API keys to GitHub Secrets
  3. Configure the payment workflow in .github/workflows/bounty-payout.yml

Step 5: Customize Issue Templates

GitForge comes with pre-configured issue templates. Customize them for your project:

.github/ISSUE_TEMPLATE/bounty.yml

Edit the bounty template to match your workflow. You can:

  • Add or remove fields
  • Change validation rules
  • Customize labels
  • Add project-specific requirements

See Issue Templates Documentation for detailed customization options.

Step 6: Enable Discussions (Optional)

For governance features, enable GitHub Discussions:

  1. Go to repository Settings
  2. Scroll to "Features"
  3. Check "Discussions"
  4. Configure discussion categories for governance, proposals, and general chat
Why Discussions?

GitHub Discussions provide a structured way for your community to propose ideas, vote on changes, and have transparent conversations.

Step 7: Configure GitHub Pages (For Landing Page)

Deploy your GitForge landing page and documentation using GitHub Pages:

  1. Go to repository Settings
  2. Scroll to "Pages" section
  3. Under "Source", select your main branch
  4. Choose "/ (root)" as the folder
  5. Click "Save"

Your landing page will be available at:

https://your-username.github.io/your-repo-name/

Step 8: Create Your First Bounty

Test your setup by creating your first bounty:

  1. Go to the "Issues" tab in your repository
  2. Click "New issue"
  3. Select the "Bounty" template
  4. Fill in the details (title, description, amount, difficulty)
  5. Submit the issue
Congratulations!

You've successfully set up GitForge! Your first bounty is now live and contributors can start claiming it.

Next Steps

Now that your GitForge is set up, here's what to do next:

Troubleshooting

GitHub Actions not running?

  • Check that Actions are enabled in repository settings
  • Verify workflow files are in .github/workflows/
  • Check the Actions tab for error messages

Issue templates not showing up?

  • Ensure templates are in .github/ISSUE_TEMPLATE/
  • Verify YAML syntax is correct
  • Try refreshing the page or clearing cache

Need more help?

Join our Discord community or check the detailed troubleshooting guide.