Help

Development

Run, build, and package Astrofox from source.

Astrofox is a client-side Next.js application with React and Three.js. It does not require a backend or authentication service for local development.

Requirements#

  • Node.js compatible with the version declared by the project dependencies
  • pnpm
  • Git

Clone and install:

Run the web app#

Create a production build with:

The regular build path is used for web deployment. Projects and media stay on the user's device; no local API service is required.

Run the desktop app#

The desktop development command starts the Next.js development environment and the Electron shell:

For a production desktop package:

Platform-specific commands are also available:

BUILD_TARGET=desktop produces a static Next.js export in out/, which is then packaged with the Electron main process and preload bridge.

Develop plugins#

Run the example plugin server:

It finds an available port, serves the example plugin directories with CORS, and prints manifest URLs to install in Astrofox. See Plugin authoring for the full workflow.

Architecture notes#

  • The web and desktop builds share one application and project format.
  • File System Access APIs are preferred for ordinary project and media I/O.
  • The Electron bridge is limited to window chrome, ffmpeg, temporary files, and operating-system integration after export.
  • Web video uses MediaRecorder; desktop offline export renders frames and sends them through the bundled ffmpeg binary.
  • External JavaScript plugins run in sandboxed workers with a restrictive Content Security Policy.

Source code and contribution activity live in the Astrofox GitHub repository.