# Composer > Composer is a dependency manager for PHP. You declare the libraries your project depends on in composer.json, and Composer installs and updates them for you. Packages are published on Packagist (https://packagist.org/). The links below point to the markdown source of each documentation page. All of it is also available as a single file at https://getcomposer.org/llms-full.txt ## Book - [Introduction](https://getcomposer.org/doc/00-intro.md.md) - [Basic usage](https://getcomposer.org/doc/01-basic-usage.md.md) - [Libraries](https://getcomposer.org/doc/02-libraries.md.md) - [Command-line interface / Commands](https://getcomposer.org/doc/03-cli.md.md) - [The composer.json schema](https://getcomposer.org/doc/04-schema.md.md) - [Repositories](https://getcomposer.org/doc/05-repositories.md.md) - [Config](https://getcomposer.org/doc/06-config.md.md) - [Runtime Composer utilities](https://getcomposer.org/doc/07-runtime.md.md) - [Community](https://getcomposer.org/doc/08-community.md.md) ## Articles - [Aliases](https://getcomposer.org/doc/articles/aliases.md.md): Alias branch names to versions - [Authentication for privately hosted packages and repositories](https://getcomposer.org/doc/articles/authentication-for-private-packages.md.md): Access privately hosted packages/repositories - [Autoloader optimization](https://getcomposer.org/doc/articles/autoloader-optimization.md.md): How to reduce the performance impact of the autoloader - [Caching Composer dependencies](https://getcomposer.org/doc/articles/caching.md.md): Cache Composer downloads safely in CI and containers - [Composer platform dependencies](https://getcomposer.org/doc/articles/composer-platform-dependencies.md.md): Making your package depend on specific Composer versions - [Setting up and using custom installers](https://getcomposer.org/doc/articles/custom-installers.md.md): Modify the way certain types of packages are installed - [Handling private packages](https://getcomposer.org/doc/articles/handling-private-packages.md.md): Hosting and installing private Composer packages - [Setting up and using plugins](https://getcomposer.org/doc/articles/plugins.md.md): Modify and extend Composer's functionality - [Repository priorities](https://getcomposer.org/doc/articles/repository-priorities.md.md): Configure which packages are found in which repositories - [Resolving merge conflicts](https://getcomposer.org/doc/articles/resolving-merge-conflicts.md.md): On gracefully resolving conflicts while merging - [Scripts](https://getcomposer.org/doc/articles/scripts.md.md): Script are callbacks that are called before/after installing packages - [Troubleshooting](https://getcomposer.org/doc/articles/troubleshooting.md.md): Solving problems - [Vendor binaries and the `vendor/bin` directory](https://getcomposer.org/doc/articles/vendor-binaries.md.md): Expose command-line scripts from packages - [Versions and constraints](https://getcomposer.org/doc/articles/versions.md.md): Versions explained. ## FAQs - [How do I install a package to a custom path for my framework?](https://getcomposer.org/doc/faqs/how-do-i-install-a-package-to-a-custom-path-for-my-framework.md.md) - [How do I install Composer programmatically?](https://getcomposer.org/doc/faqs/how-to-install-composer-programmatically.md.md) - [How do I install untrusted packages safely? Is it safe to run Composer as superuser or root?](https://getcomposer.org/doc/faqs/how-to-install-untrusted-packages-safely.md.md) - [How to use Composer behind a proxy](https://getcomposer.org/doc/faqs/how-to-use-composer-behind-a-proxy.md.md) - [Should I commit the dependencies in my vendor directory?](https://getcomposer.org/doc/faqs/should-i-commit-the-dependencies-in-my-vendor-directory.md.md) - [Which version numbering system does Composer itself use?](https://getcomposer.org/doc/faqs/which-version-numbering-system-does-composer-itself-use.md.md) - [Why are unbound version constraints a bad idea?](https://getcomposer.org/doc/faqs/why-are-unbound-version-constraints-a-bad-idea.md.md) - [Why are version constraints combining comparisons and wildcards a bad idea?](https://getcomposer.org/doc/faqs/why-are-version-constraints-combining-comparisons-and-wildcards-a-bad-idea.md.md) - [Why can't Composer load repositories recursively?](https://getcomposer.org/doc/faqs/why-cant-composer-load-repositories-recursively.md.md) ## Optional - [composer.json schema](https://getcomposer.org/schema.json): JSON schema for validating composer.json files - [Changelog](https://raw.githubusercontent.com/composer/composer/main/CHANGELOG.md): changes in each Composer release