frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: Cargo-rail: graph-aware monorepo tooling for Rust; 11 deps

https://github.com/loadingalias/cargo-rail
45•LoadingALIAS•4d ago

Comments

LoadingALIAS•4d ago
Hey. Author here.

I wrote a longer post about the motivation and design: https://dev.to/loadingalias/cargo-rail-making-rust-monorepos...

The Problem:

I've been working on a low-level Rust workspace for a while now. Before I knew it, my 'justfile' was over 1k lines and I had 30 shell scripts for testing. My dep graph was WAY too large. I couldn't easily split a single crates, or a few crates to release as OSS repos... I'd have had to use Google's Copybara (Java tooling or their GHA) or a mountain of 'git subtree' and filter scripts.

The Solution:

- Dependency Unification: I use Cargo's resolver output (not syntax parsing) to unify versions, compute MSRV, prune dead dependencies and features. Using 'pin_transitives=true' fully replaces cargo-hakari. The graph is lean across all target-triples w/ a single command. - Change Detection: The local/CICD 'affected' command is graph-aware. I only check/test/bench what changed, and 'test' is Nextest native. - Split/Sync: I use a canonical monorepo; then I extract crate/s with full git history into new repos w/ bi-directional sync and 3-way merge conflict resolution. - Release/Publish: Dependency-order publishing, changelog generation, tagging... but in 11 dependencies instead of hundreds.

Key Decisions:

- 11 core deps/55 resolved deps = minimal attack surface for supply-chain attacks - Multi-target resolution = 'cargo metadata --filter-platform' per target in parallel (rayon) means dead dependencies/features are actually dead - System git = your local 'git' binary directly for deterministic SHAs (JJ compatibility is native, obviously). - Lossless TOML = 'toml_edit' preserves comments and manifest formatting

Tested On:

- tikv, meilisearch, helix, helix-db, tokio, ripgrep, polars, ruff, codex, and more. Forks with cargo-rail configured at github.com/loadingalias.

In my own workspace, change detection alone removed 1k LoC and dropped CI costs ~80% and my builds (especially cold) are quicker/leaner.

Happy to discuss the implementation.

phi-go•2h ago
This is very neat. I'll have to try it out to say more but thanks for open sourcing it.
paddy_m•4h ago
I love the listing the number of dependencies in the title. It tells me that serious engineering went into this. I will be incorporating this "feature" into READMEs of my own projects.

Hashcards: A plain-text spaced repetition system

https://borretti.me/article/hashcards-plain-text-spaced-repetition
158•thomascountz•4h ago•41 comments

The Typeframe PX-88 Portable Computing System

https://www.typeframe.net/
69•birdculture•3h ago•17 comments

Ask HN: What Are You Working On? (December 2025)

65•david927•4h ago•171 comments

Do dyslexia fonts work? (2022)

https://www.edutopia.org/article/do-dyslexia-fonts-actually-work/
20•CharlesW•1h ago•14 comments

JSDoc *Is* TypeScript

https://culi.bearblog.dev/jsdoc-is-typescript/
14•culi•1h ago•3 comments

Developing a food-safe finish for my wooden spoons

https://alinpanaitiu.com/blog/developing-hardwax-oil/
75•alin23•3d ago•40 comments

AI and the ironies of automation – Part 2

https://www.ufried.com/blog/ironies_of_ai_2/
178•BinaryIgor•7h ago•67 comments

In the Beginning Was the Command Line (1999)

https://web.stanford.edu/class/cs81n/command.txt
25•wseqyrku•6d ago•8 comments

Shai-Hulud compromised a dev machine and raided GitHub org access: a post-mortem

https://trigger.dev/blog/shai-hulud-postmortem
144•nkko•11h ago•81 comments

GraphQL: The enterprise honeymoon is over

https://johnjames.blog/posts/graphql-the-enterprise-honeymoon-is-over
106•johnjames4214•3h ago•79 comments

Price of a bot army revealed across online platforms

https://www.cam.ac.uk/stories/price-bot-army-global-index
30•teleforce•5h ago•3 comments

Stop crawling my HTML – use the API

https://shkspr.mobi/blog/2025/12/stop-crawling-my-html-you-dickheads-use-the-api/
96•edent•2h ago•89 comments

Illuminating the processor core with LLVM-mca

https://abseil.io/fast/99
46•ckennelly•6h ago•3 comments

GNU recutils: Plain text database

https://www.gnu.org/software/recutils/
25•polyrand•2h ago•0 comments

Linux Sandboxes and Fil-C

https://fil-c.org/seccomp
323•pizlonator•22h ago•125 comments

Standalone Meshtastic Command Center – One HTML File Offline

https://github.com/Jordan-Townsend/Standalone
31•Subtextofficial•5d ago•6 comments

Opus 4.5 is the first model that makes me fear for my job

https://old.reddit.com/r/ClaudeAI/comments/1pmgk5c/opus_45_is_the_first_model_that_makes_me_actua...
11•nomilk•29m ago•12 comments

Vacuum Is a Lie: About Your Indexes

https://boringsql.com/posts/vacuum-is-lie/
61•birdculture•7h ago•36 comments

Disk can lie to you when you write to it

https://blog.canoozie.net/disks-lie-building-a-wal-that-actually-survives/
14•jtregunna•2d ago•8 comments

Apple Maps claims it's 29,905 miles away

https://mathstodon.xyz/@dpiponi/115651419771418748
136•ColinWright•7h ago•116 comments

Compiler Engineering in Practice

https://chisophugis.github.io/2025/12/08/compiler-engineering-in-practice-part-1-what-is-a-compil...
87•dhruv3006•13h ago•13 comments

iOS 26.2 fixes 20 security vulnerabilities, 2 actively exploited

https://www.macrumors.com/2025/12/12/ios-26-2-security-vulnerabilities/
84•akyuu•4h ago•69 comments

More atmospheric rivers coming for flooded Washington and the West Coast

https://www.cnn.com/2025/12/12/weather/washington-west-coast-flooding-atmospheric-rivers-climate
28•Bender•2h ago•9 comments

Efficient Basic Coding for the ZX Spectrum

https://blog.jafma.net/2020/02/24/efficient-basic-coding-for-the-zx-spectrum/
39•rcarmo•9h ago•10 comments

Kimi K2 1T model runs on 2 512GB M3 Ultras

https://twitter.com/awnihannun/status/1943723599971443134
169•jeudesprits•8h ago•84 comments

Using e-ink tablet as monitor for Linux

https://alavi.me/blog/e-ink-tablet-as-monitor-linux/
241•yolkedgeek•5d ago•90 comments

Getting into Public Speaking

https://james.brooks.page/blog/getting-into-public-speaking
82•jbrooksuk•4d ago•31 comments

I fed 24 years of my blog posts to a Markov model

https://susam.net/fed-24-years-of-posts-to-markov-model.html
274•zdw•1d ago•109 comments

Show HN: Cargo-rail: graph-aware monorepo tooling for Rust; 11 deps

https://github.com/loadingalias/cargo-rail
45•LoadingALIAS•4d ago•3 comments

Recovering Anthony Bourdain's Li.st's

https://sandyuraz.com/blogs/bourdain/
285•thecsw•23h ago•129 comments