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
124,392
Open issues
868,051
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,696 matching filters (10+ stars)

List

Address race in PerformanceCounterLib

AI summary

A test in the `PerformanceCounterCategory_GetCounters` test suite is failing on an ARM64 Windows build. The error indicates that a required performance counter category, 'PerformanceCounterCategory_GetCounters_Category', does not exist, suggesting a potential race condition or setup issue during test execution.

arch-arm64os-windowshelp wantedblocking-clean-ci-optionalneeds-further-triagein-pr
18.0K
Difficulty
3/5
layer5io/docs

Convert Images into Meshery Design

AI summary

This issue proposes adding functionality to convert images into a Meshery Design format. The current behavior is not described, but the desired behavior is to enable this image-to-design conversion. The implementation details, acceptance tests, and mockups are not provided, but the issue is tagged for enhancement and involves JavaScript, CSS, and HTML.

help wantedkind/enhancementlanguage/javascriptlanguage/csslanguage/htmlframework/hugo
92
Difficulty
3/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
neomjs/neo

VdomLifecycle#updateVdom leaves needsVdomUpdate false when yielding

AI summary

When a component's VDOM update is deferred due to an in-flight ancestor or descendant update, it incorrectly leaves its `needsVdomUpdate` flag as false. This prevents subsequent sibling updates from merging into the pending ancestor update, leading to disjoint VDOM update cycles.

buggood first issueaicore
3.2K
Difficulty
4/5

[quality] mutation-advisory: 20-min timeout leaves no or stale <!-- hive-mutation --> comment on XXL PRs; report partial results

AI summary

The mutation advisory workflow times out after 20 minutes on large pull requests, preventing the generation of a mutation report. This results in either no comment or a stale comment on the PR, leaving users unaware of the mutation status. The proposed solution is to implement a per-package timeout within the mutation report script to ensure a comment is always generated, even if partial.

help wantedtestingagent/qualitystage/040-covered-by-pr
51
Difficulty
3/5

fix(cli): `flisk demo` is the first command new users run, but `flisk --help` never mentions it and `flisk demo --help` prints the root help

AI summary

The `flisk demo` command, which is the first command new users are encouraged to run, is not discoverable through `flisk --help` or `flisk demo --help`. This issue proposes adding `demo` to the root help, providing a dedicated help message for `flisk demo --help`, and ensuring these help messages are tested to maintain discoverability.

bugdocumentationenhancementgood first issuehelp wanteddx
24
Difficulty
2/5

Docs: fix alert states and the pull/push model in adding-alerts.md

AI summary

This issue addresses inaccuracies in the `adding-alerts.md` documentation. It requires correcting the explanation of the alert integration model from pull to push via webhooks and updating the alert states from 'Active'/'Dismissed' to 'firing'/'resolved', including the 'silenced' and 'unread' flags.

bugdocumentationgood first issuehacktoberfest
204
Difficulty
1/5

ci(release): the stable release's software bill of materials step is killed before it finishes

AI summary

The automated process for generating a Software Bill of Materials (SBOM) for stable releases of finpilot is failing. The SBOM generation step is being cancelled prematurely on GitHub-hosted runners, resulting in releases being published without the required package list. This is likely due to resource constraints on the runner, such as disk space or memory, during the SBOM generation process.

cikind/bugstage/040-covered-by-prtriage/acceptedapproved-directiongood first issue
129
Difficulty
3/5

Entities with same names not being exposed

AI summary

The MatterBridge-hass plugin is failing to expose multiple entities with identical names (e.g., 'Thermostat') to Apple Home. This appears to be a naming conflict, as renaming the entities to be unique resolves the issue. The user is seeking a solution to allow duplicate entity names.

help wanted
172
Difficulty
3/5

feat: add SHA-512-crypt ($6$) support

AI summary

