Skip to content

feat: add video environment preflight - #129

Draft
jbdrak wants to merge 1 commit into
browser-use:mainfrom
jbdrak:feat/121-preflight-doctor
Draft

feat: add video environment preflight#129
jbdrak wants to merge 1 commit into
browser-use:mainfrom
jbdrak:feat/121-preflight-doctor

Conversation

@jbdrak

@jbdrak jbdrak commented Aug 12, 2026

Copy link
Copy Markdown

What Changed

Adds a dependency-free preflight command for video-use:

python helpers/check_env.py --videos-dir /path/to/your/videos

It checks:

  • ffmpeg and ffprobe are available and version 4+
  • the footage directory exists and is writable
  • the <videos_dir>/edit/ output directory can be created and written to
  • optional HyperFrames, Remotion, or Manim backends when explicitly requested with --require

It exits non-zero when a required check fails. It doesn't install packages or contact external services.

Closes #121.

Why This Approach

The repository has no runtime dependency on a specific CLI framework and no existing test suite, so the command uses only the Python standard library. Optional animation engines stay opt-in because video-use installs them lazily per animation slot.

The check writes and removes a temporary file in the target directories instead of relying only on permission bits, which reflects the real failure mode on macOS, Linux, and WSL.

Documentation

  • install.md now uses the preflight command during setup verification.
  • SKILL.md now recommends it on cold start and documents optional backend checks.

Verification

  • python3 -m unittest discover -s tests -v: 9 passed
  • python3 -m py_compile helpers/check_env.py tests/test_check_env.py: passed
  • python3 -m compileall -q helpers tests: passed
  • python3 helpers/timeline_view.py --help: passed
  • Real temporary writable footage directory: 4 passed, 0 failed, exit 0; edit/ created
  • Missing footage directory: 2 passed, 2 failed, exit 1; no directory created
  • git diff --check: passed

Scope / Non-Goals

  • No automatic installation
  • No ElevenLabs API calls
  • No transcription or rendering
  • No mandatory Node, Remotion, HyperFrames, Manim, or LaTeX dependency

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add a preflight/doctor command to verify ffmpeg and optional overlay dependencies

1 participant