/awesome-roku

A place for all things Roku, Scenegraph, and Brightscript

logo

Join the Roku Community on
drawing

Awesome Roku

a home for Roku, Brightscript, and SceneGraph resources

Documentation

Official Documentation - Developer guides, SceneGraph and Brightscript reference
Channel Certification - Requirements for your channel submition

Official Development Tools

Roku Developer Tools Home - Home page for all Roku supported tools

Editor Extensions

vscode-brightscript-language - VSCode extension with awesome support for Brightscript and SceneGraph
zeplin-roku - An extension for generating simple SceneGraph components from zeplin designs

Linters

eslint-plugin-roku - eslint plugin for linting brightscript files
Wist - A linter for brightscript
scenegraph-schema - A tool to generate an xml schema for a SceneGraph project to work with xml validation extensions

Build Tools

brighterscript - A superset of Roku's BrightScript language. Compiles to standard BrightScript.
Ukor - A build tool for Roku projects
burp - Script processing utility for Roku brightscript projects
sjbarag/brs - An interpreter for the BrightScript language that runs on non-Roku platforms. (*not really a build tool but it fits here best)
rounded-rect-9patch - CLI for generating rounded rectangle 9patches, create with Roku in mind
brighterscript-formatter - A code formatter for BrighterScript (and BrightScript)
roku-deploy - An npm module for zipping and deploying to Roku devices.

Testing

Unit Test Framework - Write Unit tests for Brightscript and Scenegraph components
Rooibos - simple, flexible, fun brightscript test framework for roku scenegraph apps; includes code-coverage, paremeterized testing, stubs, mocks and more
Roku Channel Automation - Automation server using the ECP standard
Rokul Runnings - a client TypeScript/Javascript library UI Automation, using the ECP standard, standalone.

Frameworks

maestro - A development platform for building roku channels in brighterscript in a hyper efficient and maintainable way, by leveraging brighterscript, and MVVM binding syntax, similar to Flex, Xamarin and Angular frameworks
brighterscript - A superset of Roku's BrightScript language. Compiles to standard BrightScript.
roact - A React-inspired design pattern for building UI components.
RokuFramework - A MVC-style framework for building Roku channels rapidly.

Libraries

Community

rLog - Logging for Roku
rocute - Beautiful UI Components for Roku Development
roku-promise - A promise implementation for Roku
roku-fetch - A fetch implementation for Roku
roku-requests - A python-inspired HTTP request implementation for Roku
Redoku - A Redux implementation for Roku
WebSockets - A ScreneGraph websocket client library written in BrightScript.

Vendors

SceneGraph Developer Extensions - Library of Roku supported components and patterns
Google IMA DAI SDK - Google SDK for ads
Adobe Marketing Cloud Media SDK

Useful Tools & Resources

Tools

Roku Dashboard - Automatically discover and manage Roku's on your local network
Nine Patch Editor - A Java-based GUI for editing nine patch images
JWT Decoder - A tool for verifying JWT tokens
JSON Diff - A tool for comparing two JSON objects
Roku Like A Hurricane - A blog about Roku development by Brian Dunnington