This issue proposes adding support for SHA-512-crypt ($6$) hashing to the Brutecraber tool. Currently, the tool only supports raw SHA-512, which is insufficient for cracking common Linux shadow file hashes. The implementation should handle the standard $6$ format, including optional round parameters, and ensure proper auto-detection and error handling.

help wanted
16
Difficulty
3/5

SG-003 flags benign text such as "escalate the ticket" as CRITICAL

AI summary

The SG-003 rule in SkillGuard incorrectly flags common phrases like "escalate the ticket" and "admin access" as critical security risks. This is due to an overly broad regular expression that needs to be refined to distinguish between genuine privilege escalation attempts and benign usage of these terms. The goal is to reduce false positives without compromising the detection of actual security threats.

bughelp wantedgood first issue
20
Difficulty
2/5

SARIF: report files that could not be read

AI summary

This issue requests an enhancement to SARIF output to include files that could not be read during a directory scan. Currently, these unreadable files are omitted from SARIF, preventing GitHub code scanning from indicating that files were skipped. The proposed solution involves adding `toolExecutionNotifications` entries for each unreadable file with an error level, ensuring the output remains valid SARIF.

enhancementhelp wanted
20
Difficulty
2/5

Test the 50-snippet cap on line-number lookup

AI summary

This issue requires adding a new test to `tests/test_skillshield.py` to verify the existing 50-snippet cap on line-number lookups in `src/skillshield/scanner.py`. The test should simulate a scenario with more than 50 snippets and confirm that only the first 50 have their line numbers reported, preventing performance degradation.

enhancementgood first issue
20
Difficulty
2/5

Support NO_COLOR and a --no-color option

AI summary

This issue requests the implementation of support for the NO_COLOR environment variable and a `--no-color` command-line option. This will allow users to disable colored output in the text report, improving accessibility for those who have difficulty reading it, while maintaining the current behavior of disabling color when output is not to a terminal.

enhancementgood first issue
20
Difficulty
2/5

Add --format json to skillshield rules

AI summary

This issue proposes adding a `--format json` option to the `skillshield rules` command. This would allow tools and documentation generators to easily consume rule data in a structured JSON format, improving integration and automation capabilities. The existing text output would remain the default.

enhancementgood first issue
20
Difficulty
2/5

Test on Python 3.13 and 3.14

AI summary

This issue requests updating the project's Continuous Integration (CI) to include testing on Python 3.13 and 3.14, as these versions are now released and in use by many users. The necessary changes involve updating the CI workflow files and the project's metadata to reflect support for these new Python versions.

enhancementgood first issue
20
Difficulty
2/5

Replace the hand-typed "Tests: 291 passing" badge

AI summary

This issue requests the replacement of a manually updated test count badge in the README with an automatically updating GitHub Actions CI status badge. The current badge is outdated and will continue to be so. Additionally, any other hardcoded test counts in the documentation should be removed or updated.

documentationgood first issue
20
Difficulty
1/5

New rule: switching off TLS certificate checks for installs and downloads

AI summary

This issue proposes a new security rule (SG-016) to detect when TLS certificate checks are disabled for package installations and downloads. This is a security risk as it allows for man-in-the-middle attacks. The rule should flag common commands and configurations that disable these checks, while ensuring safe near-misses are not flagged.

good first issuenew-rule
20
Difficulty
3/5

Detection gap: data hidden in emoji variation selectors

AI summary

This issue describes a detection gap where invisible Unicode variation selectors can be used to hide data within seemingly normal characters, like emojis. The goal is to update the SG-008 detection rule to flag runs of more than two variation selectors, while excluding normal emoji usage, and to display the hidden data in the findings.

good first issuedetection-gap
20
Difficulty
3/5

Detection gap: one-line code that runs decoded or decompressed data

AI summary

This issue proposes enhancing detection rules to identify malicious code that decodes or decompresses data before executing it. The current detection is SAFE, but the goal is to extend existing rules (SG-006) to flag patterns like `exec(base64.b64decode(...))` in Python and `eval(atob(...))` in JavaScript. The focus is on the combination of execution and decoding, not just decoding for inspection.

