KiCad has a variety of community supported libraries for Eeschema, PcbNew and the 3DViewer.
All schematic symbols, PCB footprints and 3D models are organized in repositories at the KiCad organization on GitHub.
Currently schematic symbols are grouped in libraries which are sets of two files, one named with .lib extension and another with .dcm. Libraries are generally named in such a way that it describes the symbols it stores, in other words, by category. KiCad Library Editor should be used to edit symbols, however, alternatively, files can be edited using a text editor because they are human readable. The libraries can be found at kicad-library repository.
On the other hand, footprints are placed in multiple repositories which have their names suffixed with .pretty. Similarly to symbol libraries, repository names indicate the footprints category. Inside the repository, each footprint has its own file whose name ends up with .kicad_mod extension. Like symbol library files, .kicad_mod files are human readable and can be edited manually, nevertheless it is recommended to use PCB footprint editor to edit/re-save files.
If you want to contribute to the libraries in any way such as adding new components or fixing existing ones, you are more than welcome to submit a pull request on GitHub for the relevant repository.
If you are new to GitHub, please check out this guide Contributing to Open Source on GitHub before you start.
When creating/editing/fixing a symbol or footprint a set of conventions (a.k.a rules) should be followed. They are the KiCad Library Convention, or KLC for short. This convention aims to make symbols and footprints have a unique standard which is valuable in many aspects. Please, read the KLC carefully and make sure your pull request is compliant with it. Librarians often are very demanding about respecting the KLC.
Note that the KLC is in some way a newcomer, this mean there are several symbols and footprints in the KiCad repositories that are not KLC compliant yet. However, there is an effort to make all libraries KLC compliant. You can also help by doing some work in this direction.
When possible, take an already existing KLC symbol/footprint as an example to create/edit symbols and/or footprints. Furthermore, you can use the kicad-library-utils scripts to help you check/fix KLC issues. For more information about how to use the scripts please look at the README.md file in the repository. It is important to know that the scripts does not cover all KLC rules, which means that if you got no issues reported by script, this does not imply your submission will be accepted or that it is not violating the KLC rules.
If the 'pull request' world is too small for you, feel invited to join the librarians team. Contact the librarians team leader by sending an email to the mailing list telling about your interest to join us.
Currently KiCad librarians team counts with just a few people against a lot of pull requests and work to do, having your help would be very appreciated.