Hi HiPhish, Very happy to help you here.
> what prerequisite knowledge do I need and what is the best way of learning it? That's a very hard question to answer, there is no definitive answer. Well I would say that depends on what you want to do. If you want to do some Ui dev in Plasma, or Qml apps, you will need to learn some Qml and Kirigami. If you want to touch to lower levels or C++ apps, you will need some knowledge of C++, Qt, cmake and about the KDE Frameworks. But then depending on the application domain you may need to learn more. Focus on what you already know and what you need to learn and that should be ok. Our C++ Frameworks on top of Qt are numerous, you can find their doc at https://api.kde.org/frameworks/index.html but that's not necessary you know them all. We have some tutorials that should be a good starting point on that matter: https://techbase.kde.org/Development/Tutorials We also have documentation about our organization and processes at https://community.kde.org/Main_Page The getting started in developpement page should be very relevant to you https://community.kde.org/Get_Involved/development I would suggest you learn piece by piece from an example. It should help you chew the documentation and the learning. Find something simple to work on that motivates you. An app you, a feature missing, a bug... Application development tends to be simpler, so it can be a great starting point. Plasma DE takes a bit longer to get to, mainly because the development environment requires more setup. This blog post by Christoph Cullmann presents a good example on how to start hacking on a KDE App: https://kate-editor.org/post/2021/2021-02-07-kdesrc-build-and-kate/ And join matrix to get some help https://community.kde.org/Get_Involved/development#Communicate_with_the_team You can have a look at the developpement at https://invent.kde.org to see how things go. > I want to do as much work as reasonably possible through code rather than GUI tools. That's perfectly fine, we don't have any strong ties to any development environment, nor does Qt development necessitates any IDE. Contributing to a FOSS project is not easy, but it is worthwhile and a great experience. Cheers ! -- Méven