In addition to what @briankasingli mentioned you can also embed the component specific library inside a global/base clientlibrary for example if you have a Header specific library:
<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"
jcr:primaryType="cq:ClientLibraryFolder"
allowProxy="{Boolean}true"
categories="mysite.header"/>
And then you have a Base library that embeds individual component libraries:
<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"
jcr:primaryType="cq:ClientLibraryFolder"
allowProxy="{Boolean}true"
categories="[wknd.base]"
embed="[core.wcm.components.accordion.v1,core.wcm.components.tabs.v1,core.wcm.components.carousel.v1,mysite.header, mysite.grid, mysite.footer]"/>This can minimize the number of HTTP requests and not have to update the HTL for each new component library.
This tutorial also has some good instructions on client library organization for a sites implementation: https://experienceleague.adobe.com/docs/experience-manager-learn/getting-started-wknd-tutorial-develop/client-side-libraries.html?lang=en#organization