{"id":"cometahn142/nexus","name":"nexus","scope":"cometahn142","platform":"roblox","description":"Nexus For Roblox","version":"0.5.3","latest":"0.5.3","versions":["0.1.0","0.1.1","0.2.0","0.2.1","0.3.0","0.3.1","0.4.0","0.4.1","0.4.2","0.4.3","0.5.0","0.5.1","0.5.2","0.5.3"],"license":"MIT","licenseRating":"safe","licenseCaveats":[],"licenseVerified":true,"dependencies":{"cometahn142/janitor":{"version":"^0.2.0","alias":"Janitor"},"cometahn142/promise":{"version":"^0.1.0","alias":"Promise"},"cometahn142/signal":{"version":"^0.1.0","alias":"Signal"},"cometahn142/snap":{"version":"^0.5.0","alias":"Snap"}},"integrity":"aa8e54f929db312f9ad1b6576b355d75a21904b4f00d049ce4417e06193fb4a2","likes":0,"downloads":0,"install":"forest install cometahn142/nexus","url":"https://forest.dev/p/roblox/cometahn142/nexus","files":"https://api.forest.dev/ai/package/roblox/cometahn142/nexus/files","readme":"# Nexus\n\n**Nexus** is a state-driven service/controller framework for Luau and Roblox, powered by the high-performance **Snap** networking engine.\n\n## Documentation (Diátaxis Standard)\n\n- **[Tutorial](docs/tutorial.md)**: A step-by-step guide to building your first Service and Controller.\n- **[Recipes](docs/recipes.md)**: Practical patterns for middleware, state management, and lifecycle events.\n- **[Concepts](docs/concepts.md)**: Understanding the Service-Controller architecture and the Marker-based networking system.\n- **[Specification](docs/specification.md)**: Formal API reference and technical specification.\n\n---\n\n## Technical Highlights\n\n- **Marker-Based Protocol**: Define signals, methods, and shared properties using a declarative schema.\n- **Reactive Properties**: Built-in state synchronization with `Observe` and `OnChanged` hooks.\n- **Lazy Proxies**: Robust dependency injection that solves circular reference issues.\n- **Advanced Middleware**: Inbound and outbound pipelines for granular control over every network packet.\n- **Unified Lifecycle**: Streamlined `NexusInit` and `NexusStart` phases with full Promise support.\n\n---\n\n## Minimal Example\n\n```luau\n-- Service (Server)\nlocal DataService = Nexus.CreateService({\n    Name = \"DataService\",\n    Client = {\n        Points = Nexus.Property(Nexus.t.uint32, 0)\n    }\n})\n\nfunction DataService:NexusStart()\n    self.Client.Points:Set(100)\nend\n\n-- Controller (Client)\nlocal UIController = Nexus.CreateController({ Name = \"UIController\" })\n\nfunction UIController:NexusInit()\n    local DataService = Nexus.GetService(\"DataService\")\n    DataService.Points:Observe(function(val)\n        print(\"Points updated:\", val)\n    end)\nend\n```\n\n*Architected for clarity. Optimized for state.*\n","readmeTruncated":false}