| Crates.io | lectern |
| lib.rs | lectern |
| version | 0.0.1 |
| created_at | 2025-09-17 04:51:56.763519+00 |
| updated_at | 2025-09-17 16:02:56.693052+00 |
| description | Lightning-fast PHP Composer alternative written in Rust |
| homepage | |
| repository | https://github.com/zanderlewis/lectern |
| max_upload_size | |
| id | 1842765 |
| size | 2,305,651 |
Lectern is an async and concurrent rewrite of PHP's Composer package manager in Rust. Built with lots of help from ChatGPT-5 and Claude Sonnet 4.
Lectern is not a complete replacement for Composer just yet! Some things I haven't been able to test (as AI wrote that code), or aren't of high priority.
This image is the performance comparison for Lectern and Composer cache hits on various different commands (lower is better):

Lectern is in orange, and clearly shows that Lectern is much faster than Composer! However, some commands are slower than Composer, but these commands are likely not used often.
This chart shows the average performance based on command category, and the execution time between Lectern and Composer for each category.

Check out the full Lectern v. Composer Benchmark Report for detailed performance comparisons and insights.
$XDG_CACHE_HOME/lectern when the XDG environment is set, otherwise ~/.cache/lectern.rm -rf ~/.cache/lectern)..github/workflows/publish.yml.CRATES_IO_TOKEN (your crates.io API token) for publishing to work. The workflow uses this secret to run cargo publish.lectern installInstalls the dependencies listed in the composer.json file. Equivalent to composer install.
lectern updateUpdates the dependencies to the latest versions allowed by the composer.json file. Equivalent to composer update.
lectern check-outdatedChecks for outdated dependencies and displays the current and latest versions.
lectern search <package>Searches for a package on Packagist and displays relevant results.
lectern require <package>Adds a new dependency to the composer.json file and installs it.
lectern remove <package>Removes a dependency from the composer.json file and uninstalls it.
lectern show <package>Displays detailed information about a specific package.
lectern autoloadShows the autoloader setup.
lectern initInitializes a new project with a composer.json file.
lectern statusLists installed packages and their statuses.
lectern licensesDisplays the licenses of installed dependencies.
lectern validateValidates the composer.json file for correctness.