Elixir good first issues

85 open Elixir issues currently match the default 10+ star filter. Scored difficulty: 5,947 at 1/5, 8,788 at 2/5, 12,702 at 3/5, 12,124 at 4/5, 857 at 5/5. This hub uses the same feed as the homepage, limited to repositories whose GitHub language is Elixir.

All languages · Browse projects · How to find good first issues

Active projects

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

Showing 30 of ~85 matching filters (Elixir · 10+ stars)

List

docs: CLAUDE.md's CI table omits six jobs, including the one that gates CI's own decision logic

AI summary

The documentation for the CI pipeline in CLAUDE.md is incomplete, omitting seven jobs. This makes it difficult for users to understand the purpose of all CI checks, especially the `workflow-checks` job which gates the CI's decision logic. The issue proposes adding missing jobs to the documentation table to improve clarity and usability.

good first issuearea:testingarea:docs
14
Difficulty
2/5

pending_test.exs passes an integer where Pending.ask/7 expects request params

AI summary

Several test cases in `pending_test.exs` are incorrectly passing an integer for the `params` argument in `Pending.ask/7`. This integer is being misinterpreted by the function, leading the tests to exercise a fallback timeout logic instead of the intended per-request timeout. The fix involves passing `nil` to these test sites, as they do not intend to test per-request timeouts.

good first issuearea:testingP3
14
Difficulty
2/5

UI (CSS) issues on Safari

AI summary

This issue reports critical UI inconsistencies on Safari, specifically missing trigger icons and z-index problems with buttons in the docs panel. While Safari usage is low (2%), these bugs significantly impact the user onboarding experience.

bugux/ui improvementgood first issue
292
Difficulty
3/5

UX issues with updating email

AI summary

This issue highlights two user experience problems with the email update process. First, the password field incorrectly displays an "empty" validation error even while the user is typing, which should be cleared dynamically. Second, password validation should only occur when the user explicitly clicks the 'update email' button, not before.

ux/ui improvementgood first issue
292
Difficulty
2/5

Support pre-re

AI summary

This issue proposes adding support for a 'pre-re' (pre-renewal) version of a game, likely due to the complexity of implementing new mechanics and skills in the current 're' (renewal) version. The developer plans to achieve this by splitting database and NPC code, and implementing conditional compilation for mechanics, skills, and other game elements.

enhancementhelp wanted
32
Difficulty
4/5
dwyl/rbac

Stub Dependency on Auth App

AI summary

This issue proposes to remove the dependency of the `rbac` tests on the `auth` application by implementing mocking strategies. The goal is to allow `rbac` tests to run offline and independently, with an optional mode for end-to-end integration testing with `auth`. This is a "nice to have" task and not a high priority.

enhancementhelp wantedpriority-2T2hchoretechnical
34
Difficulty
3/5

friction(cli): show a missing positional path in local terminal errors

AI summary

The CLI tool 'ptc' provides a misleading error message when a project document is not found or incorrectly configured. It incorrectly reports a missing 'application manifest' instead of indicating that the project document itself is missing or that the application path within the document is incorrect. This ambiguity causes confusion for new users, leading them to inspect the wrong files.

buggood first issuenew-dev-frictionptc:ready
20
Difficulty
2/5
dwyl/rbac

Chore: Remove Heroku Hard-coded URL from Tests

AI summary

This issue addresses a hard-coded Heroku URL within the project's tests. The tests are failing because they are attempting to connect to a non-existent Heroku application, resulting in a "No such app" error. The proposed solution is to update the tests to use an `AUTH_API_KEY` environment variable for the `auth_url` instead of the static Heroku URL.

enhancementhelp wantedpriority-1choretechnicalT1h
34
Difficulty
2/5

Run `mix credo` on `GitHub Actions` for Code Consistency 😍

AI summary

This issue proposes integrating `mix credo` into GitHub Actions for Elixir projects to enforce code consistency and display a code quality badge. The plan involves documenting the setup, applying it to a sample repository, ensuring it passes locally, and adding a badge.

enhancementhelp wantedpriority-2T25mtechnicalelixir
1.7K
Difficulty
2/5

add matchmaking state to `user/self` event

AI summary

