Skip to content

nvim-neorocks/rocks

Repository files navigation

A [WIP] Library & Client implementation of luarocks

Warning

rocks is a work in progress and does not have a stable release yet.

Rocks serves as an application for:

  • Installing and managing rocks
  • Creating Lua projects with dependencies, build scripts and desired Lua versions
  • Creating and publishing your own rocks
  • Embedding rock manipulation logic into your own application

Note

This aims to be a full rewrite of luarocks, with many flags altered to be more ergonomic. This is not a drop-in replacement for luarocks commands you may have in scripts.

📚 Usage

rocks <command> <options>

To view available options and their descriptions, run rocks --help.

Comparison with luarocks v3.11.1

As this project is still a work in progress, some luarocks features have not been (fully) implemented yet. On the other hand, rocks has some features that are not present in luarocks.

The following table provides a brief (incomplete) comparison:

rocks luarocks v3.11.1
builtin build spec
make build spec
rust-mlua build spec ✅ (builtin) ✅ (external build backend)
tree-sitter build spec ❌ (planned) ✅ (external build backend)
cmake build spec ❌ (planned)
command build spec ❌ (planned)
custom build backends ❌ (planned1)
install pre-built binary rocks ❌ (planned)
parallel builds/installs
install multiple packages with a single command
install packages using version constraints
lockfiles ✅ (basic, dependency versions only)
formatting with stylua

📖 License

rocks is licensed under MIT.

💚 Contributing

Contributions are more than welcome! See CONTRIBUTING.md for a guide.

Footnotes

  1. planned via a luarocks compatibility layer.

About

An alternative frontend app for luarocks.org

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages