Hello o/
I would like to develop a package manager in c# to expand my knowledge about the language and more understand how package managers put together entire system.
so here are my questions:
- where should I start?
- do I invent my own pkg format or do I use pre built packages like deb or rpm? I think the later one will be more easier
- how do I setup my dev environment I am on Ubuntu and has installed VS Code and dotnet sdk
sorry it these questions feel too naive but I really think I can do this!
Thanks in advance!


I’ll cover item 1: start by writing a document, describing what you want to achieve: what do you mean by package, what do you mean by package manager, what features you want to have, what features you do not want to have, how you’re going to build and distribute the packages.
The reason why this is important is that a) this will be a useful reference for the implementation, b) you will learn a lot about the subject matter by trying to answer these questions, and c) you’ll learn to write such documents which is a very useful skill.
okay so here is my plan, I am going to just have a apt alternative written in c# which will only depends on CLR, ar, tar, and bash. I have made a Dockerfile which I can send to you if you want to see my progress. :)
I thought about it and I will create package manager which will be using .deb format since .deb format has a lot of documentation and it’s relatively easier but as someone mentioned I might also try replacing slackware’s package manager which will be much easier. so yeah I am not going to create another package format I will just use existing package format and I hope I will learn a lot about package management and c# :)