I've never added a civilization. I reckon that it should only be artwork and XML additions (civ-specific events in Python? probably none). The artwork should mostly be a matter of unpacking the AdvCivPlus FPKs, then possibly repacking the relevant files – although I doubt that the files are so numerous that keeping them separate will slow down the loading of the mod noticeably.
Regarding XML, I expect that searching the AdvCivPlus XML folder for e.g. "kongo" will show all the places where additions are necessary. Art Defines and CivilizationInfos obviously, game text (though I'd advise against copying whole files from BtS like AdvCivPlus seems to do; the text can just go in one or multiple new game text files), somewhat less obviously Unit and Building Infos for the civ-unique elements. Conveniently, at least for Kongo, those seems to have "Kongo" in their type string, so they're easy to locate. May need to go through the Unit, Building and maybe also Civilization XML for references to entities that exist only in AdvCivPlus, e.g. tech requirements (Smelting for the Kongo UU), upgrade paths. Doesn't look like the XML schemas have been changed, so the uniques should not have novel XML tags that AdvCiv has no implementation for. Lastly, PlayerColor Infos and ColorVals will need to be copied. Hopefully the colors are distinct enough. And by "copied" I always mean just bits of XML; I don't think overwriting any whole files is a good idea.
So, to answer the question, I'd say somewhat complicated, more laborious than difficult. Getting civs from other sources is probably not much different. Those won't have the AdvCiv schemas for units etc., but few (if any?) tags added by AdvCiv/K-Mod/BBAI are mandatory, so the XML of simpler mods should essentially be compatible.
If AdvCiv's TrueStarts game option is supposed to make use of the new civs, additions will need to be made in XML\TrueStarts as described in the schema file in that folder. I think spqkfk had meant to perhaps work on that, but my local copy of AdvCivPlus ... is apparently from a time before I even added that option to AdvCiv, so I don't know.