Skip to content
Agentmart
Submit a tool

brightsign-package

Build and package React apps for BrightSign OS 9.x players with autorun.brs bootstrap, IIFE bundles, and optimised Vite configuration.

Skill by CambridgeMonorail

IndexedMIT★ 3
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/cambridgemonorail-brightsign-package

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Build and package React apps for BrightSign OS 9.x players with autorun.brs bootstrap, IIFE bundles, and optimised Vite configuration. Use when creating deployment-ready packages for BrightSign hardware.

Use cases: frontend

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/brightsign-package

What's inside

Skill name
brightsign-package
Description
Build and package React apps for BrightSign OS 9.x players with autorun.brs bootstrap, IIFE bundles, and optimised Vite configuration. Use when creating deployment-ready packages for BrightSign hardware.
License
MIT
Metadata
author: CambridgeMonorail · version: 1.1 · internal: true
Instructions
126 lines in SKILL.md · view on GitHub

Files (3)

  • SKILL.md
  • autorun-template.brs · assets/
  • examples.md · references/

SKILL.md (first lines)

# BrightSign Package Skill

Package React applications for deployment to BrightSign OS 9.x digital signage players.

## When to Use This Skill

Use this skill when you need to:

- create a BrightSign-ready package from a React app build
- generate the autorun.brs bootstrap file for HTML widgets
- optimise Vite configuration for embedded device constraints
- reduce bundle size for resource-limited players
- structure files correctly for BrightSign SD card deployment

## Do Not Use When

- deploying to a player (use `brightsign-deploy-local` or `brightsign-fleet-deploy`)
- debugging a player issue (use `brightsign-debug`)
- designing a signage layout (use signage layout/animation skills)

## Package Structure

A properly packaged BrightSign app. This example reflects the **current** build output for `apps/player-minimal` in this repo:

```
brightsign-package/
├── autorun.brs          # Bootstrap script (REQUIRED)
├── index.html           # Entry point HTML
├── assets/
│   ├── app.js           # Single IIFE bundle (all code + vendor)
│   └── app.css          # Styles
└── manifest.json        # Optional: Version metadata
```

The exact filenames and chunking strategy are **app-specific**. The `apps/player-minimal` build uses fixed filenames (`app.js`, `app.css`) with `inlineDynamicImports: true` to produce a single bundle. Other apps may be configured to emit hashed filenames (e.g. `index-[hash].js`) or split vendor code into a separate chunk. Always check the actual Vite build output for the specific app.

## Workflow

### Step 1: Generate autorun.brs

The bootstrap script launches your React app in fullscreen Chromium on OS 9.x. See [code examples](references/examples.md) for the complete template and OS 8.x vs 9.x differences.

Critical requirements:

- URL must be `file:///sd:/index.html` (lowercase `sd:`, triple slash)
- `javascript_enabled: true` required for React
- Dynamic resolution via `roVideoMode`

### Step 2: Configure Vite for BrightSign

Three critical build requirements:

1. **IIFE format** — ES modules fail on `file://` protocol (no MIME types)
2. **Strip `type="module"`** — custom Vite plugin replaces with `defer`
3. **Match build target to firmware** — see matrix below

The Chromium version embedded in BrightSign OS 9.x varies by firmware:

| BrightSign OS  | Embedded Chromium | Recommended `build.target` |
| -------------- | ----------------- | -------------------------- |
| 9.0.0 – 9.1.91 | 98                | `['chrome98', 'es2020']`   |
| 9.1.92+        | 120               | `['chrome120', 'es2022']`  |

This repo's `apps/player-minimal` targets **OS 9.1.92+** (`['chrome120', 'es2022']`). If you must support older 9.x firmware, lower the target to `['chrome98', 'es2020']` and avoid ES2022+ features.

See [code examples](references/examples.md) for the complete Vite config.

### Step 3: Build the app

```bash
nx build player-minimal --configuration=production
```

Bundle size target: <100KB gzipped for main bundle.

### Step 4: Create deployment package

```bash
pnpm package:player
```

Or manually: copy build output + autorun.brs into package directory, zip. See [code examples](references/examples.md) for manual steps.

### Step 5: Verify package

```bash
unzip -l dist/player-minimal-deploy.zip

# Must contain:
# - autorun.brs (required)
# - index.html (entry point)
# - assets/ directory with JS/CSS
# - manifest.json (optional)
```

## Output Format

When packaging an app, produce:

1. Package file path and size
2. Bundle size breakdown (main vs vendor)
3. Confirmation that autorun.brs is included
4. Any size warnings (>100KB gzipped main bundle)

## Safety Controls

- Always verify autorun.brs URL uses `file:///sd:/index.html`
- Always check bundle size against 100KB gzipped target
- Never include source maps in production packages
- Never include CDN or external URLs in production builds
- Test locally before deploying to hardware

## Reference Files

- [Code examples](references/examples.md) — autorun.brs template, Vite config, build commands, optimisation tips, Chromium compatibility
- [autorun-template.brs](assets/autorun-template.brs) — complete autorun.brs template file

## Constraints

From CambridgeMonorail/WallRun, MIT.

More from CambridgeMonorail/WallRun

Signals

Stars
3
Forks
0
Open issues
19
Last commit (this folder)
Mar 15, 2026 (7 months ago)

From GitHub (fetched Oct 24, 2026).

Details

Version
1.1
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from CambridgeMonorail

Cite this page

brightsign-package skill. Agent Mart. https://agentmart.dev/skills/cambridgemonorail-brightsign-package (last updated 2026-10-24)