Live good-first-issue & help-wanted feed

Find meaningful ways to contribute

Browse open GitHub issues that maintainers labeled for help. Filter by language, stars, category, and difficulty — then pick something you can finish.

Projects
106,507
Open issues
724,548
Cost
Free
Illustration of a Good first issue card with GitHub, plus Learn new skills, Work on real projects, Make an impact, and Open source is for everyone

Active projects

Unique repos with open help-wanted issues updated in the last 30 days

Showing 30 of ~19,353 matching filters (10+ stars)

List

🐝 Hive Advisory Report

AI summary

This issue serves as a central hub for advisory findings from Hive agents, particularly at lower ACMM levels where agents analyze code without creating direct issues or PRs. A governor agent periodically posts digest comments summarizing these advisory findings. This issue is intended to be a living document and should not be closed.

help wantedagent/scannerhive/advisoryagent/securityhive/hosted-kubestellar-console-4vkt
119
Difficulty
2/5
golang/go

crypto/cipher: update `StreamWriter` example

AI summary

This issue points out that the `StreamWriter` example in the `crypto/cipher` package uses a deprecated function or approach. The reporter suggests updating the example to use a different cipher mode like CBC or CTR instead of the current OFB implementation, which might be considered outdated or less secure in certain contexts.

Documentationhelp wanted
134.9K
Difficulty
2/5

Create a validating webhook to validate resources before they are applied

AI summary

This issue proposes the creation of a validating webhook for the Burrito project. The webhook will be responsible for validating resources before they are applied, specifically focusing on the `remediationStrategy` enum and complex interactions between various options.

enhancementgood first issueplannedteam:library-maintainers
731
Difficulty
3/5

Add support for bitbucket

AI summary

This issue requests the implementation of a new Git provider for Bitbucket. It specifically mentions building upon the new structural changes introduced in a recent pull request, indicating a need to integrate with an existing framework.

good first issueSize: Steam:library-maintainers
731
Difficulty
3/5

Add setting to prevent burrito from destroying resources

AI summary

This issue proposes adding a new configuration setting to the Burrito tool. This setting would prevent Burrito from executing 'apply' operations if the 'plan' output indicates that any resources are scheduled for destruction. The goal is to enhance safety and facilitate adoption on critical Terraform code by preventing accidental resource deletion.

good first issueSize: Steam:library-maintainers
731
Difficulty
2/5

fix(events): "every day at 14:30" is scheduled for 02:30 instead of 14:30

AI summary

A bug exists in the `cadence_of()` function where it incorrectly converts 24-hour times (e.g., 14:30) to a 12-hour format, causing jobs to be scheduled 12 hours early. The fix involves modifying the function to only apply the 12-hour conversion when 'am' or 'pm' is explicitly stated and adding corresponding test cases.

good first issue
880
Difficulty
2/5

docs(registry): fix test commands and dead links in the tool-registry docs

AI summary

This issue addresses documentation errors in the CUGA tool registry. Specifically, it corrects incorrect paths in test commands that prevent pytest from finding tests and fixes dead links to non-existent sample configuration files and example scripts. The proposed changes involve adding the missing 'src/' prefix to test command paths and updating the locations of the linked files.

good first issue
880
Difficulty
1/5

docs(examples): add `agent_with_public_mcp`, an agent that borrows tools from a public tool server

AI summary

This issue proposes adding a new example to the CUGA documentation that demonstrates how to connect an agent to a public tool server (MCP). The example will showcase how an agent can borrow tools from this server to answer questions, simplifying the process compared to existing examples that require separate registry services.

good first issue
880
Difficulty
2/5

feat(mcp-text): add a `text_stats` tool (word count, sentences, reading time)

AI summary

This issue proposes adding a new tool to the `text` MCP server that calculates basic text statistics like word count, sentence count, character count, and estimated reading time. This tool is intended to provide reliable text analysis for AI agents, which currently struggle with such estimations. The task involves adding a plain Python function to an existing server file.

