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
122,501
Open issues
852,757
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 ~23,271 matching filters (10+ stars)

List

Allow configuring attribute value depth

AI summary

This issue proposes to make the hard-coded attribute value depth limit configurable, as required by the OpenTelemetry specification. The change involves adding a new configuration option for this limit, defaulting to 64, and applying it across various parts of the system including DSL, behavior, YAML mapping, and per-signal limits.

good first issuehelp wanted
134
Difficulty
3/5
neomjs/neo

Pin what the password, hidden, search, display and switch fields change

AI summary

This issue proposes adding component tests for five preset form fields in the Neo library: Password, Hidden, Search, Display, and Switch. The goal is to ensure these fields behave as expected in a real browser environment by verifying specific DOM attributes and visibility states.

enhancementgood first issuecontributor-experienceaitesting
3.2K
Difficulty
2/5

chatcops test: JUnit reporter and --output

AI summary

This issue proposes adding a JUnit reporter to the chatcops CLI to generate test results in JUnit XML format, which is compatible with CI systems like GitLab and Jenkins. It also involves adding an `--output` flag to specify a file for the reporter's output, with support for named reporters like `--reporter junit=evals.xml`.

enhancementgood first issuetesting
12
Difficulty
3/5
MAIF/shapash

Bug on display of labels of plot.features importances

AI summary

The user is reporting a bug where feature importance labels are not displayed correctly when the `max_features` parameter is set to 50 in the `xpl.plot.features_importance` function. The provided images illustrate the issue, showing truncated or missing labels on the plot.

good first issue
3.3K
Difficulty
2/5
amd/gaia

The Windows tab tells readers to run `nvm alias default 20.20.0`, but NVM for Windows has no `alias` command

AI summary

The documentation for Windows incorrectly instructs users to run `nvm alias default <version>`, a command that does not exist in NVM for Windows. This command is present in the Linux version of NVM and causes users to see a help message instead of setting a default Node.js version. The correct behavior on Windows is that `nvm use <version>` already persists the selection, so the erroneous line should be removed or clarified.

good first issuep3weekly-audit
1.5K
Difficulty
2/5

Upload multiple sarif files

AI summary

This issue proposes enhancing the `upload-sarif` GitHub Action to support uploading multiple SARIF files simultaneously, similar to the functionality of `actions/upload-artifact`. The desired behavior includes pattern matching capabilities for selecting files, mirroring the existing `upload-artifact` action.

good first issueCodeQL Action
1.7K
Difficulty
2/5

Add a positive lookahead combinator (Peek / And predicate)

AI summary

This issue proposes adding a 'Peek' or 'And predicate' combinator to the Parlot parser combinator library. This combinator would allow a parser to succeed if a given parser matches at the current position without consuming any input, similar to a positive lookahead in regular expressions. The current workaround for this functionality is awkward and inefficient, and the proposed implementation aims to address these shortcomings.

enhancementgood first issue
571
Difficulty
3/5

Standalone reports omit the exception message for failed Java steps

AI summary

This bug report indicates that standalone Zerocode reports fail to display the exception message when a Java method step throws an error. While the executor log and JUnit failures show the cause, the standalone reports only mark the step as failed, forcing users to consult logs for details.

good first issue
1.0K
Difficulty
2/5

Not() doesn't set the result's Start/End on success

AI summary

The `Not<T>.Parse` method in Parlot incorrectly handles the `Start`/`End` properties of the `ParseResult` on success. This leads to incorrect source range reporting for parsers that use `Not` as a negative lookahead, especially when it's the last element in a sequence. The suggested fix involves explicitly setting the `Start`/`End` to the invocation position on success and ensuring generated code behaves identically.

buggood first issue
571
Difficulty
2/5

Projectile aiming sample (differentiating through a simulation)

AI summary

This issue proposes creating a new sample project demonstrating the power of adjoint mode in simulations. The sample will involve simulating a projectile's trajectory under gravity and air drag, optimizing its launch parameters (angle and speed) to hit a target. The gradient for optimization will be computed using a single adjoint pass, and the results will be visualized.

good first issuesamples
435
Difficulty
3/5

Propagator inject/extract don't guard user-supplied code

AI summary

