Good First Issues in Shell
Explore curated starter issues in high-scoring Shell repositories. Every listed issue belongs to a welcoming repository scored by C-Rank™ on PR merge rates, review responsiveness, and first-timer acceptance.
Arm Issue Sniper for fresh Shell 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 IssuesWhat happened? Board: FriendlyElec CM3588 NAS (RK3588), Armbian community image, kernel 6.18.44-current-rockchip64 (prebuilt image, not built locally). patch/kernel/archive/rockchip64-6.18/rk35xx-montjoie-crypto-v2-rk35xx.patch (also in 6.12 and 7.3) registers every rk_crypto2 algorithm with cra_priority = 300, the same priority as the ARMv8 Crypto Extensions drivers (xts-aes-ce, sha256-lib). Being registered later, the rk_crypto2 engine wins: with the module loaded at boot (CONFIG_CRYPTO_DEV_ROCKCHIP2=m, node crypto@fe370000 enabled), /proc/crypto lists xts-aes-rk2 first for xts(aes), and every new dm-crypt mapping uses it. The engine serves one request at a time, each with a DMA round trip, so it is much slower than the cores: dm-crypt, aes-xts-plain64, NVMe rk_crypto2 cores (xts-aes-ce) 1 GiB direct read through dm-crypt 125 MB/s 588 MB/s LUKS + Btrfs, write 60 MB/s 187 MB/s LUKS + Btrfs, read 111 MB/s 425 MB/s SHA-256 through AF_ALG, 4 KiB requests 1 process 8 proc
Which feature would you like to have? Firefly AIBOX-K3 Board Support Request Hi, Armbian community! This is my first time writing issue here, and my understanding of embedded hardware is not very high(Actually very low) sorry 🙏 I would like to propose adding support for the Firefly AIBOX-K3, based on the SpacemiT Key Stone K3 SoC, to Armbian. I have successfully built an Armbian image using the existing spacemit-k3 board family and booted it on the actual AIBOX-K3 hardware. The initial implementation requires only a board specific configuration, without modifications to the existing spacemit-k3 family or additional kernel/Device Tree patches. Tested configuration The AIBOX K3 I tested uses the following configuration SoC: SpacemiT Key Stone K3 (RISC-V) Boot firmware: Existing Firefly OpenSBI/U-Boot in SPI NOR Boot storage: UFS UFS logical sector size: 4096 bytes Partition table: GPT Boot partition: FAT, starting at 12 MiB, size 256 MiB Root partition: ext4, starting at 268 MiB Devi
Describe the bug With PR #2151 we introduced new tests to verify the working of all binary detection rules that are located here https://github.com/e-m-b-a/emba/tree/master/config/bin_version_identifiers To ensure the tests are as good as possible we are trying to build this test-corpus from real-world binary data. To be able to do this we need to find the original firmware with the original binaries to create the corpus data. Currently we already re-created around 300 testfiles for 300 rules. Nevetheless, many tests are currently missing: To make the creation process as easy as possible, EMBA is now automatically creating the identified corpus file on every testrun in the log directory s09_firmware_base_version_check/binary_corpus_tmp. If you are running a firmware scan with the latest EMBA version and you get files in this directory you can directly initiate a PR here How to help? Use the following steps: EMBA installation (default mode) Run a EMBA test with your firmware and the f
Is this a new request? I have checked that this app does not already have a pending request, has not previously been declined and does not already exist in deb-get. App Name opentabletdriver Download URL https://github.com/OpenTabletDriver/OpenTabletDriver/releases/download/v0.6.7/opentabletdriver_0.6.7-1_x64.deb Website URL https://opentabletdriver.net/ App Summary Open source, cross-platform, user-mode tablet driver
What happened? Since 0ab7e3d ("bsp: ship sysctl defaults and Provide linux-sysctl-defaults"), every RELEASE=jammy image fails when the board support package is installed into the rootfs: dpkg: error processing archive /root/armbian-bsp-cli-smartpi1-current_26.11.0_armhf__1-PCa4d1-V08e3-H9299-B0cfe-Rc5ba.deb (--unpack): trying to overwrite '/usr/lib/sysctl.d/50-default.conf', which is also in package systemd 249.11-0ubuntu3.22 E: Sub-process /usr/bin/dpkg returned an error code (1) Error context msg [ Installation of /root/armbian-bsp-cli-smartpi1-current_26.11.0_armhf__... failed smartpi1 jammy no sunxi ] Error 1 occurred in main shell at /armbian/lib/functions/rootfs/apt-install.sh:107 The BSP declares Replaces: linux-sysctl-defaults, which is the owner of that file on recent releases. On Ubuntu 22.04 the file still belongs to systemd itself (249.11), and there is no Replaces for that, so dpkg refuses the overwrite. Other releases build fine (bookworm, trixie, forky, noble, bullseye
Outreach Opportunity Type: contributor-onboarding Target: Hacktoberfest 2026 (Oct 1–31) Strategic Priority: Community-funnel tier 2 (ADOPTION-METRICS.md) Related: Q4-ADOPTION-PLAN.md (lever: #1537) Overview Hacktoberfest 2026 is a proven funnel for converting first-time contributors into sustained community participants. TunaOS's first external human contributions merged on 2026-08-14 (docs#234, docs#239), validating the fork→PR onboarding loop end-to-end. The Q4 adoption plan targets: 09-15: 15–20 usable "good first issue" (GFI) seeded across ≥6 repos 10-01: Hacktoberfest launch + curated GFI live 10-31: ≥10 merged PRs from new contributors (conversion target) Current Status Tracker: #1537 (Hacktoberfest tracker) Date: Seeding deadline 09-15 (T-39 days from 08-14 checkpoint) Evidence baseline: COMMUNITY.md documents contribution ladder and fork→PR loop; docs-repo proves end-to-end conversion Deliverables Per tracker #1537, seeding requires: Audit all TunaOS org repos (
What happened? On Orange Pi 5 with Armbian 26.8.1 (Ubuntu 26.04, kernel 6.18.43-current-rockchip64), armbian-install was used with: Boot from SPI - system on SATA, USB or NVMe The installation to NVMe completed, but the board could not boot from SPI -> NVMe. Comparing the SPI contents showed that armbian-install had flashed the SATA-specific U-Boot image: NO MATCH: u-boot-rockchip-spi.bin MATCH: u-boot-rockchip-spi-sata.bin How to reproduce? Boot Armbian 26.8.1 for Orange Pi 5 from SD. Run armbian-install. Select Boot from SPI - system on SATA, USB or NVMe. Choose an NVMe drive as the target. Complete the installation and try to boot with the SD card removed. The board fails to boot from NVMe. Compare /dev/mtd0 against the two SPI images: DIR=/usr/lib/linux-u-boot-current-orangepi5 for f in "$DIR"/u-boot-rockchip-spi*.bin; do size=$(stat -c %s "$f") if sudo cmp -s -n "$size" "$f" /dev/mtd0; then echo "MATCH: $(basename "$f")" else echo "NO MATCH: $
Goal ADOPTION-METRICS.md defines a monthly-snapshot KPI system for Q4 2026 "Mature" goal, with the first snapshot due November 1, 2026 (covering October activity). This snapshot feeds roadmap decisions and demonstrates Q4 adoption progress. Current blockers: GitHub Releases download counts: waiting on non-GNOME flavor asset publishing (pending #1254 parity PR) R2/Cloudflare access-log dashboard: not yet enabled (owner: ci-maintainer) Docs site analytics: not yet instrumented (owner: guide) Snapshot content and ownership assignment: not yet scheduled What Needs to Happen (by Nov 1) Data collection (prerequisite) GitHub Releases API (free, can start now): Verify that all five flavor flavors (Yellowfin, Albacore, Skipjack, Bonito, Redfin) publish assets Baseline the download count per flavor×desktop (top 10, if volume allows) Confirm asset publishing is stable for the Oct 1–31 window R2 access logs + Cloudflare dashboard (medium lift): Enable access logging on R2 (tunaos.org/d
Problem COMMUNITY.md publicly claims "Hacktoberfest 2026: We are participating!" and links to good-first-issue search. As of Oct 6, the pool contains only 6 contributable tasks across 2 repositories (#1798–#1800 in tunaOS, #231 and #275 in docs). Launch requirements (per HACKTOBERFEST-2026.md): 10–15 good-first-issue tasks Across 3+ repositories None should dominate (no single repo >50%) Current reality: 6 tasks (40% below minimum) 2 repos (third needed) tunaOS dominates at 50% This gap makes the public claim in COMMUNITY.md false advertising. New contributors following the banner find an empty pool and a poor onboarding experience — exactly what the Hacktoberfest plan exists to prevent. Solution Seed 4 additional starter-task issues in two underrepresented repositories before October 1: Option A: Corral (Kubernetes-native VMs — approachable for container/K8s-familiar contributors) Issue 1: "Add GitHub Actions workflow for unit tests" (bounded, new-contributor-friendly) Is
Task description Goal Provide a reproducible technical handoff for experimental Sony IMX219 camera support on Orange Pi 4A (Allwinner T527 / sun55i-A523 family), get maintainer feedback on the correct Armbian/upstream path, and prepare the work for a later cleaned submission after validation against the Linux/Armbian 7.3 generation. Project repository: https://github.com/nickslkr/orangepi-4a-imx219 Technical handoff: https://github.com/nickslkr/orangepi-4a-imx219/blob/main/docs/ARMBIAN_HANDOFF_2026-10-04.md Current working state The camera pipeline is operational on the tested Orange Pi 4A system. Hardware path: Sony IMX219 -> A523/T527 MIPI2 receiver / D-PHY2 -> Allwinner CSI parser / capture engine -> /dev/video0 -> RAW10 / RG10 1920x1080 The production userspace path is: /dev/video0 RG10 -> OpenCL debayer + YUV conversion on Mali-G57 via Rusticl/Panfrost -> YUV420 -> v4l2loopback /dev/video10 -> uStreamer The stable production target used during testing is app
Is your feature request related to a problem? Please describe. Neither my file manager nor my old SSD like the countless small files appearing and vanishing in quick succession (it crashes). Also makes it hard to find the video to watch while the other episodes are still downloading. Which is why i would like to move the path of the temporary fragments to XDG_RUNTIME_DIR or /tmp. Describe the solution you'd like A cli parameter or environment variable or config option Describe alternatives you've considered Creating a wrapper that first moves there, then the done downloads here. But that's a hack. Additional context Looks like the script uses yt-dlp, so there it would be the -P/--paths option i think? If so, you can just pass that through.
We have historical recovery measurements, but contributors cannot run the current file-only recovery protocol from a repository clone. docs/evals.md:253 correctly states that the earlier 5.0 versus 13.3-turn result used transcript catchup and has not been re-run for current project-file-only automatic recovery. At docs/evals.md:273, the harness and all 77 raw run directories are described as living in a separate benchmark workspace. The README repeats the measurement limitation at line 728. A small public recovery fixture would let contributors test the current behavior on their own harness and report comparable results. The first contribution can stay under examples/ and docs/, with no hook, installer or dependency changes. Proposed scope: A disposable task with objective checks, an explicit halfway checkpoint, and a recorded phase and next step. Exact setup, interruption, fresh-session and grading commands. Pinned skill commit or release, host version, model, tested OS and invocatio
The Codex opt-out instructions describe a permission response that the registered adapter does not emit. docs/codex.md:142-145 says that with PLANNING_DISABLED=1, PreToolUse still emits its allow decision so tool calls proceed normally. The registered Python entry point .codex/hooks/pre_tool_use.py:13-14 instead returns when the session is disabled. .codex/hooks/codex_hook_adapter.py:196-197 implements that opt-out by returning false from is_session_attached. The Python adapter also deliberately filters ordinary shell allow responses at .codex/hooks/pre_tool_use.py:24-28. I ran the registered Python entry point with PLANNING_DISABLED=1 and a temporary project containing an incomplete plan. The input was a JSON PreToolUse event with the fixture cwd and a session ID. Observed result on current HEAD: {"entry":".codex/hooks/pre_tool_use.py","disabled":true,"rc":0,"stdout":"","stderr":""} The shell helper .codex/hooks/pre-tool-use.sh:6-8 does emit an allow object when called directly, but t
The manual instructions still describe a fallback that the resolver intentionally refuses. In v3.22.0, the manual /plan-goal steps tell the agent to select PLAN_ID, then .active_plan, then the newest named plan, then the root plan. The topic-handoff guide repeats this sequence. The skill's opening instructions correctly require a selector when several live named plans exist. The resolver also refuses ambiguous selection. An agent following the manual fallback could bypass that protection and choose another task. Verified behavior On commit dab9d16: python -m pytest tests/test_resolve_plan_dir.py -q -k multiple_live_plans_refuse_newest_fallback 1 passed, 12 deselected The test creates two named plans, gives one a newer modification time, and confirms that the resolver selects neither without an explicit pin. The implementation should keep this behavior. A useful first contribution Make the manual workflow use the installed resolver with PLAN_ID and PWF_PLAN_ROOT, stopping recovery whe
Is this a new request? I have checked that this app does not already have a pending request, has not previously been declined and does not already exist in deb-get. App Name Limusic Download URL https://github.com/SimoHypers/limusic/releases Website URL https://simohypers.github.io/limusic/ App Summary Limusic is a lightweight desktop player for YouTube Music. Search anything, hit play, and listen without ads. Your playlists, your library, your own files, synced lyrics and friends listening along, in a window that opens instantly. Limusic talks directly to YouTube's internal API and plays audio through libmpv: no bundled browser runtime, no backend server, no ads in the audio. It started as a desktop rebuild of the playback engine behind Metrolist, an Android YouTube Music client, and grew from there. Tauri + Rust + SvelteKit, ad-free playback through libmpv, Last.fm scrobbling and Discord Rich Presence, no Electron. Has been added and starred at FMHY: https://fmhy.net/posts/oct-20
See #1234 Zizmor fails because it now has some new rules that we do not follow. Update the workflows so that it passes. You need to update zizmor in the same PR to see that it really works. /triage accepted /help
Source: pantry/2026-09-30-pantry-queue.md, atom #1. Menu: pantry/MENU.md. How to contribute: CONTRIBUTING.md in this repo (Ways to contribute). Done when advanced/mcp-servers/chrome-devtools/README.md exists, so the README's "Set up Chrome DevTools MCP" link resolves; it gives a claude mcp add command for chrome-devtools-mcp whose flags match claude mcp add --help and the upstream client guide, and one worked loop (the prompt, the screenshot step, the fix) that names the mcp-integrations:browser-devtools-mcp skill Verify on repo. Verify skill in repo: none in repo Evidence Map: Chrome DevTools MCP, OneRedOak design review. Matrix: Checks the rendered page in a browser (Us P). X: gmchande, AnandChowdhary, marcospereeira, shao__meng Take this Anyone can take this. Comment that you are on it, then open a pull request that says Closes #<this issue>. CI validates every plugin and runs a clean install on your PR. Questions are welcome in this repo's Discussions. Rules Any branch (default me
The kit no longer ships .claude/rules/, but some loops still list it. They're harmless because of [ -d ] guards, but they read like an oversight. Location Can change? install.sh:165 (find ... "$R/.claude/rules" ...) yes install.sh:190 (for dir in agents skills rules commands bin) yes .claude/bin/update.sh:171 (find agents commands rules skills ...) yes .claude/bin/update.sh:74 (UPDATE_DIRS="agents skills rules commands bin") no: inside the frozen lines 1–93 (see the NOTE at line 94). Editing it breaks self-update for existing installs. Leave it. After editing, run bash validate.sh && bash tests/run_all.sh and test install.sh in both modes in a temp directory.
Menu atom ui-commands-plugin on this repo's Menu (pantry/MENU.md, arriving with #9). Its Done-when below is what a pull request is checked against. What .claude/commands/ (ui-critique, ui-modern, ui-responsive, ui-review, ui-synth) and .claude/agents/synthesis-master.md sit outside every plugin, so /plugin install never delivers them. Done when A new plugins/<name>/ holds ui-modern, ui-critique, ui-responsive, ui-review, ui-synth and the synthesis-master agent, each with a routing description; claude plugin validate --strict plugins/<name> passes; after a clean-config install, claude plugin details <name>@libreuiux lists all six; the root .claude/ files stay where they are; advanced/slash-commands/README.md exists and documents both install paths Take this Anyone can take this. Comment that you are on it, then open a pull request that says Closes #<this issue>. CI validates every plugin and runs a clean install on your PR. Questions are welcome in this repo's Discussions. New here? Se
What: the README links advanced/mcp-servers/chrome-devtools/ and advanced/slash-commands/, and neither exists. Done when: advanced/mcp-servers/chrome-devtools/ explains connecting a Chrome DevTools MCP server with claude mcp add and using it with the UI agents for live inspection, and advanced/slash-commands/ explains writing a command in a plugin (commands/<name>.md with frontmatter). Every command shown is checked against claude --help / claude mcp add --help. The README links resolve. New here? See CONTRIBUTING.md. Comment that you are taking this, then open a pull request that says Closes #<this issue>. CI validates the plugins and runs a clean install on your PR. Tracking: this issue spans two atoms on the Menu (pantry/MENU.md, arriving with #9): browser-loop-guide (the Chrome DevTools MCP guide) and ui-commands-plugin (which also writes advanced/slash-commands/README.md, see #8). If you take one part, say which, and its Menu issue will point back to your PR.
Menu atom case-studies on this repo's Menu (pantry/MENU.md, arriving with #9). Its Done-when below is what a pull request is checked against. What the README links intermediate/examples/saas-dashboard/ and intermediate/examples/ecommerce-product/, and neither folder exists. Done when intermediate/examples/saas-dashboard/README.md and intermediate/examples/ecommerce-product/README.md exist, so both "See full case study" links resolve; each shows the exact prompts, the template or design-system file it started from, and before and after code or screenshots a reader can reproduce with the plugins it names Take this Anyone can take this. Comment that you are on it, then open a pull request that says Closes #<this issue>. CI validates every plugin and runs a clean install on your PR. Questions are welcome in this repo's Discussions. New here? See CONTRIBUTING.md. Comment that you are taking this, then open a pull request that says Closes #<this issue>. CI validates the plugins and runs a c
Device Name Redmi Note 11 Device Codename spes/spesn ROM Name CrDroid ROM Version 12.11 Android Version 16 Kernel Source Link https://github.com/muralivijay/kernel_xiaomi_spes Kernel Source Branch main-a16-sm8250-base Kernel Version 4.19.325
In config/bootscripts/boot-rockchip64-ttyS0.cmd (lines 50-61) every overlay and user overlay is applied with fdt apply to the one fdt_addr_r buffer, and a failure only sets overlay_error. At lines 62-64 any single failure reloads the pristine DTB, so all the other selected overlays are silently dropped for that boot (related to the spidev complaint in #8023). The other boot-*.cmd files that use fdt apply appear to share the same structure. Found by reading the scripts, not run on hardware; applying each overlay to a saved copy and keeping it only if it applies cleanly would avoid this.
Is this a new request? I have checked that this app does not already have a pending request, has not previously been declined and does not already exist in deb-get. App Name Meta Package Manager Download URL https://launchpad.net/~kdeldycke/+archive/ubuntu/mpm Website URL https://mpm.run App Summary Unified command line for every package manager on the machine: list, search, install, upgrade and remove packages through all of them at once. I maintain it, and I publish the meta-package-manager package in this PPA.
Extraneous hyphen on line 369. -tee: command not found ni=$(sudo apt-get install "nodejs$t" "npm$t" -y 2>&1 | tee -a $logfile) Also begs the question is the pipe redundant? I was able to work around this but thought I'd share
danger_alice BOT Running ableton on Linux on: ableton 12.4 Fedora linux 44, KDE Plasma Destkop Edition <:fedora:1537772759537418371> Wayland with NVIDIA 4080 and "nonfree" drivers installed I'm able to adjust the scaling of most of the UI using control-plus/control-minus, but am not able to control the scaling of the menus, which show up super tiny. Using 2026.08.30.1 (latest) release of ableton-on-linux. This is sort of a "noob" question, and I've tried reading some of the install notes, and previous issues. Didn't see an exact match. I'm pretty inexperienced with WINE. What file should I edit to override the scaling feature here? Thanks in advance, and sorry if this is already answered elsewhere
What should be patched? This would allow GTK3 to have global menus on wayland. Even if GTK4 gets this, it will not be backported to GTK3 https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/493 Screenshots No response Commits https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/9780 Here is the GTK4 implementation PR
We're still using Wine 9.9. The latest version today is 11.18, which has a lot of improvements compared to the version we're using. This is especially relevant to be able to get native bluetooth support working in the netbrain/zwift container in the future. I have made en attempt in glennvl#14 to get the latest Wine version to work, but I am stuck. Since Wine 10.17, EGL is used by default as backend for OpenGL instead of GLX, and some changes were made to GLX too. I can't seem to figure out how to make EGL play nice with nvidia. Native wayland does not work anymore (not limited to nvidia) EGL works with both docker and podman, but only if I add a platform config file GLX works with both docker and podman So, this is a call for help to anyone with more knowledge than I do about nvidia, wayland, glx, egl, opengl, ..., or with the willingness to try to figure things out. If you want to try this out and report your findings with (integrated or discrete) intel or amd graphics cards that w
Design Community Engagement Opportunity TunaOS has 12 distinct variants (Yellowfin, Albacore, Bonito, etc.) but ships with generic backgrounds. This is a low-barrier entry point for designers and artists. Opportunity Creative contributions (wallpapers, themes, variant logos) have zero technical barrier — designers new to open source can participate without code. This broadens contributor base beyond developers. Proposal Create design directory structure — docs/design/wallpapers/{variant}/ Design brief — simple template: variant name, mascot, theme direction, color palette Submission guidelines — format, licensing (CC0), attribution Showcase — link from README and tunaos.org Scope: 12 Variants 🐠 Yellowfin (AlmaLinux Kitten) 🐟 Albacore (AlmaLinux 10) 🍣 Skipjack (CentOS Stream 10) 🎣 Bonito (Fedora 44) 🐦 Hummingbird (Fedora) 🎏 Wahoo (Fedora ELN) 🔒 Redfin (RHEL 10) 🪸 Grouper (Ubuntu 26.04) 🤖 Gurnard (Ubuntu 24.04) 🚀 Marlin (Arch Linux) 🐡 Flounde
Problem When several init-session.ps1 "<name>" runs start at the same moment in one project, an occasional run still exits 1 with: Error: the active plan pointer must be a regular file within the project. The check comes from the pointer pre-check in scripts/set-active-plan.ps1 (lines 348 to 352 in v3.20.8), which runs before the replacement loop: $activeItem = Get-Item -LiteralPath $ActiveFile -Force -ErrorAction SilentlyContinue if ($activeItem -and -not (Test-SafeActiveFile)) { Write-Error "Error: the active plan pointer must be a regular file within the project." exit 1 } If another selector is in the middle of File.Replace at that moment, .planning/.active_plan can exist for Get-Item and be gone or unreadable for Test-SafeActiveFile a moment later. init-session.ps1 (lines 368 to 376) retries only the message the active plan pointer became unsafe during replacement, so this failure is final for that init. Measurements Windows 11, Windows PowerShell 5.1 and pwsh 7.6, rounds
Top Shell Repositories with Beginner Issues (20)
Updated Daily via GitHub GraphQLOverlay for Gentoo Users.
AppImage Package Manager: AppImage sandboxing, local and system installation, update all AppImages, an extensible database of AppImages and portable apps, lists for AppImages and other GNU/Linux binaries, integrate AppImages by drag/drop or install unlisted AppImages, conversion of old AppImage types... and more! Manage AppImages like never before!
The OS build system
Open-source cloud native platform that automates and simplifies the deployment of virtualization, Kubernetes, and OpenStack infrastructure.
Docker image that provides a Minecraft Server for Java Edition that automatically installs/upgrades versions, modloaders, modpacks and more at startup
AppImages That Truly Work On Any Linux System (Even musl-libc and non-FHS systems)
ClickBench: a Benchmark For Analytical Databases
The official build framework for the Armbian Linux distribution. This repository contains the complete toolchain and scripts required to compile custom OS images from source, including kernel configuration, U-Boot handling, and board-specific tweaks for various ARM and ARM64 single-board computers.
No repository description available.
Bringing a modern cloud-native experience to the Enterprise Linux Desktop
Container image to run OpenStack Ironic as part of Metal³
The ultimate productivity workstation
EMBA - The firmware security analyzer
Cross-vendor messaging for CLI AI coding agents — let Claude Code, Codex, Gemini & Copilot talk to each other in one team. Bash + SQLite, no daemon, no framework.
Cloud-Native distributed storage built on and for Kubernetes
A tool to unlobotomize your NVIDIA card!
oh-my-zsh for Claude Code — 16 agents, 35 commands, 32 skills, 21 safety hooks in one install. v4.0 adds an adversarial review loop: a second agent that never sees the first one's reasoning. MIT.
A comprehensive system configuration utility for Armbian. Running in the terminal, this tool provides an interactive menu to manage system settings, such as software installation, network configuration, firewall setup, and system tweaking.
Run Ableton 12 and Push on Linux
The BSD of the 21st century
How to make your first Shell open-source pull request
Finding approachable Good First Issues in Shell 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 Shell
Free weekly email, scoped to Shell. No account needed - confirm once and unsubscribe anytime.