A lightweight package manager for ComputerCraft / CC:Tweaked.
MPT installs Lua programs directly from GitHub using wget, supports multiple repositories, and resolves dependency chains automatically.
β οΈ This is still a beta, it was tested by me but may not have every feature people may need. Future versions will get more features.
- Install packages from GitHub
- Multiple repository support
- Recursive dependency resolution
- Temporary dependency handling (
.tmp/) - Clean install folder (
mpt-programs/) - No version in installed filename
- Uses only:
dkjsonwgetshell.runfs
Your GitHub repository must follow this structure:
.
βββ <package>
β
βββ <version>
βββ dependencies.json
βββ <package>.lua
.
βββ tst
β
βββ 1.1
βββ dependencies.json
βββ tst.lua
<package>= program name<version>= version folderdependencies.json= if no dependencies please include it even if empty<package>.lua= main program file
MPT downloads files using this format:
https://raw.githubusercontent.com/<user/repo>/refs/heads/1.0/<package>/<version>/<package>.lua
Dependencies file (if present):
https://raw.githubusercontent.com/<user/repo>/refs/heads/1.0/<package>/<version>/dependencies.json
β Branch is fixed to: 1.0
After installing a package:
repo.json
mpt-programs/
<package>.lua
.tmp/
repo.jsonβ stores list of repositoriesmpt-programs/β installed programs.tmp/β temporary dependency files (auto cleaned)
Installed programs are always saved as:
mpt-programs/<package>.lua
(no version in filename)
Dependencies must be an array of objects, not a dictionary.
Example:
[
{
"package": "dep1",
"version": "1.7"
},
{
"package": "dep2",
"version": "2.0"
}
]Each dependency can also contain its own dependencies.json.
Dependency chains are fully supported (recursive resolution).
If no dependencies.json exists β it is safely ignored.
mpt repo add user/repo
mpt repo remove user/repo
mpt install <package> <version>
Example:
mpt install tst 1.1
When installing a package:
- Downloads
<package>.lua - Attempts to download
dependencies.json - If found:
- Saves it as
.tmp/dependencies-<package>.json - Reads dependency list
- Deletes the temporary file
- Recursively installs missing dependencies
- Saves it as
If multiple repos are configured, MPT tries each repo until one succeeds.
- ComputerCraft / CC:Tweaked
dkjsonwgetavailable in shell
Built for CC:T environments where simple, lightweight package management is needed.