Setup Project 
1. Define Your Systems 
main-system.ts 
ts
// src/systems/main-system.ts
import { Button, Dependency, OnEnd, OnInit, System, View } from "@rbxts/comet";
import { ExampleSystem } from "systems/example";
@System()
export class MainSystem implements OnInit, OnEnd {
	public exampleSystem = Dependency(ExampleSystem);
	public openButton: Button;
	public widget: View;
	onInit(): void {
		print(this.exampleSystem.message); // "Hello, World!"
	}
	onEnd(): void {
		print("Plugin has unloaded.");
	}
}example-system.ts 
ts
// src/systems/example-system.ts
import { OnInit, System } from "@rbxts/comet";
@System()
export class ExampleSystem implements OnInit {
	public message?: string;
	onInit(): void {
		print("Example system initialized!");
		this.message = "Hello, World!";
	}
}2. Create App & Register Systems 
ts
// src/init.server.ts
import { Comet } from "@rbxts/comet";
Comet.createApp("My awesome plugin!");
Comet.addPaths(script.Parent.Systems);
...3. Launch! 
ts
...
Comet.launch()Looking for more information? Check out the API Docs.