This issue proposes adding matchmaking state information to the `user/self` event in the `tachyon` protocol. This will allow the client to understand its current status within the matchmaking process, as indicated by a related pull request.

good first issuetachyon protocolhigh priority
99
Difficulty
2/5

friction(cli): ptc init cannot list its embedded examples — you must provoke an error to read the catalogue

AI summary

The `ptc init --example` command does not list available embedded examples. Users must intentionally provide an invalid example name to trigger an error message that reveals the catalogue. The issue suggests adding a `--list-examples` flag or including the example names directly in the `ptc help init` output to improve discoverability for new users.

enhancementgood first issuenew-dev-frictionptc:ready
20
Difficulty
2/5

Session stopped early when a connection drops twice inside 30s

AI summary

A session incorrectly stops early when a player disconnects twice within 30 seconds. The first connection timeout timer is not cancelled upon reconnection, leading it to fire and stop the session even after a successful reconnect. This results in unexpected session termination and loss of state.

good first issuetachyon protocolhigh priority
99
Difficulty
3/5

docs(mcp): name the provider_exchanges reader for retained MCP inspection evidence

AI summary

The user is reporting a friction point in the documentation for inspecting wire records in MCP (Model-Centric Programming). While the documentation states these records are retained, it fails to clearly identify the command or method for reading them. This leads users to resort to less supported methods like using `strings` on sealed artifacts.

documentationgood first issueneeds-reviewnew-dev-frictionptc:ready
20
Difficulty
3/5

friction(debug): println output reaches no stream and no envelope field, and nothing at run time says it was retained or discarded

AI summary

This issue describes a friction point in the `ptc` tool where `println` output is not immediately visible to the user during a run. The output is stored in a private inspection artifact, but this artifact is not enabled by default, and there's no runtime indication that the prints were retained. The user expects a clear message on stderr when prints are retained, indicating their location.

enhancementgood first issueneeds-reviewnew-dev-friction
20
Difficulty
3/5

Improve tachyon envelope parsing tests

AI summary

This issue proposes enhancing existing tests for tachyon envelope parsing. Currently, tests only check for the presence of an error, but the goal is to also validate that the specific error message is as expected, leading to more robust testing.

good first issuelow priority
99
Difficulty
2/5

Complete the French (fr) translation: UI, mails, error pages

AI summary

This issue requests the completion of the French translation for the user interface, emails, and error pages. It involves translating a significant number of messages, adapting number formatting to French conventions (using a narrow no-break space for thousands separators and a comma for decimals), and ensuring the use of formal "vous" register. The goal is to have a fully localized French experience.

help wantedFeature Request
333
Difficulty
4/5

Complete the Spanish (es) translation: UI, mails, error pages

AI summary

This issue requests the completion of the Spanish (es) translation for the user interface, emails, and error pages. It involves updating Gettext catalogs, ensuring all hardcoded English/German strings are translated, and adhering to Spanish number formatting and formal register. The goal is to have a fully localized Spanish experience for users, including transactional emails and country names.

help wantedFeature Request
333
Difficulty
4/5

bug(cli): a private-class result with no destination exits 70 internal_error, while the correct private_destination_required fires one branch over

AI summary

When running a private-class result with no specified destination, the CLI exits with a generic internal error (exit 70). However, when a destination is provided but is incorrect, a more specific and actionable error ('private_destination_required') is correctly raised. This suggests a missed branch in error handling where the absence of a destination should also trigger the specific error.

buggood first issueneeds-reviewnew-dev-friction
20
Difficulty
3/5

friction(cli): `(doc "agent.core/run")` answers "No documentation found" — the exact form AGENTS.md prints needs --project

AI summary

The `ptc repl` command, when used to document prelude exports like `agent.core/run`, incorrectly reports "No documentation found" unless a `--project` flag is specified. This is problematic because the generated `AGENTS.md` file and `ptc docs agent-guide` instruct users to run these commands without the project flag, leading to a false impression that functions do not exist. The `apropos` command also suffers from similar issues, returning incomplete results.

documentationgood first issueneeds-reviewnew-dev-friction
20
Difficulty
3/5

Complete Italian (it) translation: UI, flash messages, emails, error pages

AI summary

