Show HN: Seastar – Build and dependency manager for C/C++ with Cargo's features

23 AI314159 13 6/15/2025, 7:36:32 PM github.com ↗
Hi hackers!

I'm a self-taught solo teenage dev working on Seastar, a unified build system and dependency manager for C and C++. It is capable of compiling and linking projects, managing recursive dependencies and headers, and even has a template system -- your C++ library is one `seastar new mylib --lang c++ --lib` away! Also, everything is configured in TOML, because TOML is awesome.

C is one of my favorite languages, but I usually end up writing stuff in Rust because I love Cargo. Unlike C, Cargo handles the dependencies, linking, globbing, and so much more for you. So I wrote Seastar to give that function in C and C++.

What's planned? A package registry like crates.io, compatibility with CMake projects, commands to migrate, and so much more. If you have more ideas, please give them!

I am trying to reach 150 stars by the end of summer, and thus a star would be greatly appreciated! This project is still in development, and a star helps out a ton.

Comments (13)

throwaway70985 · 3m ago
> Seastar is very simple to build and run. Assuming you have Cargo and Rust installed

Guess I'll just stick to CMake.

hedora · 10m ago
Depending on what you’re targeting, you might prioritize compatibility with debian packages over cmake.

Cmake is a hot mess, but gets you windows compatibility.

Debian would work better with the lion’s share of open source c / c++.

scuol · 1h ago
Highly recommend you rename because of a name clash with an existing famous C++ framework: https://seastar.io/
AI314159 · 1h ago
Thank you for the tip! Yeah, I was probably gonna rename either way, funny I didn't find that when Googling...
mryall · 1h ago
Looks like a great start. Using Rust and TOML configuration are good choices.

With a project like this where there are many (many) existing attempts to solve it, I think it helps to take a hard look at what exists today and design your solution to solve a specific problem you see.

Then you can pitch it that way to your first adopters too - something like “Basel, but with easier deps” or “CMake, but with config humans can understand”.

AI314159 · 55m ago
Thanks, that's great advice! I'll consider it. I've been meaning to update the readme for a while now, so this just gives me an excuse to do so. I think the most important thing to work on right now is compatibility. Obviously, people like OpenCV or Vulcan aren't going to switch, and so it should at least be easy for those who do to make the switch.
gavinray · 35m ago
Not to be confused with Scylla DB's "Seastar" C++ non-blocking event driven server SDK

https://github.com/scylladb/seastar

AI314159 · 28m ago
I know, others have mentioned it as well. Seastar is a temporary name I forgot to change, and if you have any suggestions, feel free to provide them!
dmead · 1h ago
Just a comment on the name. Seestar, C* are already things that exist. You may want to think up something different.
AI314159 · 1h ago
Thanks! I always have trouble coming up with names (any suggestions would be awesome), so I often end up giving temporary names, and then forget to rename :/
revskill · 1h ago
How did people live without this for c projects is beyond my imagination.
motorest · 1h ago
> How did people live without this for c projects is beyond my imagination.

They didn't. Things like Conan and vcpkg exist for almost a decade by now.

Also, on any OS under the sun except Windows, the system's package manager is C's and C++'s package manager. These C package managers called deb or rpm are older than half the people posting here.

AI314159 · 51m ago
This, also my goal wasn't necessarily to replace existing tools, but to fill a gap. "If it isn't configured in TOML it isn't worth using" is something that I've heard, whether or not you agree. As for system packages, version conflicts do happen. My goal wasn't to replace existing build systems, or replace existing package managers, but to combine them. It isn't very good in its current state, but by combining two essential tools into one, I hopefully make it easier.