A modern package manager for Roblox projects, inspired by Cargo and npm.
Wally is a modern package manager for Roblox projects, inspired by Cargo (Rust) and npm (JavaScript). It enables Roblox developers to manage dependencies, publish packages, and ensure consistent builds across teams by providing a command-line tool and registry system. It solves the problem of sharing and versioning code in the Roblox ecosystem, bringing community-oriented practices from other programming communities.
Roblox developers and teams who need to manage dependencies, share reusable code, and maintain consistent project builds across different environments.
Developers choose Wally because it brings the reliability and familiarity of established package managers like Cargo and npm to Roblox, offering features like semantic versioning, lockfiles, and registry support specifically tailored for Roblox's server/shared realm separation.
Wally is a modern package manager for Roblox projects inspired by Cargo
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Commands like `wally init`, `install`, and `publish` closely mirror those in Cargo and npm, reducing the learning curve for developers from other ecosystems, as noted in the parity listings.
Uses a `wally.lock` lockfile to pin exact dependency versions, ensuring reproducible builds across teams and preventing version drift, similar to established package managers.
Separates server, shared, and development dependencies in the manifest, preventing context misuse in Roblox's client-server model and enhancing security.
Supports both public and private registries, allowing teams to host internal packages securely while accessing community libraries, with configurable registry URLs in the manifest.
Preferred installation via Aftman adds another toolchain manager, complicating setup for teams not already using such tools, and requires additional steps compared to direct binary downloads.
Exclusively designed for the Roblox ecosystem, so it cannot handle dependencies for other Lua projects or general-purpose code, limiting its versatility.
Setting up a private registry involves maintaining a Git repository and API server, which can be overhead for small teams, as indicated by the registry architecture details.