Pacm is a blazing-fast, cache-first package manager for JavaScript and TypeScript projects. Built with Rust for maximum performance and reliability, it aims to provide a secure and efficient alternative to existing package managers.
- Lightning Fast: Written in Rust for optimal performance
- Cache-First: Intelligent caching reduces installation times
- Secure: Cryptographic integrity verification for all packages
- Disk Efficient: Minimal disk usage through deduplication
- NPM Compatible: Works with existing npm packages and package.json files
- Cross-Platform: Supports Windows, macOS, and Linux
git clone https://github.com/pacmpkg/pacm.git
cd pacm
cargo build --release
# Binary will be available at target/release/pacmComing soon - check releases for pre-built binaries
pacm init --name my-projectpacm install
# or
pacm ipacm add lodash
pacm add axios --devpacm remove lodashpacm listpacm cache path # Show cache location
pacm cache clean # Clear cachepacm pm lockfile # Manage lockfile
pacm pm prune # Remove unused packagesPacm is built with a modular architecture:
- Core Library (
src/): Lockfile management, manifest handling, dependency resolution - CLI (
src/cli/): Command-line interface and commands - Cache (
src/cache/): Package caching and retrieval - Fetcher (
src/fetch/): Package downloading and verification - Installer (
src/installer/): Package installation logic - Resolver (
src/resolver/): Dependency resolution algorithms
The project includes a comprehensive testing suite located in tests/. Run tests with:
cargo testSee tests/README.md for details about the testing structure.
Contributions are welcome! Please feel free to submit a Pull Request.
git clone https://github.com/pacmpkg/pacm.git
cd pacm
cargo build
cargo testThis project follows Rust's standard formatting. Please run cargo fmt before submitting PRs.
We welcome contributions! Please see our Contributing Guide for details.
- Code of Conduct - Our community standards
- Security Policy - Reporting security vulnerabilities
- Issue Templates - How to report bugs and request features
Licensed under ICL-1.0.
This is a prototype implementation. It is not yet ready for production use. Use at your own risk.
- Repository: https://github.com/pacmpkg/pacm
- Issues: https://github.com/pacmpkg/pacm/issues
- Discussions: https://github.com/pacmpkg/pacm/discussions