https://github.com/Modern-Modpacks/kjspkg
A KubeJS package manager
https://github.com/Modern-Modpacks/kjspkg
javascript kjspkg kubejs package-manager python
Last synced: 4 months ago
JSON representation
A KubeJS package manager
- Host: GitHub
- URL: https://github.com/Modern-Modpacks/kjspkg
- Owner: Modern-Modpacks
- License: mit
- Created: 2023-03-26T12:04:09.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2025-07-01T14:10:13.000Z (12 months ago)
- Last Synced: 2026-01-14T14:35:14.047Z (5 months ago)
- Topics: javascript, kjspkg, kubejs, package-manager, python
- Language: Go
- Homepage: https://kjspkglookup.modernmodpacks.site
- Size: 39.9 MB
- Stars: 11
- Watchers: 0
- Forks: 17
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-packdev - KJSPKG - Simple lightweight-ish crossplatform package manager for KubeJS scripts written in Python 3. (Apps / CLI [](## "Free and open-source"))
README
#
KJSPKG
A simple package manager for KubeJS written in Go.
[](https://github.com/Modern-Modpacks/kjspkg#adding-your-own-package)
[](https://github.com/user-attachments/assets/0df64919-6333-447e-9869-c270138941bd)
**The Go API exposed at github.com/Modern-Modpacks/kjspkg/pkg/kjspkg is not
stable. It is not recommended to use it just yet.**
## Installation & Update
### Install script
This script will install KJSPKG to your system and add it to your PATH.
```sh
# On Linux
curl -fsSL https://g.tizu.dev/mm.kj/install.sh?r | bash
# On Windows
powershell -c "irm https://g.tizu.dev/mm.kj/install.ps1?r | iex"
```
### Using Go
This requires a working Go installation of at least 1.23.2.
```sh
go install github.com/Modern-Modpacks/kjspkg/cmd/kjspkg@latest
```
## Usage
KJSPKG comes with extensive help text, so you can just run `kjspkg` to see all
the commands and options available. You may also use `--help` after any command
to get more information about it.
```sh
kjspkg install [package] [package]
kjspkg remove [package] [package]
kjspkg update [package] [package]
```
## Adding your own package
### Through [KJSPKG Lookup](https://kjspkglookup.modernmodpacks.site) (Web UI)
You now have the ability to upload packages using [KJSPKG Lookup](https://kjspkglookup.modernmodpacks.site), a web tool originally meant to quickly search for packages on KJSPKG, but it now supports the addition of them as well.
1. Go to https://kjspkglookup.modernmodpacks.site/
2. Click the user icon in the top right corner and log in using your GitHub account
3. Click on your profile picture. That should lead you to your KJSPKG profile; from there you can press the plus icon to create a new package
4. Fill in all the required details and upload the scripts
5. Press publish and wait for your script to be approved by us, then it should appear on the website
6. profit
**NOTE:** There is currently a known bug concerning GitHub authentication permissions which can cause an error during the last step. This is why we recommend **you first log out and log back into your GitHub account before starting the process of uploading the package** if it's your first time using the KJSPKG Lookup website.
### Manual setup
If other methods don't fit your particular situation or you just want a higher degree of control, you can set up the repository for your package manually using Git.
1. Create a repository containing your scripts and assets
2. [Don't forget to license your code](https://choosealicense.com/)
3. Create an empty directory and run `kjspkg dev init`
4. Do your thing and create a repository with the code
4. Fork this repo
5. Clone it
6. Add your package to `pkgs.json` file. Format it like this: `"your_package_id": "your_github_name/your_repo_name[$path/to/your/package/directory][@branch_name]",`
* Things in [] are optional
* Only specify the path if you have multiple packages in one repository. If you do, specify the path where the .kjspkg file is located at
* Branch is `main` by default
7. Create a pull request
8. Wait for it to be accepted
9. profit
### KJSPKG badges
[](https://kjspkglookup.modernmodpacks.site/#)
```md
[](https://kjspkglookup.modernmodpacks.site/#{packagename})
```
## Supported versions

Tested means that the version is confirmed to be working;
Not tested means that the version should work, but hasn't been tested. Feel free to test it yourself and let us know so we'll update the readme.
Full support means that we focus on that version;
Partial support means that the version is supported, but not as much as the fully supported ones;
No support means that the version works, but any issues that you have with it won't be fixed.
Borked means it doesn't work lmao.