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.