good first issuedetection-gap
20
Difficulty
3/5

New rule: preloading a library into other programs (LD_PRELOAD, DYLD_INSERT_LIBRARIES)

AI summary

This issue proposes adding a new detection rule to identify the use of `LD_PRELOAD` (Linux) and `DYLD_INSERT_LIBRARIES` (macOS). These environment variables allow a library to be loaded into other programs, which can be used for both malicious and legitimate purposes. The rule should flag instances where these variables are set, especially when pointing to temporary or download directories, to prompt reviewer investigation.

good first issuenew-rule
20
Difficulty
3/5

New rule: changing git settings so other commands run attacker code

AI summary

This issue proposes a new security rule to detect malicious Git configurations that can execute arbitrary code or steal credentials. The rule should flag specific `git config` settings like `core.hooksPath`, `core.sshCommand`, `core.pager`, `core.editor`, `core.fsmonitor`, and `credential.helper` when set globally or system-wide. It also requires ensuring that legitimate Git configurations and documentation are not flagged.

good first issuenew-rule
20
Difficulty
3/5

Docs: add a "Severity" section to the Grafana, GCP, Uptime Kuma and Zabbix pages

AI summary

This issue requests adding a "Severity" section to the documentation pages for Grafana, GCP, Uptime Kuma, and Zabbix integrations. Currently, only the Datadog integration page explains how to set alert severity, leading to users receiving all alerts as 'warning' by default. The proposed solution involves updating the respective Markdown files in the documentation repository to reflect how severity can be configured for each integration.

bugdocumentationgood first issueServerhacktoberfest
204
Difficulty
2/5

Docs: Grafana page: say "resolved" not "archived", and document name, summary and links

AI summary

This issue requests updates to the Grafana integration documentation. Specifically, it asks to change the terminology from 'archived' to 'resolved' for cleared alerts and to add a section explaining how alert names, summaries, and links are constructed from Grafana data within OpsiMate.

bugdocumentationgood first issuequestionServerhacktoberfest
204
Difficulty
2/5

Credentials: no way to use a stored reference without printing it; the credential hook calls reference_lookup "masked" when it is not

AI summary

This issue highlights a security vulnerability where stored credentials are not truly masked when looked up, potentially leading to them being exposed in session transcripts. The proposed fix involves modifying the credential lookup mechanism to inject credentials directly into the child process environment and mask their output, while also adding advisories for commands that might inadvertently expose credentials.

help wantedarea:knowledge
90
Difficulty
4/5

New config option for more control over block wrapping match arm bodies

AI summary

This issue proposes a new configuration option for rustfmt to give users more granular control over how match arm bodies are block-wrapped. The goal is to support several distinct wrapping behaviors, ranging from the current default to always wrapping, preserving existing wrapping, and wrapping based on line width constraints.

good first issueE-help-wantedA-matches
6.9K
Difficulty
3/5

fix(down): `--prune-cache 7d` is accepted and advertised, but Docker rejects the "d" unit after the stack is already stopped

AI summary

The `flisk down --prune-cache` command accepts and advertises duration units like '7d' which Docker's `builder prune` command does not support, leading to a failure after the stack has already been stopped. The issue stems from a mismatch between the validator's accepted units and Docker's actual parsing capabilities.

bugdocumentationgood first issuehelp wantedtestingdx
24
Difficulty
2/5

bug: patch-file failures are not logged

AI summary

This issue describes a bug where failures in the `patch-file` tool are not logged, making it impossible for operators to diagnose why a patch operation failed. The current implementation only logs successful patches, leaving no trace of errors like `NOT_FOUND`, `AMBIGUOUS`, or `NO_CHANGE`. The proposed fix is to log all outcomes, including failures, with relevant details to improve debugging.

buggood first issue
118
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 124,392 projects or reset filters to see more of the 868,051 indexed issues.