Back to Explorer
Beginner Friendly Open-Source Elixir

Good First Issues in Elixir

Explore curated starter issues in high-scoring Elixir repositories. Every listed issue belongs to a welcoming repository scored by C-Rank™ on PR merge rates, review responsiveness, and first-timer acceptance.

Updated: Sun, 30 Aug 2026 UTC (Live GitHub Sync)
Real-Time Radar

Arm Issue Sniper for fresh Elixir beginner issues

Beginner issues in welcoming S/A-Tier repositories get snatched within 15 minutes. Receive instant alerts on Discord, Telegram, or Email the minute a maintainer opens a new task.

Live Good First Issues (30)

Real-Time Open GitHub Issues
nerves-hub/nerves_hub_web269 Tier S · 74 pts
#2891Opened 17 days ago
Improve traceability of support scripts

Support scripts has no way to tell whether it was recently modified and what was modified, making it a little more difficult to debug issues. When a script results in an error, it sometimes leads to an investigation of whether the support script was changed/broken or if a device's firmware changed. But It would be nice to have: A section for "last edited at: " or something similar. A way to see previous versions of the support script, so rollbacks can be easy.

good first issueUI/UX
1
nerves-hub/nerves_hub_web269 Tier S · 74 pts
#2890Opened 17 days ago
Show syntax errors when writing support scripts in the UI

When writing support scripts, I am unsure if the script has errors until I actually try running it. To combat this, I tend to write the code on an IDE with a LSP/linter first, and then paste it in. It would be nice if I can get feedback in the app without having to leave it and open an IDE. This would make support scripts faster to write, and reduce the risk of a bad script reaching the device.

good first issueUI/UX
beyond-all-reason/teiserver102 Tier S · 75 pts
#1473Opened 20 days ago
Password reset when 2FA enabled requires inputting code, instead of removing 2FA

Currently when you reset password, it removes 2FA. That should be changed to requiring to input the 2FA code, if enabled

good first issuemedium priority
beyond-all-reason/teiserver102 Tier S · 75 pts
#1472Opened 21 days ago
Banned phrases not detec

If a raw type banned phrase contains a 1, 3, 4, 5, 7, 8, 0, - or _ it will never match any text because those characters will be replaced by Teiserver.Helper.StringHelper.leet_replace before the text is passed to message_severity check in Teiserver.Chat.WordLib.blacklisted_phrase?. def blacklisted_phrase?(text) do text = StringHelper.leet_replace(text) # If it's a high severity match then yes it is blacklisted BannedPhrase.message_severity(text, :high) == :high end def leet_replace(title) do title |> String.downcase() |> String.replace("1", "l") |> String.replace("3", "e") |> String.replace("4", "a") |> String.replace("5", "s") |> String.replace("7", "t") |> String.replace("8", "b") |> String.replace("0", "o") |> String.replace("-", "") |> String.replace("_", "") end

good first issuemedium prioritymoderation
beyond-all-reason/teiserver102 Tier S · 75 pts
#1462Opened 27 days ago
Reset flood protection leads to Not found

Steps to reproduce: Go to any users admin page (teiserver/admin/user/) Click actions dropdown and select reset flood protection Not Found

good first issuephoenix/webdevmedium priority
beyond-all-reason/teiserver102 Tier S · 75 pts
#1450Opened 1 month ago
add matchmaking state to `user/self` event

New data expected for that event: beyond-all-reason/tachyon#150 so that client can know which state they're in wrt matchmaking.

good first issuetachyon protocolhigh priority
beyond-all-reason/teiserver102 Tier S · 75 pts
#1440Opened 1 month ago
Add "Ignore trusted" check to the teiserver/reports/show/new_smurf page.

Currently the page has an "Ignore users already banned" checkbox that filters already banned users. A similar checkbox is requested to ignore users that were assigned the "Trusted" role. Default enabled.

