2 releases

0.0.6 May 2, 2024
0.0.5 May 1, 2024

#122 in Command-line interface

Download history 275/week @ 2024-04-29

275 downloads per month

MIT license

220KB
5K SLoC

🚀 Rokit

Next-generation toolchain manager for Roblox projects.

Features

  • ⚡ Tools download and install really fast.
  • ♻️ Drop-in compatibility with projects that already use Foreman or Aftman.
  • 📦 Supports additional formats and compressed files, such as .tar and .tar.gz.
  • 🤖 Additional commands for adding and updating tools, and even updating Rokit itself.
  • 📝 Useful output messages that are easy for humans to read and understand.

Installation

Follow the instructions for your platform below - when installed, Rokit will guide you through the rest.

macOS & Linux

  • Run the automated installer script in your terminal:

    curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/filiptibell/rokit/main/scripts/install.sh | sh
    

Windows

  1. Download and unzip rokit.exe from the latest release page.
  2. Open a terminal, change directory to where you downloaded Rokit, and run ./rokit.exe self-install.

Other

Installing from source

Rokit can be compiled and installed from source using cargo:

cargo install rokit --locked

This may work on systems that Rokit is not officially compatible with, but note that no support is provided for non-official targets.
Check the latest GitHub release to see which targets Rokit is compatible with.

Usage

Running rokit --help in your terminal will give you a full overview of all available commands.
Running rokit command-name --help will give you full details about a specific command.

Brief overview of available commands
  • rokit init - Initializes a new project in the current directory.
  • rokit add - Adds and installs a tool.
  • rokit list - Lists all currently installed tools.
  • rokit install - Installs all project-specific tools.
  • rokit update - Updates a specific tool, or all project-specific tools, to the latest version.
  • rokit authenticate - Authenticates with GitHub or other artifact providers.
  • rokit self-update - Updates Rokit itself to the latest version.
  • rokit self-install - Installs Rokit itself and updates tool executable links.

Q & A

Why use Rokit over Foreman or Aftman?

For a new Roblox developer

Rokit is the fastest and friendliest way to get set up with tooling for a new Roblox project.
Here are some key differences between Rokit and Foreman / Aftman:

  • Usable in any project, even projects using foreman.toml / aftman.toml, while Foreman / Aftman are incompatible with each other by design.
  • Massively improved installation times and more consistent cross-platform behavior.
  • No manual editing of manifest or link files.

For everyone else

While Foreman and Aftman have been working great for a long time, they have an uncertain future as toolchain managers for the community.
Most of their existing problems boil down to issues with maintainership:

  • Foreman is maintained by Roblox itself, and has angled itself towards internal uses at Roblox.
  • Aftman is maintained by a third party that is no longer interested in Roblox.

Rokit aims to solve this by taking a community-first approach and being built with community contributions in mind.
Rokit also acknowledges that developers will not migrate from any of the existing toolchain managers without good reason, it needs to be substantially better and require virtually no effort to migrate.

How do you pronounce Rokit?

However you want.

  • "Rocket" for speed
  • "Ro-kit" for Roblox-y flair
  • "Rock-it" if you're feeling groovy

Dependencies

~17–34MB
~569K SLoC