HTML good first issues

2,531 open HTML issues currently match the default 10+ star filter. Scored difficulty: 5,943 at 1/5, 8,784 at 2/5, 12,678 at 3/5, 12,097 at 4/5, 857 at 5/5. This hub uses the same feed as the homepage, limited to repositories whose GitHub language is HTML.

All languages · Browse projects · How to find good first issues · HTML good first issues guide · Hacktoberfest 2026

Active projects

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

Showing 30 of ~2,531 matching filters (HTML · 10+ stars)

List

Module pages render no evidence for pathophysiology nodes

AI summary

Module pages in the application are failing to display evidence details for pathophysiology nodes, only showing a count. This prevents users from understanding the source of the evidence (e.g., human cohort, mouse model, or in vitro experiment) without manually inspecting the YAML files. This is a critical gap for module pages, which abstract mechanisms across diseases and rely heavily on diverse evidence sources.

enhancementhelp wanted
29
Difficulty
3/5

Control GHA workflows concurrency

AI summary

This issue proposes controlling the concurrency of GitHub Actions workflows to prevent multiple jobs from running simultaneously. This is particularly important for workflows that interact with external systems, such as pushing artifacts, to ensure ordered execution and avoid conflicts. The provided GitHub documentation link offers guidance on implementing workflow and job concurrency controls.

good first issue
163
Difficulty
2/5

Add GHA workflow ensuring the website is working

AI summary

This issue requests the addition of a GitHub Actions workflow to verify the Hyperfoil website's functionality. The workflow should run on pull requests and master pushes, specifically when changes occur in the `docs/site` directory, and utilize Hugo for building. An optional stretch goal involves hosting a temporary website for pull requests.

documentationgood first issue
163
Difficulty
3/5

Provide getting started

AI summary

This issue requests the creation of a 'Getting Started' page for KEDA. The page should guide new users through the essential steps of installing KEDA, deploying a sample application, setting up authentication for triggers, creating a scaled object, and finally, monitoring the deployment using the KEDA dashboard.

help wantedgetting-startedfeature
150
Difficulty
2/5
OCA/fleet

Migration to version 19.0

AI summary

This issue tracks the migration of several Odoo modules related to fleet management to version 19.0. A checklist of modules is provided, with one module already migrated. The linked wiki page offers guidance on the migration process.

help wantedwork in progressno stale
59
Difficulty
3/5
NuGet/Home

--protocolVersion argument description isn't accurate about the default value

AI summary

The `--protocolVersion` argument description in `dotnet nuget add source --help` incorrectly states the default value. While it claims to default to 2, the actual default behavior depends on the NuGet source URL, defaulting to 3 for URLs ending in `.json`.

Priority:3Type:Bughelp wantedProduct:dotnet.exe
1.6K
Difficulty
1/5

Migration to version 19.0

AI summary

This issue tracks the migration of various 'product' related modules to version 19.0. It serves as a checklist for maintainers, indicating which modules have been migrated (marked with 'x') and which still require attention. The migration process likely involves updating code to be compatible with the new Odoo version.

help wantedwork in progressno stale
242
Difficulty
3/5

Migration to version 19.0

AI summary

This issue tracks the migration of various Odoo modules to version 19.0. It lists the modules that need to be migrated, with some already marked as completed. The migration process likely involves updating code to be compatible with the new Odoo version and its associated changes.

help wantedwork in progressno stale
401
Difficulty
3/5

Migration to version 20.0

AI summary

This issue outlines a migration task for a large number of Odoo modules to version 20.0. It provides a checklist of modules that need to be updated and links to relevant documentation for guidance. The goal is to ensure these modules are compatible with the new Odoo version.

help wantedwork in progressno stale
242
Difficulty
4/5

An empty file gives pandas' 'No columns to parse from file' on the CLI and MCP, while the web says it looks empty

AI summary

An empty CSV file causes the command-line interface (CLI) and MCP server to display a generic 'No columns to parse' error, while the web interface correctly identifies the file as empty. The JavaScript engine also handles empty files differently, returning an empty profile. The suggested fix is to standardize the error message across all interfaces to clearly indicate an empty dataset and to ensure consistent behavior.

buggood first issue
32
Difficulty
2/5

After #983 the two web views still define ten functions of the same name

AI summary

This issue identifies duplicated function definitions across two JavaScript files (`profiler-ui.js` and `profiler-compare.js`) that were not fully resolved by a previous refactoring. The duplicated functions relate to common UI elements and data handling, leading to maintenance overhead. The suggested solution involves consolidating pure functions into a shared module and refactoring others to accept dynamic element IDs.

enhancementhelp wanted
32
Difficulty
3/5

python -m faircode.figures has no test

AI summary

The command-line interface for generating figures in the faircode package is not tested. This means that changes to the argument parsing or default behavior of this interface could go unnoticed, potentially breaking the figure regeneration process for users. The suggested solution involves adding tests that simulate running the command-line interface with various inputs and verifying the output and generated files.

enhancementgood first issue
32
Difficulty
2/5

get_xlsx_sheet_info's unreadable-workbook path and the malformed @ENCODING skip are untested

AI summary

This issue identifies untested code paths in `get_xlsx_sheet_info` and `held_out_encoding_ignored_notes` within the `faircode` library. Specifically, the code that handles unreadable workbooks and malformed encoding suffixes is not covered by tests. The proposed solution involves creating tests for these scenarios to ensure proper error handling and silent failures where intended.

enhancementgood first issue
32
Difficulty
2/5

Delimiter sniffing has no test for a doubled quote inside a quoted field

AI summary