good first issuemedium prioritymoderation
beyond-all-reason/teiserver102 Tier S · 75 pts
#1439Opened 1 month ago
Add sorting by column to the teiserver/admin/users/smurf_search page

The current columns are "Name", "Domain", "Client", "Status", "Winrate", "Recents", "Play time", "games allied", "games vs", "mac", "sysinfo", "client", "hw1", "hw2", "hw3", "hw4", "ip", "Last login", "Registered". This is a request to allow sorting (re-ordering) the returned list by the columns "Name" (alphabetically), "Status", "Play time" (highest first), "games allied" (highest first), "games vs" (highest first), "mac", "sysinfo", "client", "hw1", "hw2", "hw3", "hw4", "Last login" (newest first, default sort), "Registered" (newest first). Sorting "Domain" by email domain (e.g. @gmail.com) would be useful but not necessary depending on the difficulty of implementation.

good first issuemedium prioritymoderation
beyond-all-reason/teiserver102 Tier S · 75 pts
#1438Opened 1 month ago
Add sorting by column to the teiserver/reports/show/new_smurf page

The current columns are "New user", "Status", "Last login", "Registered", "Duel", "FFA", "Team". This is a request to allow sorting (re-ordering) the returned list by the columns "New user" (alphabetically), "Last login" (newest first, default sorting), "Registered" (newest first)

good first issuephoenix/webdevmedium prioritymoderation
beyond-all-reason/teiserver102 Tier S · 75 pts
#1432Opened 1 month ago
Allow reporting of friends

Currently when reporting a friend, you're getting an message that you can not report a friend and that the report has not been submitted. The desired result should remove that limitation to allow the reporting of friends

good first issuemedium priority
dwyl/learn-elixir1,702 Tier B · 44 pts
#235Opened 1 month ago
Run `mix credo` on `GitHub Actions` for Code Consistency 😍

Context We have used 3rd party code quality badges e.g. CodeClimate in the past. But haven't applied them to our Elixir projects ... until now! 🤷‍♂️ Example while reading: https://github.com/cesium/safira discovered via @ruilopesm & @nelsonmestevao 🫶 we see they have the following badge: prominently displayed: The action is: /cesium/safira/.github/workflows/style.yml Note: we are using credo in several projects e.g: mvp just not running the mix task on GitHub Actions or displaying a badge for "Code Quality". Todo ✅ Document the setup steps in a code-style.md file in this (/learn-elixir) repo. 📝 Create PR here in /learn-elixir 🆕 Add it to at least one repo, e.g: fields 🌻 Run the mix credo --all --strict on localhost to ensure it passes; 💻 Make any necessary changes. 🛠️ Add a flat-square badge to the repo. 🏷️ Create PR in the repo where the style.yml task is being added. Submit for review. 👀

enhancementhelp wantedpriority-2T25m
1
dwyl/quotes347 Tier B · 44 pts
#136Opened 1 month ago
Task: Heroku 💔 ... Deploy to Fly.io 🚀

There's no such thing as "free" Apps on Heroku anymore ... 🤦‍♂️ https://phoenix-content-negotiation.herokuapp.com/.json I don't have time to address this right now ... ⏳ But I am going to remove the link from the repo: Just so we aren't sending anyone there. 🚫 Todo Deploy a simple quotes app to Fly.io that displays a quote Curate a few unsplash backgrounds: https://unsplash.com/s/photos/nature-background e.g: https://unsplash.com/photos/green-mountains-and-green-trees-beside-river-under-blue-sky-during-daytime-vK26p2SFX3E https://unsplash.com/photos/green-trees-on-green-grass-field-under-blue-sky-and-white-clouds-during-daytime-OJ02cQHePds Stretch Goal: use tags to display a background image that is relevant to the quote.

documentationenhancementhelp wantedtechnical
1
wintermeyer/vutuv337 Tier S · 78 pts
#1109Opened 1 month ago
Show the jobs earned with a qualification on its detail page