This issue addresses a security vulnerability where user-supplied code within propagators (getters, setters, delegate propagators) is not being properly guarded. The fix involves integrating `SdkErrorHandler` to ensure these user-defined functions are handled safely. This task is dependent on another issue (#1337) being merged first.

good first issuehelp wanted
134
Difficulty
3/5

Add a unit test for ExecutionPending

AI summary

This issue requests the addition of unit tests for the `ExecutionPending.vue` component in the Kestra UI. The tests should verify that the component correctly renders either the `FlowConcurrency` component for `QUEUED` executions or a loading placeholder for other states, and that flow loading logic is handled appropriately on mount.

area/frontendkind/cooldowngood first issue
27.2K
Difficulty
2/5

New skill: /inbox to triage inbox files

AI summary

This issue proposes a new '/inbox' skill to help users manage files in their 'inbox/' directory. The skill will iterate through these files, suggest a destination folder for each, and move them upon user confirmation, ensuring no files are deleted. This enhancement aims to streamline file organization for users.

enhancementhelp wantedgood first issue
49
Difficulty
3/5

New skill: /standup

AI summary

This issue proposes the creation of a new `/standup` skill. This skill will parse daily notes and a "hot" file to generate a summary of yesterday's activities, today's plans, and any blockers. The output should be structured similarly to existing skills, and new tests must be added.

enhancementhelp wantedgood first issue
49
Difficulty
3/5

Docs: Linux and WSL setup notes

AI summary

This issue requests the addition of documentation for Linux and Windows (WSL) users regarding the setup and usage of ECX. The current README lacks information on what features work on these platforms, macOS-specific dependencies like osascript for notifications, and how to configure cron jobs as an alternative to launchd. Contributors are encouraged to test on a Linux/WSL environment and document their findings.

documentationhelp wantedgood first issue
49
Difficulty
2/5

Docs: a 'write your first skill' guide

AI summary

This issue requests the creation of a new documentation guide titled 'write your first skill'. The guide should walk new contributors through the process of creating a functional skill, from setting up the folder structure and frontmatter to writing the skill's description and testing it. It will be linked from the Contributing section of the README.

documentationhelp wantedgood first issue
49
Difficulty
2/5

CI: lint Python with ruff

AI summary

This issue proposes integrating Ruff, a fast Python linter, into the CI pipeline. The goal is to add a `ruff check` step to the existing GitHub Actions workflow, targeting all Python files. Any linting errors found should be fixed or explicitly ignored with a brief explanation.

help wantedgood first issue
49
Difficulty
2/5

CI: run shellcheck on the shell hooks

AI summary

This issue proposes adding ShellCheck, a static analysis tool for shell scripts, to the CI pipeline. The goal is to lint various shell scripts within the repository to catch potential quoting bugs that currently fail silently. The developer is expected to integrate ShellCheck into the CI workflow and address any warnings found.

help wantedgood first issue
49
Difficulty
2/5

Tests: cover hooks/usage_report.py

AI summary

This issue requests the addition of unit tests for the `fmt` function within `hooks/usage_report.py`. The goal is to ensure this function correctly formats token usage values across various scales (small, thousands, millions) and that running the script with a temporary usage file produces no errors.

help wantedgood first issue
49
Difficulty
2/5

Tests: cover jobs/tracker_staleness.py

AI summary

This issue requests the addition of unit tests for the `tracker_staleness.py` module, specifically for the `check_staleness` function. The goal is to ensure this function correctly identifies trackers that have not been updated by creating temporary tracker files with varying modification times and verifying the function's output.

help wantedgood first issue
49
Difficulty
2/5

Tests: cover the /catchup reader

AI summary

This issue requests the addition of unit tests for the `/catchup` reader functionality in `skills/catchup/catchup.py`. The goal is to ensure that the reader correctly skips the current session and accurately retrieves sessions based on a list or keyword search using fake `.jsonl` session files.

help wantedgood first issue
49
Difficulty
2/5

Tests: cover watch-notes parse_vtt

AI summary

This issue requests the addition of unit tests for the `parse_vtt` function in `watch-notes/wn_transcript.py`. The function converts YouTube DL `.vtt` caption files into timestamped transcripts, and the current lack of tests makes it susceptible to breaking due to the repetitive nature of caption files. The proposed solution involves creating a sample `.vtt` fixture and testing specific functionalities like chunking, de-duplication, and handling empty directories.

help wantedgood first issue
49
Difficulty
2/5

Tests: cover statusline.sh

AI summary

This issue requests the addition of unit tests for the `statusline.sh` script. The script currently lacks test coverage and needs tests to verify its functionality in parsing JSON input for status percentages and generating a context bar, as well as handling unread mail counts from a specific file.

help wantedgood first issue
49
Difficulty
2/5

notify_done: quiet hours

AI summary

This issue proposes adding a "quiet hours" feature to the notification system. When a long task finishes, a desktop notification is currently sent regardless of the time. The goal is to suppress these notifications during a user-defined quiet hours window, specified by an environment variable like `ECX_QUIET_HOURS=23-7`.

enhancementhelp wantedgood first issue
49
Difficulty
2/5

statusline: respect NO_COLOR

AI summary

This issue requests that the statusline script respect the NO_COLOR environment variable. Currently, it always outputs ANSI color codes, even when NO_COLOR is set, which violates the NO_COLOR convention. The fix involves modifying the script to conditionally omit color codes and adding a new test case to verify this behavior.

enhancementhelp wantedgood first issue
49
Difficulty
2/5

install: add --dry-run

AI summary

This issue proposes adding a `--dry-run` flag to the `install.sh` script. This flag should allow users to preview all file modifications, links, and merges that the script would perform without actually making any changes to the user's system. The goal is to provide transparency and allow users to review the installation plan before execution.

enhancementhelp wantedgood first issue
49
Difficulty
2/5

doctor: add a --json flag

AI summary

This issue proposes adding a `--json` flag to the `scripts/doctor.py` script. This flag would enable programmatic parsing of the doctor's output by scripts and CI systems, providing a structured JSON response in addition to the existing human-readable report. The implementation requires ensuring valid JSON output, maintaining existing exit codes, and adding a new test case.

enhancementhelp wantedgood first issue
49
Difficulty
2/5

tests_before_done: use pnpm or yarn when the repo uses them

AI summary

This issue proposes an enhancement to the `tests_before_done` hook to correctly detect and use package managers like pnpm or yarn when their respective lockfiles are present in a repository. Currently, it defaults to `npm test`, which can lead to incorrect installations or test failures. The fix involves checking for `pnpm-lock.yaml` or `yarn.lock` and executing the appropriate test command, falling back to npm if neither is found, and requires a new test case.

enhancementhelp wantedgood first issue
49
Difficulty
2/5

tests_before_done: detect bun and deno projects

AI summary

This issue proposes adding support for detecting Bun and Deno projects within the `tests_before_done` hook. The goal is to extend the hook's functionality to recognize `bun.lockb` or `bun.lock` for Bun projects and `deno.json` or `deno.jsonc` for Deno projects, and subsequently suggest the appropriate test commands (`bun test` or `deno test`).

enhancementhelp wantedgood first issue
49
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 122,501 projects or reset filters to see more of the 852,757 indexed issues.