Professional BrightScript
tooling for Roku
A complete ecosystem of open-source developer tools for BrightScript and the Kopytko Framework — from a full-featured VS Code extension to standalone npm packages for CI pipelines.
VS Code Extension
FreeFull BrightScript language server with IntelliSense, go-to-definition, diagnostics, rename, formatting, and an integrated Roku debugger.
brightscript-parser
npmLossless hand-written BrightScript lexer and recursive-descent parser. Produces a lossless CST, typed AST, and scope analysis.
kopytko-linter
npmStatic analysis tool with 32 rules covering imports, undefined identifiers, type annotations, syntax errors, and callback wiring.
kopytko-formatter
npmHybrid 27-pass BrightScript formatter with 49 configuration options for indentation, spacing, casing, imports, and more.
kopytko-roku-device
npmRoku device communication toolkit — SSDP discovery, ECP client, SceneGraph debug console, binary debug protocol, diagnostics collectors, and Perfetto streaming. Pure Roku protocols, no Kopytko coupling.
Get started in 60 seconds
Install the formatter and linter from npm, add two scripts to your package.json, and you're ready for CI-enforced BrightScript quality.
Install packages
npm install --save-dev kopytko-formatter kopytko-linter
Add npm scripts
Wire kopytko-format and kopytko-lint in package.json
Install the VS Code extension
IntelliSense, diagnostics, and the Roku debugger — free from the Marketplace
# Install the formatter and linter
npm install --save-dev kopytko-formatter kopytko-linter
# Add to package.json scripts (targets .brs files in the src/ directory):
# "format": "kopytko-format --write \"src/**/*.brs\"",
# "format:check": "kopytko-format --check \"src/**/*.brs\"",
# "lint": "kopytko-lint --source-dir src"
# Run checks
npm run format:check
npm run lintBuilt for professional Roku development
Lossless parser
Round-trip fidelity — every byte of the original source is preserved in the CST including whitespace and comments.
Scope-aware analysis
Correct variable and function resolution across @import chains, XML siblings, and nested function scopes.
Roku debugger
Native socket debug protocol 3.3.0 — breakpoints, variable inspection, multi-thread stepping, and REPL.
Device discovery
SSDP-based automatic Roku discovery with device health checks, persisted favorites, and secure credential storage.
Runtime diagnostics
Live memory/CPU/node/object/texture charts with rendezvous tracking, recordable for any channel sharing your dev key.
Device Manager
On-screen Roku remote with keyboard mode, saved credential typing, RASP automation scripts, and one-click web-admin actions.
Kopytko-aware
@import resolution across packages, module catalog, test framework completions, and .kopytkorc validation.