Motivation We have the space there and it gives us a way to see everything at one glance as well as a possibility to jump to each one. Current UI Proposed UI

Feature Requestgood first issue
2
dwyl/hits451 Tier B · 59 pts
#366Opened 1 month ago
Task: Optimise Aggregation Query

Running: SELECT count(*) AS exact_count FROM hits; We see: With 30M Rows. This query takes 244 seconds. ⏳ Running this query for each hit badge was crashing the server. 💔 But with the hit_count table in place, it's now not a burning issue 🔥 😥 priority-2 because the aggregation isn't crashing the server anymore and we can fix this with time. 🧑‍💻 🔍 Starting point: https://stackoverflow.com/questions/55018986/postgresql-select-count-query-takes-long-time

enhancementhelp wantedtechnicalpriority-2
dwyl/hits451 Tier B · 59 pts
#365Opened 1 month ago
Ecto.MultipleResultsError: expected at most one result but got 2 in query 🤦‍♂️

Getting the following error: 08:51:46 ** (exit) an exception was raised: 08:51:46 ** (Ecto.MultipleResultsError) expected at most one result but got 2 in query: 08:51:46 from h0 in Hits.HitCount, 08:51:46 (ecto 3.13.6) lib/ecto/repo/queryable.ex:166: Ecto.Repo.Queryable.one/3 08:51:46 (hits 1.7.14) lib/hits_web/controllers/hit_controller.ex:48: HitsWeb.HitController.index/2 08:51:46 (hits 1.7.14) lib/hits_web/controllers/hit_controller.ex:1: HitsWeb.HitController.phoenix_controller_pipeline/2 08:51:46 (hits 1.7.14) lib/hits_web/endpoint.ex:1: HitsWeb.Endpoint.plug_builder_call/2 https://fly.io/apps/hits/monitoring Should be quick to fix in the query. 🔍 BRB. 🧑‍💻

help wantedT1htechnicalpriority-1
1
DROOdotFOO/raxol73 Tier S · 70 pts
#503Opened 1 month ago
Graduate raxol_symphony: live run against a real Linear/GitHub repo + Hex

Part of the Graduations epic. Goal Validate raxol_symphony (pre-alpha) against a real Linear/GitHub repo, then reserve/cut its first Hex release. Context raxol_symphony is an OTP port of OpenAI Symphony: a tracker-driven coding-agent orchestrator (Orchestrator BaseManager polls Memory/Linear/GitHub, claims eligible issues, isolates each in a per-issue workspace, runs a coding agent to terminal state). Two runners (Runners.RaxolAgent, Runners.Codex), six surfaces via PubSub, evidence framework. Full description in CLAUDE.md (Symphony section) + HANDOVER.md. Scope Live validation against a real Linear / GitHub repo (drive real issues through to PRs). Orchestrator integration of the parallel GraphAdapter (workflow_mode: :graph_parallel); per-branch pause + compensate (see TODO.md "Symphony" open items). SSH worker dispatch (worker.ssh_hosts, one-worker-lifetime-per-host). Cache wiring for the Session-backed runner (~30 min, same opt-in pattern). Hex reservation/release once a live r

enhancementhelp wanted
1
DROOdotFOO/raxol73 Tier S · 70 pts
#502Opened 1 month ago
Graduate raxol_acp: first live Base-mainnet offering + Hex release

