To add to this,
there is an overview of all the files being touched for NPC making/editing you can look at,
an NPC Creator* you could check out if you're on Windows, as well as a
very great many already existing Custom NPCs of varying complexity you can look at for examples, hehe. To actually create/edit the maps themselves,
you'll need Tiled. All those json files in existing mods can be opened in any text editor, but something that catches syntax errors is very useful, like
SublimeText (unlimited free trial).
NPCs are big projects, but mainly because of the edits to different files and all the things people dream up to do with them -- trying to cover new sprites/portraits/dialogue/schedules AND new items/locations/rooms/progression changes etc is a lot at once. If you can break down your ideas into parts, it's usually very helpful! If you get stuck you can always check out the #making-mods channel of the
Stardew Valley Discord, as there are a number of friendly NPC and map creators around :)
(Also just to clarify, Custom NPC Fixes is not needed for the
creation of an NPC, but your players will need to install it if your NPC will spawn on a custom map. There's no documentation because you don't do anything with it as an author. MFM allows some things not normally allowed via mail as well as other features, but until you know you need those features you may not need a pack for it!)
* I do think you're going to be digging into the files at some point no matter what, so NPC Creator may or may not just be delaying the inevitable for you depending on how you learn. If you find yourself often getting errors in files you don't know anything about, you might consider rolling up sleeves and learning the hard way first :D