good first issue
880
Difficulty
2/5

docs(config): make the tool-server descriptions match what each server really does

AI summary

This issue addresses inaccuracies in the descriptions of MCP servers used by CUGA agents. Five out of seven server descriptions in the `mcp_servers_cuga_apps.yaml` file are misleading, either listing tools the server doesn't provide or omitting most of its actual functionalities. The goal is to update these descriptions to accurately reflect the tools each server offers.

good first issue
880
Difficulty
1/5

docs(examples): add `hello_tools`, the smallest runnable CUGA agent

AI summary

This issue proposes adding a new, minimal example to the CUGA agent documentation. The goal is to create a simple runnable agent with two basic Python tools, allowing newcomers to quickly understand and test CUGA's functionality. This example will be significantly smaller than existing ones and will not require an AI API key to set up.

good first issue
880
Difficulty
2/5

docs(rosters): add a "Write your own roster in 10 minutes" section

AI summary

This issue proposes adding a new section to the CUGA project's roster documentation. The new section, titled 'Write your own roster in 10 minutes', will provide a minimal skeleton, a list of valid server names, explanations of server tools, and tips for writing effective agent instructions. This aims to make it easier for users to create their own AI agent rosters.

good first issue
880
Difficulty
2/5

test(rosters): check that every example roster file is well-formed

AI summary

This issue proposes adding a test to ensure all example roster YAML files are well-formed and valid. Currently, only one roster is fully validated, while others are only checked for a single forbidden word. The goal is to implement a quick, offline test that catches common errors like typos, missing instructions, or duplicate agent names.

good first issue
880
Difficulty
2/5

feat(rosters): add a "Learning Desk" team of study-buddy agents

AI summary

This issue proposes adding a new "Learning Desk" roster to the CUGA agent project. This roster will create a team of AI agents designed to assist students and self-learners with their studies, utilizing existing tools and requiring no API keys or extra infrastructure. The new roster file should be modeled after the existing "research desk" roster.

good first issue
880
Difficulty
2/5

docs(skills): add the `examples:` field to the skill template and playbook

AI summary

This issue addresses a missing `examples:` field in the skill template and conversion playbook. Currently, all existing skills include this field for user-facing examples, but the template and playbook do not mention it, leading to new skills potentially lacking examples. The fix involves adding the `examples:` field to the template and updating the playbook to include it.

good first issue
880
Difficulty
1/5

fix(newsletter): start on port 28793 by default, as the README says

AI summary

This issue addresses a discrepancy between the documented default port for the newsletter app and its actual default port in the code. The README states the default port is 28793, but the code uses 18793, leading users to an incorrect address. The fix involves updating the default port in the newsletter's main script and its README, and also correcting a similar issue in the ibm_docs_qa app's help text.

good first issue
880
Difficulty
1/5

test(stock_alert): remove 10 tests for functions that no longer exist

AI summary

This issue addresses failing tests in the `stock_alert` app due to a rewrite of its `main.py` file. Ten tests are broken because they call non-existent helper functions. The task is to remove these broken tests and update the remaining one to properly execute the module and verify its entry points.

good first issue
880
Difficulty
2/5

fix(apps): return `{"ok": true}` from `/health` in the three apps that return `{"status": "ok"}`

AI summary

This issue addresses an inconsistency in the `/health` endpoint response across three FastAPI applications within the cuga-apps repository. Currently, these three apps return `{"status": "ok"}` instead of the documented `{"ok": true}`, causing scripts that rely on the `ok` key to incorrectly flag them as down. The fix involves updating the return statements in the respective `main.py` files and adjusting the documentation in one README file.

good first issue
880
Difficulty
1/5

fix(ui): show the right port in the "How to run" commands for 21 apps

AI summary

