You must include the subsystems in your commits accordingly. Right now, there are no seperate folders per each subsystem. Make sure you follow the convention in each commit. Features and refactors across multiple files should not state every file that is modified. Instead, these commits can be pushed as a single commit (squash merge), however, all affected subsystems must be noted in the commit description. The current subsystem and file matching are as follows: docs: SUBSYSTEMS build: Makefile .gitignore core: src/main.c parser: include/parser.h src/parser.c parser: um: include/um.h src/um.c net: include/net.h src/net.c lib: include/lib/* src/lib/* lib: ll: include/lib/ll.h src/lib/ll.c lib: sv: include/lib/sv.h src/lib/sv.c