Part of the Graduations epic. Human-in-the-loop / funds required for the final live step. Goal Take raxol_acp (0.2.0, pre-alpha) to its first live Base-mainnet offering, then cut the first Hex release. Context raxol_acp is code-complete on the v2 hook/event model against the deployed Base contracts (v1 memo model retired). Full state in HANDOVER.md (top ACP entries) and CLAUDE.md. The single mainnet target is xochi_cross_chain_transfer (pure-relay storefront: raxol never touches transfer funds, takes an ACP fee; the buyer signs the Xochi intent, Riddler settles). Scope (an agent prepares; a human executes the funded steps) SCA :live_bundler end-to-end: real EntryPoint, empty-callData deploy sponsorship, installed? getter selector; SolverAgent-vs-Base-staging run (see TODO.md open items). Item-4 A-path live gate Base->Tron (needs funds + Riddler RELAY_GASLESS_PULL_ENABLED; ERC-3009 blocked on Riddler#159); verify checkpoint kill-and-resume. Graduate the offering: live run on Base ma

enhancementhelp wanted
DROOdotFOO/raxol73 Tier S · 70 pts
#501Opened 1 month ago
OpenRouter funnel: run #414 live smoke, confirm apps listing, bump site copy

Part of the Hermes Fast-Follow P1 epic. Tag: Funnel. Small; precondition for the desktop app's attribution. Goal Close out the OpenRouter attribution funnel so Raxol appears on openrouter.ai/rankings and the desktop app can default to it. Design ROADMAP.md P1 "OpenRouter funnel" row + TODO.md (the one remaining #414 task): The :openrouter harness already sends app-attribution headers (HTTP-Referer, X-OpenRouter-Title, X-OpenRouter-Categories) via Backend.Selector / ExecutorConfig auth. Run the #414 live smoke with a real OpenRouter key (human-in-the-loop / key required). Confirm the openrouter.ai/apps?url=https://raxol.io listing appears. Bump raxol.io site copy to v2.6 / 14 packages (the #417 site work already merged as #418). Acceptance criteria :openrouter live smoke passes with a real key (captured as a :live_*-gated test / evidence) the openrouter.ai/apps listing for raxol.io is confirmed live site copy reflects v2.6 / 14 packages Effort: S. Priority: P1. References: Backen

enhancementhelp wanted
DROOdotFOO/raxol73 Tier S · 70 pts
#500Opened 1 month ago
Windows first-class: pure-Elixir driver tuning, Windows CI, PowerShell installer

Part of the Hermes Fast-Follow P1 epic. Tag: CATCH-UP. Pairs with the install-funnel PowerShell path. Goal Make native Windows first-class: tune the pure-Elixir driver, add Windows CI, and take the PowerShell installer path out of "preview". Design ROADMAP.md P1 "Windows first-class" row: Tune packages/raxol_terminal/lib/raxol/terminal/io_terminal.ex (the pure-Elixir driver used on Windows in place of the termbox2 NIF). Windows CI: drop the current Windows exclusions where the pure-Elixir path can actually run; keep NIF-only tests tagged. Finish the install.ps1 path from the install-funnel issue (Windows Burrito exe, pure-Elixir driver, %LOCALAPPDATA%\raxol, user PATH, no admin). Known noise to clear Windows undefined variable stdout noise from REPL.Evaluator.base_env/0 during Benchee runs (see TODO.md "Known noise"). Acceptance criteria the pure-Elixir driver renders the playground + a real app correctly on native Windows Windows CI runs the suite (pure-Elixir path) green; NIF-

enhancementhelp wanted
DROOdotFOO/raxol73 Tier S · 70 pts
#499Opened 1 month ago
Migration on-ramp: mix raxol.import --from hermes|openclaw

Part of the Hermes Fast-Follow P1 epic. Tag: CATCH-UP. Small, self-contained. Goal mix raxol.import --from hermes|openclaw: let a user bring an existing agent config into Raxol in one command, lowering the switching cost. Design ROADMAP.md P1 "Migration on-ramp" row: Map SOUL.md -> a Raxol persona/prompt block. Import memories into Memory.Store (the Raxol.Agent.Memory behaviour; reuse Store.Ets / the P0-4 SQLite store). Import skills (the agentskills.io-format bundle from the paid-skills issue). Map allowlists -> PermissionHook (packages/raxol_agent/lib/raxol/agent/ permission hook). Acceptance criteria mix raxol.import --from hermes and --from openclaw parse the respective config layouts memories land in a Memory.Store and are recall-able; skills load; allowlists become PermissionHook rules round-trip tested against fixture configs (real files, no network) Effort: S. Priority: P1. References: packages/raxol_agent/lib/raxol/agent/memory/, permission hook, lib/mix/tasks/. House

enhancementhelp wanted
DROOdotFOO/raxol73 Tier S · 70 pts
#498Opened 1 month ago
Paid skills market: agentskills.io serializer + hub client + tradeable SKILL.md via ACP

Part of the Hermes Fast-Follow P1 epic. Tag: RAILS. Best built on top of the P0-4 raxol_skills extraction. Goal Make SKILL.md skills tradeable: discovered via ACP, escrowed, delivered, settled on Base. agentskills.io distributes; nobody clears -- that is the rails-native category. Design SPECS.md "Memory + skills learning loop" paid-skills note (lines 202-204) + "Commerce-rails wedge" step 2 (line 214): agentskills.io-format serializer for a SKILL.md bundle (the Curator/SelfImprove loop already authors these). Hub pull client to fetch skills from agentskills.io. Tradeable skill = a SKILL.md bundle + an ACP offering (packages/raxol_acp/): buyer discovers via ACP, escrows, receives the bundle, settles on Base via the seller stack + Xochi default. Acceptance criteria serializer round-trips a SKILL.md bundle to/from the agentskills.io format (property test) hub pull client fetches + verifies a published skill (in-memory fake hub in tests) a skill bundle is sold through an ACP offerin

enhancementhelp wanted
DROOdotFOO/raxol73 Tier S · 70 pts
#497Opened 1 month ago
Metered tool gateway: creative-media actions behind an x402 402 endpoint (RAILS)

Part of the Hermes Fast-Follow P1 epic. Tag: RAILS (the commerce wedge). This is the core of the "settlement, not subscription" thesis. Goal Replace the Nous Portal model (subscription resale; only Hermes users can spend) with per-call settlement any 402-speaking agent can use. Design SPECS.md "Commerce-rails wedge (P1-2)" (lines 206-218): Metered tool gateway: the four Portal categories (search, image, TTS, browser/transcribe) behind an axol-hosted service that answers HTTP 402 with an x402 challenge. Any agent auto-pays via AutoPay.attach (packages/raxol_payments/lib/raxol/payments/req/auto_pay.ex), settling same-chain via x402 or cross-chain via Xochi. Revenue = per-call markup + Xochi bps (0.10-0.40% tiered). The 402 path is I/O-bound, outside update/2 -> no frame-budget impact. Expose the creative-media actions (image / video / tts / transcribe) as the metered endpoints. Acceptance criteria an axol-hosted metered service answers 402 with a valid x402 challenge for each media a

enhancementhelp wanted
DROOdotFOO/raxol73 Tier S · 70 pts
#496Opened 1 month ago
Desktop app: raxol_desktop (Tauri shell + Burrito BEAM sidecar over LiveView)

Part of the Hermes Fast-Follow P1 epic. Tag: SURFACE. Precondition: the OpenRouter funnel smoke (sibling issue). Goal Ship raxol_desktop: a signed desktop app on all three OSes with zero new UI, reusing the entire LiveView surface. Design SPECS.md "Desktop app (P1-1)" (lines 176-184): Tauri shell over the LiveView surface with a Burrito'd BEAM sidecar (~10MB shell; sidecar shared with the P0-1 installer). Reuses the whole LiveView surface -> zero new UI. Rejected (do not revisit): native-webview (Elixir-Desktop; DIY packaging/signing), native BEAM GUI (wx/Scenic; throws away the LiveView surface, anti-moat). Attribution: default the bundled harness to :openrouter with the #414 app-attribution headers so every desktop user accrues to openrouter.ai/apps. Acceptance criteria raxol_desktop: Tauri shell launches the LiveView surface via a Burrito BEAM sidecar signed installers for macOS + Windows + Linux bundled harness defaults to :openrouter with attribution headers no new UI code

enhancementhelp wanted
dwyl/hits451 Tier B · 59 pts
#357Opened 1 month ago
Task: Create Batch Job to Run Aggregation Query and Update `hit_count` records

As noted in #355 the aggregation query (SELECT COUNT(*) FROM hits WHERE repo_id = 123) 💭 takes 2 MINUTES on a table with 30 Million Rows. ⏳ And is the reason the request/query time-out and crashes the server! 💔 So we're implementing hit_count 🆕 which is just an integer counter 1️⃣ to return millisecond responses again. 🏎️ 🏁 🎉 The problem is that we are temporarily ignoring the historical data in the hits table ... 🙄 But the data is not "lost" it's just in stasis. 💭 So ... Todo Create a batch job to go through the hit_count table and update count to reflect the aggregate from hits. 🧑‍💻 This must be done gradually to avoid crashing the server again. ⚖️ Once all records are updated, we can sunset this data migration script. 🌆 I expect writing the script to take around T1h and running it to take T1w ⏳ (Running the script once per minute to process a single record. 1440 runs per day. 10,000/week) Will work on this immediately after I h

enhancementhelp wantedT1htechnical
6
wintermeyer/vutuv337 Tier S · 78 pts
#825Opened 2 months ago
Discussion / RFC: give power users a native chat client (open protocol, email bridge, or even replacing the DM backend)

TL;DR: Some power users find vutuv's web chat GUI cumbersome and would rather read and write direct messages from a native app (phone or desktop). This issue is an open invitation to discuss how we could offer that. We want to collect ideas, and everything is on the table, including changing or replacing the current DM system itself. No decision has been made; this is a request for comments. 🗣️ This is a discussion/RFC, not a finished plan. Please poke holes, add options we missed, argue for replacing things wholesale, or tell us an idea is bad. The goal is to find the approach that makes the most sense. The problem vutuv ("DM" = direct message) has an internal, web-based 1:1 chat. It works, but heavy users don't enjoy living inside a browser tab for messaging. They'd prefer a real native client: a fast mobile/desktop app with push notifications, the way they already use other messengers. The original spark for this issue was: "Could a user be reachable internally as username@v

help wantedquestionFeature Request
1
www-zaq-ai/zaq65 Tier S · 71 pts
#488Opened 2 months ago
async tests flakiness

To avoid race conditions due to config/modules selection based on environment variable manipulation we should add a Config module that will be in charge of loading values from environment IF they haven't been provided when calling it That middleware will then replace all application env calls so they safely be overriden by async tests We should probably phase this migration by starting with code implementation that are covered by async tests

good first issue
www-zaq-ai/zaq65 Tier S · 71 pts
#484Opened 2 months ago
[Ingestion] Updating volumes is breaking document links

If we update the volumes declaration on the docker container level, the path are being updated and this breaks the document reference. Consequently, the documents and chunks are still in the DB but they are being orphaned and unaccessible. When retrieving data these chunks can popup with broken source links and no way to clean them up. I suggest two things: have a way to review DB entries for documents and chunks (attached to documents whether they are in the filesystem or in an external data source) have an option to edit source fields for documents to fix them in batches

good first issuequestion
www-zaq-ai/zaq65 Tier S · 71 pts
#473Opened 2 months ago
[crawler-ingest]: Stop maintaining the repo and find alternative

We should find an alternative for crawler ingest functionality and stop maintaining it: Excel to md Powerpoint to md Word to md PDF to md Image to md Web crawling

good first issue
bonfire-networks/bonfire-app933 Tier B · 50 pts
#2049Opened 2 months ago
Feature Proposal: unfollow all

Both at a user level and instance level, can be useful when wanting to stop using, archive, or shut down a profile or entire instance. related to #1600

Good first issue
wintermeyer/vutuv337 Tier S · 78 pts
#789Opened 2 months ago
Complete the Spanish (es) translation: UI, mails, error pages

TL;DR Ship a complete Spanish (es) interface: Gettext catalogs, both email bodies per mail, and the places that still hardcode en/de. How: docs/architecture/i18n.md has the surfaces, the traps and the step-by-step checklist. Follow it; this issue only names what is specific to Spanish. Scale: 3,933 UI messages plus 69 error messages, 28 mails × 2 bodies, 2 help pages, 253 country names. Spanish-specific Numbers: Spanish groups thousands with . and takes , as the decimal mark, like German. delimited_count/1 currently splits de against everything else. Register: formal usted, matching the German Sie. Endonym for @language_names: Español. Done when choosing Spanish shows the UI, flashes, error pages and every transactional mail in Spanish, with Spanish number and date conventions rather than the English fallback. An AI agent wrote this text in my name. I know that is problematic.

help wantedFeature Request
1

Top Elixir Repositories with Beginner Issues (20)

Updated Daily via GitHub GraphQL
wintermeyer
vutuv
wintermeyer/vutuv
SElite
337·Elixir

vutuv is a social network. Think of it as a fast, secure and less annoying open-source alternative for LinkedIn, Facebook and X.

#linkedin#social-network
92%
Merge Rate
14h
Review Time
33%
1st-Timers
2 GFI
Scorecard
beyond-all-reason
teiserver
beyond-all-reason/teiserver
SElite
102·Elixir

Middleware server for online gaming

91%
Merge Rate
1d
Review Time
81%
1st-Timers
15 GFI
Scorecard
nerves-hub
nerves_hub_web
nerves-hub/nerves_hub_web
SElite
269·Elixir

Manage your Nerves device fleet, including firmware updates, health reports, and interactive device consoles.

#buildroot#elixir#iot
87%
Merge Rate
23h
Review Time
88%
1st-Timers
3 GFI
Scorecard
www-zaq-ai
zaq
www-zaq-ai/zaq
SElite
65·Elixir

Connect your people, tools and data with your custom AI agents. ZAQ is an open source collaborative and sovereign agentic operating system

85%
Merge Rate
23h
Review Time
29%
1st-Timers
6 GFI
Scorecard
DROOdotFOO
raxol
DROOdotFOO/raxol
SElite
73·Elixir

Write one app, render it to a terminal, a browser, or as agent tools. The terminal for your Gundam.

#ai-agents#beam#distributed-systems
93%
Merge Rate
8d
Review Time
50%
1st-Timers
15 GFI
Scorecard
expert-lsp
expert
expert-lsp/expert
AWelcoming
2.0k·Elixir

Official Elixir Language Server Protocol implementation

#elixir#language-server-protocol#lsp
89%
Merge Rate
17h
Review Time
100%
1st-Timers
1 GFI
Scorecard
etalab
transport-site
etalab/transport-site
AWelcoming
235·Elixir

Rendre disponible, valoriser et améliorer les données transports

90%
Merge Rate
3d
Review Time
100%
1st-Timers
1 GFI
Scorecard
ash-project
ash_ai
ash-project/ash_ai
AWelcoming
188·Elixir

Structured outputs, vectorization and tool calling for your Ash application

88%
Merge Rate
21h
Review Time
100%
1st-Timers
1 GFI
Scorecard
dwyl
phoenix-liveview-chat-example
dwyl/phoenix-liveview-chat-example
BSolid
162·Elixir

💬 Step-by-step tutorial creates a Chat App using Phoenix LiveView including Presence, Authentication and Style with Tailwind CSS

#auth#authentication#chat
71%
Merge Rate
7h
Review Time
100%
1st-Timers
1 GFI
Scorecard
glific
glific
glific/glific
AWelcoming
221·Elixir

The Main application that provides the core interface via the glific APIs

#elixir#graphql#postgres
80%
Merge Rate
5d
Review Time
78%
1st-Timers
3 GFI
Scorecard
dwyl
hits
dwyl/hits
BSolid
451·Elixir

:chart_with_upwards_trend: General purpose hits (page views) counter

78%
Merge Rate
4d
Review Time
100%
1st-Timers
3 GFI
Scorecard
OpenFn
lightning
OpenFn/lightning
BSolid
295·Elixir

Lightning ⚡️ is latest version of the OpenFn platform, a DPG and DPI building block that governments use to manage complex service/workflow automation and data integration projects.

#dpg#dpi#elixir
73%
Merge Rate
6d
Review Time
56%
1st-Timers
1 GFI
Scorecard
carverauto
serviceradar
carverauto/serviceradar
BSolid
909·Elixir

Open-Source Network Management, Monitoring, ITOM, and Security Analytics

#armis#homelab#monitoring-tool
24%
Merge Rate
10h
Review Time
0%
1st-Timers
1 GFI
Scorecard
pass-agent
loomkin
pass-agent/loomkin
BSolid
179·Elixir

What if AI agents could form teams as fluidly as humans? Spawn specialists in milliseconds, share discoveries in real-time, review each other's work, and remember everything across sessions. Watch it all unfold in a live mission control UI. Open source.

#ai-agents#beam#elixir
92%
Merge Rate
-
Review Time
100%
1st-Timers
1 GFI
Scorecard
bonfire-networks
bonfire-app
bonfire-networks/bonfire-app
BSolid
933·Elixir

Bonfire - tend to your digital life in community. Customise and host your own online space and control your experience at the most granular level.

#activitypub#decentralized#elixir
67%
Merge Rate
6d
Review Time
100%
1st-Timers
2 GFI
Scorecard
sorentwo
braintree-elixir
sorentwo/braintree-elixir
BSolid
103·Elixir

:credit_card: Native elixir client for Braintree

#braintree#elixir#payment-processing
40%
Merge Rate
-
Review Time
0%
1st-Timers
2 GFI
Scorecard
dwyl
learn-elixir
dwyl/learn-elixir
BSolid
1.7k·Elixir

:droplet: Learn the Elixir programming language to build functional, fast, scalable and maintainable web applications!

#beginner#beginner-friendly#elixir
-
Merge Rate
-
Review Time
0%
1st-Timers
1 GFI
Scorecard
dwyl
quotes
dwyl/quotes
BSolid
347·Elixir

💬 a curated list of quotes that inspire action + code that returns quotes by tag/author/etc. 💡

#elixir#json#quotes
100%
Merge Rate
23h
Review Time
0%
1st-Timers
1 GFI
Scorecard
maennchen
crontab
maennchen/crontab
DRisky
101·Elixir

:alarm_clock: Parse Cron Expressions, Compose Cron Expression Strings and Caluclate Execution Dates.

#cron#crontab#elixir
-
Merge Rate
-
Review Time
0%
1st-Timers
2 GFI
Scorecard
quantum-elixir
quantum-core
quantum-elixir/quantum-core
DRisky
2.4k·Elixir

:watch: Cron-like job scheduler for Elixir

#cron#crontab#crontab-format
-
Merge Rate
-
Review Time
0%
1st-Timers
6 GFI
Scorecard

How to make your first Elixir open-source pull request

Finding approachable Good First Issues in Elixir allows you to build real-world software engineering experience. Instead of submitting PRs to abandoned repositories, GetMerged verifies maintainer review speeds and first-timer acceptance rates before you write a single line of code.

Select any issue above to claim it directly on GitHub, or click a repository to inspect full maintainer review turnaround metrics and triage guidance!

Get this week's top welcoming repos + fresh Good First Issues for Elixir

Free weekly email, scoped to Elixir. No account needed - confirm once and unsubscribe anytime.

Best Elixir Good First Issues | GetMerged