This issue requests the completion of the Italian translation for the application's user interface, flash messages, emails, and error pages. It requires updating Gettext catalogs, ensuring correct number and date formatting for Italian conventions, and handling formal address. The goal is a fully localized Italian experience, avoiding English fallbacks.

help wantedFeature Request
333
Difficulty
4/5

docs(init): state and diagnose the atomic new-directory requirement

AI summary

The `ptc init` command incorrectly refuses to initialize in any directory that already exists, including empty directories and Git repositories. The error message is unhelpful, lacking details about the specific path or rule that caused the failure. This prevents users from initializing `ptc` in existing projects or even in newly created, empty directories.

documentationenhancementgood first issuenew-dev-friction
20
Difficulty
3/5

friction(viewer): every unknown path returns 200 and renders the runs index, so a mistyped or path-form run URL looks like a working page

AI summary

The PTC Viewer incorrectly returns a 200 OK status code and renders the runs index for any unknown non-API path. This leads to a confusing user experience where mistyped or invalid run URLs appear to work, but display incorrect content, hindering users trying to diagnose issues.

buggood first issueneeds-reviewnew-dev-friction
20
Difficulty
2/5

friction(repl): ptc repl reports a bare credential_unavailable where ptc run names the provider, the operation and three remedies

AI summary

The `ptc repl` command provides a less informative error message for `credential_unavailable` compared to `ptc run`. While `ptc run` clearly states the provider, operation, and remedies, `ptc repl` wraps the error in a generic `command_failed` message, obscuring crucial details. This inconsistency creates friction for new users who encounter the REPL first and need clear guidance on resolving credential issues.

enhancementgood first issueneeds-reviewnew-dev-friction
20
Difficulty
2/5

Joken JWKS version 2.0

AI summary

The author proposes a 2.0 version for the Joken JWKS library to address several existing issues and incorporate new features. Key improvements include better handling of kid-less and duplicate keys, fixing process-related side effects, and enhancing flexibility for static and dynamic JWKS sources. The update also aims to improve security with JWKS claims like certificate thumbprints, better HTTP configuration, increased observability, improved documentation, and more robust fetching options.

enhancementhelp wanted
36
Difficulty
4/5

friction(docs): designing-agent-workflows presents the example-local helpers returned-value and quarantined as if they were shipped API

AI summary

The documentation for designing agent workflows incorrectly presents `returned-value` and `quarantined` as shipped API functions. In reality, these are private helper functions defined within the `support-triage` example's `workflow.clj` file, leading to confusion and wasted validation cycles for new users who cannot find them.

documentationgood first issueneeds-reviewnew-dev-friction
20
Difficulty
2/5

friction(doctor): a TLS failure writes an Erlang logger notice to stdout, so the JSON report cannot be parsed

AI summary

The `ptc doctor --connect` command incorrectly writes Erlang logger notices to stdout when a TLS failure occurs, corrupting the JSON output and making it unparseable. This issue specifically affects TLS certificate expiry errors, while other connection errors produce clean output. The expected behavior is for all runtime logs to go to stderr, leaving stdout exclusively for the machine-readable JSON report.

buggood first issueneeds-reviewnew-dev-friction
20
Difficulty
3/5

friction(components): override_invalid is one message for three different descriptor mistakes, and names a filename the user never passed

AI summary

This issue highlights a problem with error reporting for component override descriptors. The same generic error message is displayed for three distinct types of descriptor mistakes, providing no specific details to help the user diagnose the problem. Additionally, the error message incorrectly references a fixed filename ('component-override.json') instead of the actual file provided by the user.

buggood first issueneeds-reviewnew-dev-friction
20
Difficulty
3/5

friction(cli): --envelope silently suppresses the project's own envelope artifact, so a spend ledger under-reports

AI summary

The `--envelope` flag in the `ptc` CLI tool silently overwrites the project's default envelope artifact instead of duplicating it. This leads to under-reporting in spend ledgers, as runs using the flag are not saved in the `.ptc/envelopes/` directory. The documentation does not clearly state this behavior, causing confusion for users.

buggood first issueneeds-reviewnew-dev-friction
20
Difficulty
2/5

Also browsing: Python , TypeScript , JavaScript