2.4 KiB
ELY Browser
Native Rust + GPUI browser workspace for ELY Browser by Elydora.
The repository is organized around explicit product boundaries from PRD.md:
domain state, browser orchestration, design tokens, GPUI shell, and Servo host contracts.
Reference GPUI ecosystem repositories live under references/ for local review and are excluded
from version control.
Local Commands
cargo --locked fmt --all --check
cargo check --locked --workspace --all-targets
cargo clippy --locked --workspace --all-targets -- -D warnings
cargo test --locked --workspace --all-targets
cargo check --locked -p ely_servo_host --features servo-engine,hardware-render --all-targets
cargo clippy --locked -p ely_servo_host --features servo-engine,hardware-render --all-targets -- -D warnings
cargo test --locked -p ely_servo_host --features servo-engine,hardware-render --all-targets -- --test-threads=1
scripts/verify_prd_site_rendering.sh
scripts/verify_windows_app_manifest.sh
scripts/create_macos_app_bundle.sh
scripts/create_native_distribution.sh
scripts/run_dev.sh
The macOS hardware tests cover the CGL rendering context, IOSurface export, sidecar Mach descriptor
transfer, GPUI surface lease, and IOSurface use-count release. scripts/verify_prd_site_rendering.sh
keeps the software RGBA assertions.
The local macOS QA bundle places both release executables in Contents/MacOS, installs
AppIcon.icns, and verifies its code signature. It uses an ad-hoc signature by default;
ELY_CODESIGN_IDENTITY selects an installed signing identity. Native distribution inputs place
ely_app and ely_servo_sidecar beside each other at the distribution root. The packaging scripts
verify those paths and executable permissions.
Cloudflare Auth Configuration
/api/auth/* is served by Better Auth in the Cloudflare Worker. Local wrangler dev
uses ELY_AUTH_BASE_URL from cloudflare/wrangler.toml; deployed environments should
set the matching public Worker origin.
Use Wrangler secrets or an untracked cloudflare/.dev.vars file for the remaining auth
bindings:
wrangler secret put ELY_AUTH_SECRET
wrangler secret put ELY_AUTH_GOOGLE_CLIENT_ID
wrangler secret put ELY_AUTH_GOOGLE_CLIENT_SECRET
wrangler secret put ELY_AUTH_GITHUB_CLIENT_ID
wrangler secret put ELY_AUTH_GITHUB_CLIENT_SECRET
wrangler secret put ELY_AUTH_EMAIL_OTP_ENDPOINT
wrangler secret put ELY_AUTH_EMAIL_OTP_TOKEN