Shuck
a fast shell linter written in Rust
Get picks like this daily. Today's launch numbers, the top launches, AI and tech news, and a daily opportunity pick, straight to your inbox.
Want to reach these readers? Sponsor an issue.
I’ve been working on shuck, a shell script linter written in Rust.ShellCheck is excellent project and set the bar for this space. However, it's very slow and take up a far amount of resources. shuck is conservatively 20x faster than shellcheck and uses a fraction of the resources. shuck currently supports sh, bash, dash, ksh, mksh, and zsh.shuck should mostly be a drop in replacement for shellcheck but it is not a port since shellcheck is GPL. It is s clean-room implementation with its own parser and analysis engine, so behavior may differ in some cases. shuck is tested against shellcheck on a large number of open source projects with a lot of shell scripts and has very few variations.That said, I’ve tried to make migration easy: 1) shuck supports ShellCheck-style suppression 2) you can run shuck in shellcheck compatibility mode where it has all the same CLI args and output.This is still early, and I’d especially love feedback from people who maintain large monorepos, CI-heavy projects, or lots of shell scripts. I’m interested in places where ShellCheck compatibility matters, places where it does not, and which classes of shell bugs people most want lint/fix support for next.
HN · launched Apr 30, 2026 · 8 upvotes (top 52%) · 0 views
Niche: code and binary analysis tools · 118 launches, 4 in the last 7 days ▼ -56% · Explore this niche →
Category and tags
- Horizontal
- Dev tools
- Developer
- Not AI
- Hobby / open-source project
Visit website ↗ Source listing ↗
More like this: all 118 launches in code and binary analysis tools →
Could you build this?
No Building a high-performance shell script linter in Rust that outperforms ShellCheck requires deep expertise in formal grammars, POSIX shell semantics, AST construction, and systems-level optimization.
What it would actually take: The project requires writing an incremental, resilient parser for POSIX/Bash syntax in Rust, paired with a semantic analysis engine that executes hundreds of specialized lint rules against AST and control-flow graphs. The primary difficulty lies in the notoriously complex, context-dependent syntax of shell scripts and edge-case handling across different shell dialects. It demands specialized compiler engineering and systems programming expertise.
Discussion
1 comment analyzed.
Competitors mentioned: Sublime
Concerns raised: Unusual commit velocity (1,163 commits in 3 weeks by one person)
Competitors
Other products that read as similar to this one : 353 launches clear the similarity bar, closest 8 shown.
Attention rank: #183 of 354 (itself plus its competitors, highest first, normalized so YC and Product Hunt are compared fairly).
Launched 182 days after the earliest competitor.
- Grsh · hn · 2026-01-14 · 50 upvotes · similarity 0.60
- shellstrict · github · 2026-09-28 · 30 upvotes · similarity 0.56
- Kosh · hn · 2026-08-28 · 7 upvotes · similarity 0.56
- Hurry · hn · 2025-12-22 · 11 upvotes · similarity 0.50
- luish · ph · 2026-10-27 · 1 upvotes · similarity 0.49
- CodeDiff · hn · 2026-09-29 · 7 upvotes · similarity 0.47
- Afterburner · hn · 2026-06-14 · 6 upvotes · similarity 0.46
- Jitzu · hn · 2026-02-17 · 6 upvotes · similarity 0.46
The niche, labels, vibe code rating and competitor comparison on this page are analysis by Nicheloom. If you use them, please credit nicheloom.com. How you may use our data.