This issue addresses an inconsistency in the "How to run" commands displayed for 21 applications within the cuga-apps gallery. The commands currently show outdated port numbers (18xxx or 8xxx) instead of the correct, recently updated ports (28xxx range) that are already reflected in each app's `appUrl` field. The fix involves updating these port numbers in the `ui/src/data/usecases.ts` file to match the `appUrl` for each respective app, with one specific exception noted.

good first issue
880
Difficulty
1/5

fix(mcp-knowledge): `get_paper_references` accepts a bare arXiv ID like `1706.03762`

AI summary

The `get_paper_references` function on the knowledge MCP server currently fails when provided with a bare arXiv ID (e.g., '1706.03762') because the Semantic Scholar API requires the 'arXiv:' prefix. This issue proposes adding a regular expression to prepend 'arXiv:' to bare IDs and remove version suffixes, ensuring compatibility with the API and fixing a failing smoke test.

good first issue
880
Difficulty
2/5

feat(apps): add `GET /health` to wiki_dive, paper_scout and smart_todo

AI summary

This issue proposes adding a `/health` endpoint to three FastAPI applications: `wiki_dive`, `paper_scout`, and `smart_todo`. This endpoint is intended to return `{"ok": true}` to indicate that the application is running, aligning with the project's contributing guidelines. The change involves adding a small FastAPI route definition to the `main.py` file of each specified application.

good first issue
880
Difficulty
1/5

fix(mcp-text): recursive chunking loses separators, so chunks don't add back up to the input

AI summary

The `chunk_text` tool in the `mcp-text` server incorrectly drops separators when recursively chunking text. This happens because the code uses an identity check (`is not`) to determine if a chunk is the last one, leading to separators being lost when identical short strings are reused by Python. The fix involves changing this check to a positional comparison (`i < len(parts) - 1`).

good first issue
880
Difficulty
2/5

fix(mcp-text): `chunk_text` hangs forever when `overlap >= size`

AI summary

The `chunk_text` tool on the text MCP server hangs indefinitely when the `overlap` parameter is equal to or greater than the `size` parameter. This issue can be resolved by adding input validation to the `chunk_text` function to reject these invalid argument combinations with a clear error message, preventing server tie-ups.

good first issue
880
Difficulty
1/5

fix(cli): make `cuga start/stop/status --help` list the real services, and make `cuga status demo_knowledge` print something

AI summary

This issue addresses inconsistencies in the `cuga` command-line tool. Specifically, the `--help` output for `start`, `stop`, and `status` commands does not accurately reflect the full list of supported services. Additionally, the `cuga status demo_knowledge` command currently produces no output.

good first issue
880
Difficulty
2/5

test: make `pytest tests/unit` pass on a machine with no OpenAI key

AI summary

This issue addresses failing unit tests in a Python project that occur when the `OPENAI_API_KEY` environment variable is not set. The failures stem from tests attempting to instantiate an OpenAI client without a key and tests requiring an optional package that isn't installed by default. The proposed solution involves providing a dummy OpenAI key in test configurations and using `pytest.importorskip` for optional dependencies.

good first issue
880
Difficulty
2/5

# fix(supervisor): the `provider:` key in a supervisor YAML is silently ignored

AI summary

The `provider` key in a supervisor's YAML configuration is silently ignored because the `LLMManager` class expects a `platform` key instead. This causes the specified LLM to be dropped and the system to fall back to a default, without any warning to the user. The fix involves updating the configuration parsing logic to correctly handle the `provider` key.

good first issue
880
Difficulty
2/5

How it works

Three steps from browsing to opening a PR.

Read the beginner guide →
  1. 1

    Filter the feed

    Pick a language, minimum stars, category, and difficulty that match what you can ship.

  2. 2

    Read the AI summary

    Each card includes a short summary and difficulty score when we have one — so you can skip the wall of text.

  3. 3

    Open the issue

    Jump to GitHub, talk to the maintainer if needed, and contribute where help is actually wanted.

Not finding what you’re looking for?

Browse 106,507 projects or reset filters to see more of the 724,548 indexed issues.