{"id":"rogrid-hq/rogrid","name":"rogrid","scope":"rogrid-hq","platform":"roblox","description":"The RoGrid core library","version":"0.2.2","latest":"0.2.2","versions":["0.2.1","0.2.2"],"license":"MIT","licenseRating":"safe","licenseCaveats":[],"licenseVerified":true,"dependencies":{},"integrity":"0fcd30321213861ae3b278abd8e57b84f5a43a81bf65042ea969776875de9b47","likes":0,"downloads":0,"install":"forest install rogrid-hq/rogrid","url":"https://forest.dev/p/roblox/rogrid-hq/rogrid","files":"https://api.forest.dev/ai/package/roblox/rogrid-hq/rogrid/files","readme":"# RoGrid\n\nTyped client/server events for Roblox. Declare a receiver in Luau, and the\nRoGrid CLI generates its callers, payload validation, and startup wiring.\nThis package supplies the runtime used by that generated code.\n\n> **Development status:** RoGrid is unfinished and under active development.\n> Breaking changes can occur in any release. Review changes before upgrading.\n\n## Getting started\n\nWith [Rokit](https://github.com/rojo-rbx/rokit#installation) and Roblox Studio\ninstalled, create a project:\n\n```sh\nrokit add --global RoGrid-HQ/rogrid\nrogrid init my-game --package-manager pesde --tool-manager rokit\ncd my-game\nrojo plugin install\nrogrid dev\n```\n\nConnect the Rojo plugin in Studio and press **Play**. The starter installs this\npackage as `ReplicatedStorage.Packages.rogrid` and calls `RoGrid.start()` on\nboth sides. Installing the runtime package alone does not generate callers\nor add startup scripts to a game.\n\n## Example\n\n```luau\n-- src/server/events/Lobby.luau\n--!strict\nlocal RoGrid = require(game:GetService(\"ReplicatedStorage\").Packages.rogrid)\n\nreturn {\n    setReady = RoGrid.event(function(player: Player, ready: boolean)\n        player:SetAttribute(\"Ready\", ready)\n    end),\n}\n```\n\nAfter startup, the client can call:\n\n```luau\nlocal Server = require(game:GetService(\"ReplicatedStorage\").RoGridGenerated.Server)\nServer.Lobby.setReady.fire(true)\n```\n\nServer handlers receive the sending `Player` automatically. Payload arguments\nsupport `string`, `boolean`, and `number`. Client receivers generate server\ncallers with `.fire(player, ...)` and `.fireAll(...)`.\n\n## Documentation\n\nThese guides are included in the package for Pesde and can also be read in\nthe repository:\n\n- [Getting started](https://github.com/RoGrid-HQ/rogrid/blob/main/packages/rogrid/docs/getting-started.md)\n- [Event guide](https://github.com/RoGrid-HQ/rogrid/blob/main/packages/rogrid/docs/events.md)\n- [Configuration](https://github.com/RoGrid-HQ/rogrid/blob/main/packages/rogrid/docs/configuration.md)\n- [CLI reference](https://github.com/RoGrid-HQ/rogrid/blob/main/packages/rogrid/docs/cli.md)\n- [API reference](https://github.com/RoGrid-HQ/rogrid/blob/main/packages/rogrid/docs/api.md)\n- [Troubleshooting](https://github.com/RoGrid-HQ/rogrid/blob/main/packages/rogrid/docs/troubleshooting.md)\n- [Package managers](https://github.com/RoGrid-HQ/rogrid/blob/main/packages/rogrid/docs/package-managers.md)\n- [Project status](https://github.com/RoGrid-HQ/rogrid/blob/main/packages/rogrid/docs/status.md)\n\nThe runtime is published as `rogrid/rogrid` on Pesde and `rogrid-hq/rogrid` on\nWally. The CLI pins the matching runtime version when creating a project.\nUse `--package-manager wally` during `init` to choose Wally.\n\n## License\n\n[MIT](https://github.com/RoGrid-HQ/rogrid/blob/main/packages/rogrid/LICENSE)\n","readmeTruncated":false}