Date started: 2026-04-05 Branch: development Status: IN PROGRESS
Build one installer per integration target, all Python, grouped into 5 module files (one per sub-phase). Every installer: detects the target, copies bridge files, installs deps, runs a health check, prints clear success/failure + next steps.
install/
__init__.py
_common.py — shared base class, ANSI output, path detection, connection test
install_python.py — 16A: pygame, NSE, VGSK
install_js.py — 16B: SillyTavern, Foundry, Roll20, Owlbear, DnDBeyond, RPGMaker, Construct3
install_csharp.py — 16C: Unity, MonoGame, FGU, OpenSim
install_native.py — 16D: Minecraft, Roblox, Godot, Defold
install_cpp.py — 16E: Unreal, CryEngine, O3DE
tests/
__init__.py
test_common.py — tests for _common.py utilities
test_installers.py — tests for all installer classes (detection, file lists, notes)
Each installer is a class inheriting BaseInstaller:
name: str— target namedescription: str— one-linerbridge_src_dir(wyrd_root: Path) -> Path— WYRD source locationdetect_candidates(search_paths: list[Path]) -> list[Path]— auto-detectfiles_to_install(wyrd_root: Path) -> list[tuple[Path, str]]— (src_path, rel_dst)install_deps_cmd(target_dir: Path) -> list[str] | None— shell command or Nonepost_install_notes() -> str— what to do after installrun(wyrd_root, target_dir=None, dry_run=False, wyrd_host="localhost", wyrd_port=8765)
_common.py provides:
BaseInstallerABCcolor(text, code)— ANSI, safe on all terminalsprint_ok/err/info/step(msg)test_wyrd_connection(host, port, timeout=5) -> boolcopy_bridge_files(files, target_dir, dry_run=False) -> list[Path]find_dir_by_markers(search_paths, markers) -> list[Path]— detect by sentinel files
| Sub-phase | Deliverable | Status |
|---|---|---|
| 16A | install/_common.py + install_python.py (pygame, NSE, VGSK) | pending |
| 16B | install_js.py (ST, Foundry, Roll20, Owlbear, DnDBeyond, RPGMaker, Construct3) | pending |
| 16C | install_csharp.py (Unity, MonoGame, FGU, OpenSim) | pending |
| 16D | install_native.py (Minecraft, Roblox, Godot, Defold) | pending |
| 16E | install_cpp.py (Unreal, CryEngine, O3DE) | pending |
| 16F | tests/ (~90 tests) | pending |
| — | ROADMAP.md update | pending |
| — | git commit + push | pending |
| — | memory update | pending |
- Read this file
ls install/to see what exists- Run
python -m pytest install/tests/ -vto see what passes - Complete missing files in order: _common → python → js → csharp → native → cpp → tests