This issue identifies a gap in the delimiter sniffing logic for CSV-like data. Specifically, there's no test case to handle doubled quotes within quoted fields, which are used to escape a single quote. While the current implementation appears to handle these cases correctly based on manual testing, the lack of a dedicated test means this functionality is not verified in the test suite for both Python and JavaScript implementations.

enhancementgood first issue
32
Difficulty
2/5

loaders.read_table's missing-openpyxl message is untested

AI summary

The error message displayed when trying to read an Excel file without the 'openpyxl' package installed is not being tested. This means the specific informative message is never verified to ensure it's correct and helpful to users. The issue proposes adding tests to cover this scenario.

enhancementgood first issue
32
Difficulty
2/5

The 'insufficient data' ratio result and the equalized-odds 'driven by TPR gap' branch are untested

AI summary

This issue highlights that two specific branches within the `faircode/metrics.py` file are not being tested. These branches handle edge cases where insufficient data exists for ratio calculations or when the False Positive Rate (FPR) gap is undefined for equalized odds. The goal is to add tests to ensure these documented outcomes are correctly handled and reported.

enhancementgood first issue
32
Difficulty
2/5

parse_reference skips rows with a non-numeric share, but no test shows it or compares it with the web engine

AI summary

The `parse_reference` function in the Python profiler silently skips rows with non-numeric 'share' values, such as 'n/a' or empty cells. This behavior is not covered by existing tests, and it's unclear if the JavaScript web engine exhibits the same behavior. The issue proposes adding tests to verify this and to ensure consistent handling of such data across both engines.

enhancementgood first issue
32
Difficulty
2/5

compare_to_html's 'and N more groups' line and its all-zero-share guard are untested

AI summary

This issue identifies untested code paths in the `compare_to_html` function within `faircode/report.py`. Specifically, the 'and N more groups' line and the guard preventing division by zero when no shares exist are not covered by existing tests. The suggested solution involves creating tests that trigger these specific conditions to ensure correct rendering and error handling.

enhancementgood first issue
32
Difficulty
2/5

MANIFEST_SPEC says a row filter takes exactly one operator, but the loader accepts several and keeps NaN rows for the negated ones

AI summary

The current implementation of `RowFilter` in `faircode/manifest.py` allows multiple operators within a single filter, contradicting the `MANIFEST_SPEC.md` which states only one operator should be used. This leads to unexpected behavior, such as filters silently narrowing the data twice and inconsistent handling of NaN values depending on the operator used.

bugdocumentationhelp wanted
32
Difficulty
3/5

AGENTS.md still says the repo has no lint, test or package setup

AI summary

The AGENTS.md documentation incorrectly states that the repository lacks linting, testing, and package setup. This is outdated information as the repository now includes a `pyproject.toml` with pytest and ruff configurations, a `Makefile` for tests and linting, pre-commit hooks, and several relevant GitHub workflows. The documentation needs to be updated to reflect these existing configurations.

documentationgood first issue
32
Difficulty
2/5

There is no make target or documented extra for the browser smoke test

AI summary

This issue highlights a gap in the project's testing setup for browser smoke tests. Currently, there's no straightforward way for contributors to run these tests, requiring manual installation of Playwright and Chromium, and the tests are silently skipped by default. The suggested solution involves adding a `browser` extra, a dedicated `make test-browser` target, and updating documentation to make this testing functionality accessible.

enhancementgood first issue
32
Difficulty
2/5

The web provenance version is hard-coded twice in the browser scripts and nothing checks it against the package version

AI summary

The web provenance version is hard-coded in two JavaScript files and is not validated against the Python package version. This can lead to outdated version information in web exports and comparison views after a release. The suggested solution involves centralizing the version constant and adding automated checks.

buggood first issue
32
Difficulty
2/5

An unused category in a pandas Categorical column is counted as a zero-row group and lowers the score

AI summary

This issue describes a bug in the faircode profiler where pandas Categorical columns with unused categories are incorrectly counted as zero-row groups. This leads to a lower score and inconsistent profiling results across different file formats, as only Parquet files can produce these zero-row groups. The suggested fix involves using `observed=True` in `value_counts()` to only count present categories.

bughelp wanted
32
Difficulty
2/5

A column mixing the number 1 and the string "1" gives two groups with the same label in Python and one group in JS

AI summary

The Python profiler incorrectly separates integer `1` and string `"1"` into distinct groups, leading to duplicate labels in the report. The JavaScript profiler correctly combines them. This inconsistency arises from how each engine handles mixed-type columns, causing different profiling results for the same data.

buggood first issue
32
Difficulty
2/5

The web engine does not flatten nested JSON objects, so a nested column is dropped there but profiled in Python

AI summary

This issue describes a discrepancy between how nested JSON objects are handled by the Python and JavaScript profilers. The Python loader flattens nested objects into dotted column names (e.g., 'loc.state'), while the JavaScript engine keeps them as single cells, leading to different profiled dimensions. The proposed solution is to implement similar flattening logic in the JavaScript engine.

bughelp wanted
32
Difficulty
3/5
OCA/pos

Migration to version 16.0

AI summary

This issue tracks the migration of various Point of Sale (POS) modules to version 16.0. It lists completed and pending modules, indicating that the migration process is underway and requires further attention for the uncompleted items.

help wantedwork in progressno stale
341
Difficulty
3/5

Priority diseases to curate (huge EPIC, CZI)

AI summary

This issue outlines a large-scale effort to curate and categorize 3,079 rare diseases from a prioritized list. The categorization is based on matching MONDO IDs and various metadata fields, with specific examples provided for neurodevelopmental, neurodegenerative, neuroimmune, and cardiac disease groups. The goal is to enhance the existing knowledge base by organizing these diseases into relevant categories.

enhancementhelp wanted
29
Difficulty
4/5

Also browsing: Python , TypeScript , JavaScript