chore(docs): bounty program - standard

This commit is contained in:
Timothy
2026-03-13 12:10:21 -07:00
parent ef036257a9
commit 08157d2bd6
7 changed files with 264 additions and 13 deletions
@@ -0,0 +1,78 @@
name: Standard Bounty
description: A bounty task for general framework contributions (not integration-specific)
title: "[Bounty]: "
labels: []
body:
- type: markdown
attributes:
value: |
## Standard Bounty
This issue is part of the [Bounty Program](../../docs/bounty-program/README.md).
**Claim this bounty** by commenting below — a maintainer will assign you within 24 hours.
- type: dropdown
id: bounty-size
attributes:
label: Bounty Size
options:
- "Small (10 pts)"
- "Medium (30 pts)"
- "Large (75 pts)"
- "Extreme (150 pts)"
validations:
required: true
- type: dropdown
id: difficulty
attributes:
label: Difficulty
options:
- Easy
- Medium
- Hard
validations:
required: true
- type: textarea
id: description
attributes:
label: Description
description: What needs to be done to complete this bounty.
placeholder: |
Describe the specific task, including:
- What the contributor needs to do
- Links to relevant files in the repo
- Any context or motivation for the change
validations:
required: true
- type: textarea
id: acceptance-criteria
attributes:
label: Acceptance Criteria
description: What "done" looks like. The PR must meet all criteria.
placeholder: |
- [ ] Criterion 1
- [ ] Criterion 2
- [ ] CI passes
validations:
required: true
- type: textarea
id: relevant-files
attributes:
label: Relevant Files
description: Links to files or directories related to this bounty.
placeholder: |
- `path/to/file.py`
- `path/to/directory/`
- type: textarea
id: resources
attributes:
label: Resources
description: Links to docs, issues, or external references that will help.
placeholder: |
- Related issue: #XXXX
- Docs: https://...
+63 -2
View File
@@ -1,6 +1,6 @@
# Integration Bounty Program # Bounty Program
Earn XP, Discord roles, and money by testing, documenting, and building integrations for the Aden agent framework. Earn XP, Discord roles, and money by contributing to the Aden agent framework — from quick fixes to major features, plus integration testing and development.
## Why Contribute? ## Why Contribute?
@@ -33,6 +33,10 @@ Lurkr auto-assigns the first two roles. Core Contributor requires sustained, qua
## Bounty Types ## Bounty Types
### Integration Bounties
Focused on the tool ecosystem — testing, documenting, and building integrations.
| Type | Label | Points | What You Do | | Type | Label | Points | What You Do |
| --------------------- | ----------------- | ------ | -------------------------------------------------------------------------- | | --------------------- | ----------------- | ------ | -------------------------------------------------------------------------- |
| **Test a tool** | `bounty:test` | 20 | Test with a real API key, submit a report with logs | | **Test a tool** | `bounty:test` | 20 | Test with a real API key, submit a report with logs |
@@ -42,6 +46,47 @@ Lurkr auto-assigns the first two roles. Core Contributor requires sustained, qua
Promoting a tool from unverified to verified is the final step — submit a PR moving it from `_register_unverified()` to `_register_verified()` after the [promotion checklist](promotion-checklist.md) is complete. Promoting a tool from unverified to verified is the final step — submit a PR moving it from `_register_unverified()` to `_register_verified()` after the [promotion checklist](promotion-checklist.md) is complete.
### Standard Bounties
General contributions to the framework, docs, tests, and infrastructure — not tied to a specific integration.
| Size | Label | Points | Scope |
| ------------ | ------------------ | ------ | ---------------------------------------------------------------------------------- |
| **Small** | `bounty:small` | 10 | Typo fixes, broken links, error message improvements, confirm/reproduce bug reports |
| **Medium** | `bounty:medium` | 30 | Bug fixes, new or improved unit tests, how-to guides, CLI UX improvements |
| **Large** | `bounty:large` | 75 | New features, performance optimizations with benchmarks, architecture docs |
| **Extreme** | `bounty:extreme` | 150 | Major subsystem work, security audits, cross-cutting refactors, new core capabilities |
#### Examples by size
**Small (10 pts):**
- Fix typos or broken links in documentation
- Improve an error message to include actionable guidance
- Add missing type annotations to a module
- Reproduce and confirm an open bug report with environment details
- Fix linting or CI warnings
**Medium (30 pts):**
- Fix a non-critical bug with a regression test
- Write a how-to guide or tutorial for a common workflow
- Add or significantly improve test coverage for a core module
- Improve CLI help text, argument validation, or UX
- Add structured logging or observability to a module
**Large (75 pts):**
- Implement a new user-facing feature end to end
- Performance optimization with before/after benchmarks
- Build a new CLI command or subcommand
- Write comprehensive architecture documentation for a subsystem
- Add a new credential adapter type
**Extreme (150 pts):**
- Design and implement a major subsystem (e.g., plugin system, caching layer)
- Security audit of a core module with findings and fixes
- Major refactor of core architecture (must have maintainer pre-approval)
- Build a complete example application or reference implementation
- End-to-end testing framework for agent workflows
## Quality Gates ## Quality Gates
- **PRs** must be merged by a maintainer (not self-merged) - **PRs** must be merged by a maintainer (not self-merged)
@@ -52,12 +97,28 @@ Promoting a tool from unverified to verified is the final step — submit a PR m
## Labels ## Labels
### Integration bounty labels
| Label | Color | Meaning | | Label | Color | Meaning |
| ------------------- | ------------------ | --------------------------------------- | | ------------------- | ------------------ | --------------------------------------- |
| `bounty:test` | `#1D76DB` (blue) | Test a tool with a real API key | | `bounty:test` | `#1D76DB` (blue) | Test a tool with a real API key |
| `bounty:docs` | `#FBCA04` (yellow) | Write or improve documentation | | `bounty:docs` | `#FBCA04` (yellow) | Write or improve documentation |
| `bounty:code` | `#D93F0B` (orange) | Health checker, bug fix, or improvement | | `bounty:code` | `#D93F0B` (orange) | Health checker, bug fix, or improvement |
| `bounty:new-tool` | `#6F42C1` (purple) | Build a new integration from scratch | | `bounty:new-tool` | `#6F42C1` (purple) | Build a new integration from scratch |
### Standard bounty labels
| Label | Color | Meaning |
| ------------------- | ------------------ | -------------------------------------------------- |
| `bounty:small` | `#C2E0C6` (green) | Quick fix — typos, links, error messages |
| `bounty:medium` | `#0E8A16` (green) | Bug fix, tests, guides, CLI improvements |
| `bounty:large` | `#B60205` (red) | New feature, perf work, architecture docs |
| `bounty:extreme` | `#000000` (black) | Major subsystem, security audit, core refactor |
### Difficulty labels
| Label | Color | Meaning |
| ------------------- | ------------------ | --------------------------------------- |
| `difficulty:easy` | `#BFD4F2` | Good first contribution | | `difficulty:easy` | `#BFD4F2` | Good first contribution |
| `difficulty:medium` | `#D4C5F9` | Requires some familiarity | | `difficulty:medium` | `#D4C5F9` | Requires some familiarity |
| `difficulty:hard` | `#F9D0C4` | Significant effort or expertise needed | | `difficulty:hard` | `#F9D0C4` | Significant effort or expertise needed |
+66 -6
View File
@@ -1,6 +1,6 @@
# Contributor Guide — Integration Bounty Program # Contributor Guide — Bounty Program
Earn XP, Discord roles, and eventually real money by testing and building integrations for the Aden agent framework. Earn XP, Discord roles, and eventually real money by contributing to the Aden agent framework — from quick fixes to major features and integration work.
## Getting Started ## Getting Started
@@ -30,7 +30,13 @@ XP comes from GitHub bounties (auto-pushed on PR merge) and Discord activity in
## Bounty Types ## Bounty Types
### Test a Tool (20 pts) There are two categories: **integration bounties** (tool-specific) and **standard bounties** (general contributions).
---
### Integration Bounties
#### Test a Tool (20 pts)
Test an unverified tool with a real API key and report what happens. Test an unverified tool with a real API key and report what happens.
@@ -41,7 +47,7 @@ Test an unverified tool with a real API key and report what happens.
Report both successes and failures. Finding bugs is valuable. Report both successes and failures. Finding bugs is valuable.
### Write Docs (20 pts) #### Write Docs (20 pts)
Write a README for a tool that's missing one. Write a README for a tool that's missing one.
@@ -52,7 +58,7 @@ Write a README for a tool that's missing one.
Function names and API URLs must match reality — no AI hallucinations. Function names and API URLs must match reality — no AI hallucinations.
### Code Contribution (30 pts) #### Code Contribution (30 pts)
Add a health checker, fix a bug, or improve an integration. Add a health checker, fix a bug, or improve an integration.
@@ -66,7 +72,7 @@ Add a health checker, fix a bug, or improve an integration.
1. Find a bug during testing, file an issue 1. Find a bug during testing, file an issue
2. Fix it in a PR with a test covering the bug 2. Fix it in a PR with a test covering the bug
### New Integration (75 pts) #### New Integration (75 pts)
Build a complete integration from scratch. Build a complete integration from scratch.
@@ -77,6 +83,60 @@ Build a complete integration from scratch.
Expect multiple review rounds. Expect multiple review rounds.
---
### Standard Bounties
General contributions to the framework — not tied to a specific integration. Sized by effort and impact.
#### Small (10 pts)
Quick, focused fixes. Great for first-time contributors.
- Fix typos or broken links in documentation
- Improve an error message to include actionable guidance
- Add missing type annotations to a module
- Reproduce and confirm a bug report with environment details
- Fix linting or CI warnings
**How:** Open a PR with the fix. Tag with `bounty:small`.
#### Medium (30 pts)
Meaningful improvements that require reading and understanding existing code.
- Fix a non-critical bug with a regression test
- Write a how-to guide or tutorial
- Add or significantly improve test coverage for a core module
- Improve CLI help text, argument validation, or UX
- Add structured logging or observability to a module
**How:** Claim the issue first. Submit a PR with tests where applicable. Tag with `bounty:medium`.
#### Large (75 pts)
Significant work that adds real capability or improves the project substantially.
- Implement a new user-facing feature end to end
- Performance optimization with before/after benchmarks
- Build a new CLI command or subcommand
- Write comprehensive architecture documentation for a subsystem
- Add a new credential adapter type
**How:** Claim the issue and discuss your approach in the issue before starting. Submit a PR. Tag with `bounty:large`.
#### Extreme (150 pts)
Major contributions that shape the project's direction. Requires maintainer pre-approval.
- Design and implement a major subsystem (e.g., plugin system, caching layer)
- Security audit of a core module with findings and fixes
- Major refactor of core architecture
- Build a complete example application or reference implementation
- End-to-end testing framework for agent workflows
**How:** Comment on the issue with a design proposal. Wait for maintainer approval before starting work. Tag with `bounty:extreme`.
## Rules ## Rules
1. **Claim before you start** — comment on the issue, wait for assignment 1. **Claim before you start** — comment on the issue, wait for assignment
+37 -1
View File
@@ -27,7 +27,7 @@ When someone comments "I'd like to work on this":
5. Merge — the GitHub Action auto-awards XP and posts to Discord 5. Merge — the GitHub Action auto-awards XP and posts to Discord
6. Close the linked bounty issue 6. Close the linked bounty issue
### Quality Gates ### Quality Gates — Integration Bounties
**`bounty:docs`:** **`bounty:docs`:**
- [ ] Follows the [tool README template](templates/tool-readme-template.md) - [ ] Follows the [tool README template](templates/tool-readme-template.md)
@@ -51,6 +51,31 @@ When someone comments "I'd like to work on this":
- [ ] `make check && make test` passes - [ ] `make check && make test` passes
- [ ] Registered in `_register_unverified()` (not verified) - [ ] Registered in `_register_unverified()` (not verified)
### Quality Gates — Standard Bounties
**`bounty:small`:**
- [ ] Change is correct and doesn't introduce regressions
- [ ] CI passes
- [ ] Scope matches "small" — not padded into a bigger change
**`bounty:medium`:**
- [ ] CI passes
- [ ] Bug fixes include a regression test
- [ ] Docs/guides are accurate and follow existing style
- [ ] Not AI-generated without verification
**`bounty:large`:**
- [ ] Design was discussed in the issue before implementation
- [ ] CI passes, new tests cover the change
- [ ] Benchmarks included for performance work (before/after)
- [ ] Architecture docs reviewed by a second maintainer
**`bounty:extreme`:**
- [ ] Maintainer pre-approved the design proposal before work began
- [ ] CI passes, comprehensive test coverage
- [ ] Documentation updated to reflect the change
- [ ] Reviewed by at least two maintainers
### Rejecting Submissions ### Rejecting Submissions
1. Leave specific, constructive feedback 1. Leave specific, constructive feedback
@@ -78,6 +103,8 @@ If a Core Contributor is inactive 8+ weeks, reach out privately first, then remo
Post dollar values in `#bounty-payouts` (Core Contributors only): Post dollar values in `#bounty-payouts` (Core Contributors only):
### Integration bounties
| Bounty Type | Dollar Range | | Bounty Type | Dollar Range |
|-------------|-------------| |-------------|-------------|
| `bounty:test` | $1030 | | `bounty:test` | $1030 |
@@ -85,6 +112,15 @@ Post dollar values in `#bounty-payouts` (Core Contributors only):
| `bounty:code` | $2050 | | `bounty:code` | $2050 |
| `bounty:new-tool` | $50150 | | `bounty:new-tool` | $50150 |
### Standard bounties
| Bounty Type | Dollar Range |
|-------------|-------------|
| `bounty:small` | $515 |
| `bounty:medium` | $2050 |
| `bounty:large` | $50150 |
| `bounty:extreme` | $150500 |
**Payout:** PR merged → verify quality → record in `#bounty-payouts` → process payment. **Payout:** PR merged → verify quality → record in `#bounty-payouts` → process payment.
XP is always awarded regardless of budget. Money is a bonus layer. XP is always awarded regardless of budget. Money is a bonus layer.
+1 -1
View File
@@ -14,7 +14,7 @@ Complete setup from zero to running. Estimated time: 30 minutes.
./scripts/setup-bounty-labels.sh ./scripts/setup-bounty-labels.sh
``` ```
This creates 7 labels: 4 bounty types (`bounty:test`, `bounty:docs`, `bounty:code`, `bounty:new-tool`) and 3 difficulty levels (`difficulty:easy`, `difficulty:medium`, `difficulty:hard`). This creates 11 labels: 4 integration bounty types (`bounty:test`, `bounty:docs`, `bounty:code`, `bounty:new-tool`), 4 standard bounty sizes (`bounty:small`, `bounty:medium`, `bounty:large`, `bounty:extreme`), and 3 difficulty levels (`difficulty:easy`, `difficulty:medium`, `difficulty:hard`).
## Step 2: Create Discord Channels (3 min) ## Step 2: Create Discord Channels (3 min)
+11 -1
View File
@@ -68,10 +68,16 @@ interface LeaderboardEntry {
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
const POINTS: Record<string, number> = { const POINTS: Record<string, number> = {
// Integration bounties
"bounty:test": 20, "bounty:test": 20,
"bounty:docs": 20, "bounty:docs": 20,
"bounty:code": 30, "bounty:code": 30,
"bounty:new-tool": 75, "bounty:new-tool": 75,
// Standard bounties
"bounty:small": 10,
"bounty:medium": 30,
"bounty:large": 75,
"bounty:extreme": 150,
}; };
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
@@ -276,6 +282,10 @@ function formatBountyNotification(bounty: BountyResult): string {
docs: "\u{1F4DD}", docs: "\u{1F4DD}",
code: "\u{1F527}", code: "\u{1F527}",
"new-tool": "\u{2B50}", "new-tool": "\u{2B50}",
small: "\u{1F4A1}",
medium: "\u{1F6E0}",
large: "\u{1F680}",
extreme: "\u{1F525}",
}; };
const emoji = typeEmoji[bounty.bountyType] ?? "\u{1F3AF}"; const emoji = typeEmoji[bounty.bountyType] ?? "\u{1F3AF}";
@@ -301,7 +311,7 @@ function formatLeaderboard(entries: LeaderboardEntry[]): string {
const medals = ["\u{1F947}", "\u{1F948}", "\u{1F949}"]; const medals = ["\u{1F947}", "\u{1F948}", "\u{1F949}"];
let msg = "**\u{1F3C6} Integration Bounty Leaderboard**\n\n"; let msg = "**\u{1F3C6} Bounty Leaderboard**\n\n";
for (let i = 0; i < top10.length; i++) { for (let i = 0; i < top10.length; i++) {
const entry = top10[i]; const entry = top10[i];
+8 -2
View File
@@ -1,5 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# Creates GitHub labels for the Integration Bounty Program. # Creates GitHub labels for the Bounty Program.
# Usage: ./scripts/setup-bounty-labels.sh [owner/repo] # Usage: ./scripts/setup-bounty-labels.sh [owner/repo]
# Requires: gh CLI authenticated # Requires: gh CLI authenticated
@@ -9,12 +9,18 @@ REPO="${1:-adenhq/hive}"
echo "Setting up bounty labels for $REPO..." echo "Setting up bounty labels for $REPO..."
# Bounty type labels # Integration bounty labels
gh label create "bounty:test" --repo "$REPO" --color "1D76DB" --description "Bounty: test a tool with real API key (20 pts)" --force gh label create "bounty:test" --repo "$REPO" --color "1D76DB" --description "Bounty: test a tool with real API key (20 pts)" --force
gh label create "bounty:docs" --repo "$REPO" --color "FBCA04" --description "Bounty: write or improve documentation (20 pts)" --force gh label create "bounty:docs" --repo "$REPO" --color "FBCA04" --description "Bounty: write or improve documentation (20 pts)" --force
gh label create "bounty:code" --repo "$REPO" --color "D93F0B" --description "Bounty: health checker, bug fix, or improvement (30 pts)" --force gh label create "bounty:code" --repo "$REPO" --color "D93F0B" --description "Bounty: health checker, bug fix, or improvement (30 pts)" --force
gh label create "bounty:new-tool" --repo "$REPO" --color "6F42C1" --description "Bounty: build a new integration from scratch (75 pts)" --force gh label create "bounty:new-tool" --repo "$REPO" --color "6F42C1" --description "Bounty: build a new integration from scratch (75 pts)" --force
# Standard bounty labels
gh label create "bounty:small" --repo "$REPO" --color "C2E0C6" --description "Bounty: quick fix — typos, links, error messages (10 pts)" --force
gh label create "bounty:medium" --repo "$REPO" --color "0E8A16" --description "Bounty: bug fix, tests, guides, CLI improvements (30 pts)" --force
gh label create "bounty:large" --repo "$REPO" --color "B60205" --description "Bounty: new feature, perf work, architecture docs (75 pts)" --force
gh label create "bounty:extreme" --repo "$REPO" --color "000000" --description "Bounty: major subsystem, security audit, core refactor (150 pts)" --force
# Difficulty labels # Difficulty labels
gh label create "difficulty:easy" --repo "$REPO" --color "BFD4F2" --description "Good first contribution" --force gh label create "difficulty:easy" --repo "$REPO" --color "BFD4F2" --description "Good first contribution" --force
gh label create "difficulty:medium" --repo "$REPO" --color "D4C5F9" --description "Requires some familiarity" --force gh label create "difficulty:medium" --repo "$REPO" --color "D4C5F9" --description "Requires some familiarity" --force