diff --git a/CHANGES.md b/CHANGES.md index 9a1113d8..19a6cf7b 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,7 +1,8 @@ # Rojo Change Log ## Current Master -*No changes* +* Merged plugin repository into main Rojo repository for easier tracking +* Improved `RouteMap` object tracking; this should fix some cases of duplicated instances being synced into the tree. ## 0.4.0 (March 27, 2018) * Protocol version 1, which shifts more responsibility onto the server diff --git a/README.md b/README.md index 9e750c25..1e39c5c4 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@
- Rojo + Rojo
 
@@ -14,15 +14,12 @@
-**Rojo** is a flexible multi-tool designed for creating robust Roblox projects. It's in early development, but is still useful for many projects. +**Rojo** is a flexible multi-tool designed for creating robust Roblox projects. It's designed for power users who want to use the **best tools available** for building games, libraries, and plugins. -This is the main Rojo repository, containing the Rojo CLI. The Roblox Studio plugin is contained in [the rojo-plugin repository](https://github.com/LPGhatguy/rojo-plugin). - ## Features - -Rojo has a number of desirable features *right now*: +Rojo lets you: * Work on scripts from the filesystem, in your favorite editor * Version your place, library, or plugin using Git or another VCS @@ -30,20 +27,29 @@ Rojo has a number of desirable features *right now*: Later this year, Rojo will be able to: -* Sync rbxmx-format Roblox models bi-directionally between the filesystem and Roblox Studio +* Sync rbxmx-format Roblox models between the filesystem and Roblox Studio * Package libraries and plugins into `rbxmx` files from the command line ## Installation Rojo has two components: -* The command line interface (CLI), written in Rust -* The [Roblox Studio plugin](https://www.roblox.com/library/1211549683/Rojo), written in Lua -To install the command line tool, there are two options: +* The server, a binary written in Rust +* The client, a Roblox Studio plugin written in Lua + +To install the server, there are two options: + * Cargo, if you have Rust installed * Use `cargo install rojo` -- Rojo will be available with the `rojo` command * Download a pre-built Windows binary from [the GitHub releases page](https://github.com/LPGhatguy/rojo/releases) -## Usage +To install the client, there are two options: + +* Install the plugin from the [Roblox page](https://www.roblox.com/library/1211549683/Rojo). + * This gives you less control over what version you install -- you will always have the latest version. +* Download the latest release from [the releases section](https://github.com/LPGhatguy/rojo/releases) and install it into your Roblox plugins folder + * On Windows, this is at `%LocalAppData%\Roblox\Plugins` + +## Server Usage For more help, use `rojo help`. ### New Project @@ -69,7 +75,7 @@ The default project looks like this: ``` ### Start Dev Server -To create a server that allows the Rojo Studio plugin to access your project, use: +To start the Rojo dev server, use: ```sh rojo serve @@ -83,7 +89,7 @@ The tool will tell you whether it found an existing project. You should then be In the mean-time, manually migrating scripts is probably the best route forward. ### Syncing into Roblox -In order to sync code into Roblox, you'll need toadd one or more *partitions* to your configuration. A partition tells Rojo how to map directories on your filesystem to Roblox objects. +In order to sync code into Roblox, you'll need to add one or more *partitions* to your configuration. A partition tells Rojo how to map directories on your filesystem to Roblox objects. Each entry in the `partitions` map has a unique name, a filesystem path, and the full name of the Roblox object to sync into. @@ -142,9 +148,11 @@ Will turn into these instances in Roblox: * `my-game` (`LocalScript` with source from `my-game/init.client.lua`) * `foo` (`ModuleScript` with source from `my-game/foo.lua`) -`*.model.json` files are intended as a simple way to represent non-script Roblox instances on the filesystem until `rbxmx` and `rbxlx` support is implemented in Rojo. +`*.model.json` files are a way to represent simple Roblox instances on the filesystem until `rbxmx` and `rbxlx` support is implemented in Rojo. -JSON Model files are fairly strict, with every property being required. They generally look like this: +This feature is intended for small instances, like `RemoteEvent` or `*Value` objects. + +JSON Model files are strict, with every property being required. They look like this: ```json { @@ -192,9 +200,7 @@ I also have a couple tools that Rojo intends to replace: ## Contributing Pull requests are welcome! -The `master` branch of both repositories have tests running on Travis for every commit and pull request. The test suite on `master` should always pass! - -The Rojo and Rojo Plugin repositories should stay in sync with eachother, so that the current `master` of each repository can be used together. +All pull requests are run against a test suite on Travis CI. That test suite should always pass! ## License Rojo is available under the terms of the MIT license. See [LICENSE.md](LICENSE.md) for details. \ No newline at end of file