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
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.
About
Use cases: frontend
Reviews
Write a reviewNo 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
- 0.454score
brightsign-deploy-local
CambridgeMonorail
Deploy React apps to local BrightSign OS 9.x players via HTTP API for rapid development iteration.
SkillDFreshness: D★ 3Claude Code +9 - 0.454score
shadcnui-component-review
CambridgeMonorail
End-to-end review of shadcn/ui components in a component library.
SkillDFreshness: D★ 3Claude Code +9 - 0.454score
instructions-detox
CambridgeMonorail
Audit Copilot instruction files for bloat, overlap, stale rules, and weak applyTo scope.
SkillDFreshness: D★ 3Claude Code +9 - 0.454score
signage-content-fallbacks
CambridgeMonorail
Ensure digital signage screens always display content by implementing fallback chains for API failures, missing data, and feed outages.
SkillDFreshness: D★ 3Claude Code +9 - 0.454score
signage-data-refresh-patterns
CambridgeMonorail
Generate polling, backoff, and non-blocking data update patterns for digital signage that refreshes content without page reloads or visual disruption.
SkillDFreshness: D★ 3Claude Code +9 - 0.454score
brightsign-signage-build
CambridgeMonorail
Build a BrightSign-targeted digital signage app by combining full-screen layout design, BrightSign runtime constraints, packaging expectations, and…
SkillDFreshness: D★ 3Claude Code +9 - 0.454score
chrome-devtools-webapp-debug
CambridgeMonorail
Investigate broken pages, failing user journeys, console errors, network failures, and frontend performance regressions using Chrome DevTools MCP.
SkillDFreshness: D★ 3Claude Code +9 - 0.454score
signage-menu-board
CambridgeMonorail
Build food and service menu-board systems for large displays using clear templates, price hierarchy rules, structured inputs, and screen planning.
SkillDFreshness: D★ 3Claude Code +9 - 0.454score
brightsign-fleet-deploy
CambridgeMonorail
Build, version, and publish React apps to GitHub Releases for fleet-wide BrightSign player updates.
SkillDFreshness: D★ 3Claude Code +9 - 0.450score
brightsign-debug
CambridgeMonorail
Diagnose and troubleshoot BrightSign OS 9.x player issues using device info APIs, remote Chrome DevTools inspector, log analysis, and file verification.
SkillDFreshness: D★ 3Claude Code +9 - 0.449score
signage-performance-budget
CambridgeMonorail
Audit and validate bundle size, image weight, font loading, and frame-rate budgets for digital signage running on embedded hardware like BrightSign players.
SkillDFreshness: D★ 3Claude Code +9 - 0.449score
brightsign-runtime
CambridgeMonorail
Explain how to build and adapt web applications that run reliably on BrightSign players.
SkillDFreshness: D★ 3Claude Code +9
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
- Repository
- github.com/CambridgeMonorail/WallRun
- Website
- wallrun.dev/
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from CambridgeMonorail
- 0.454score
instructions-detox
CambridgeMonorail
Audit Copilot instruction files for bloat, overlap, stale rules, and weak applyTo scope.
SkillDFreshness: D★ 3Claude Code +9 - 0.454score
chrome-devtools-webapp-debug
CambridgeMonorail
Investigate broken pages, failing user journeys, console errors, network failures, and frontend performance regressions using Chrome DevTools MCP.
SkillDFreshness: D★ 3Claude Code +9 - 0.454score
brightsign-deploy-local
CambridgeMonorail
Deploy React apps to local BrightSign OS 9.x players via HTTP API for rapid development iteration.
SkillDFreshness: D★ 3Claude Code +9 - 0.454score
brightsign-fleet-deploy
CambridgeMonorail
Build, version, and publish React apps to GitHub Releases for fleet-wide BrightSign player updates.
SkillDFreshness: D★ 3Claude Code +9 - 0.454score
brightsign-signage-build
CambridgeMonorail
Build a BrightSign-targeted digital signage app by combining full-screen layout design, BrightSign runtime constraints, packaging expectations, and…
SkillDFreshness: D★ 3Claude Code +9 - 0.454score
shadcnui-component-review
CambridgeMonorail
End-to-end review of shadcn/ui components in a component library.
SkillDFreshness: D★ 3Claude Code +9
Cite this page
brightsign-package skill. Agent Mart. https://agentmart.dev/skills/cambridgemonorail-brightsign-package (last updated 2026-10-24)