The pipeline
Import → Analyze → Review → Build → Run → Develop.
Import
Acquire the project
Clone a GitHub repository (public, or private through a connected account) on the branch you pick, or register a local folder in place.
- https:// and git@ URLs
- Real branch list via git ls-remote
- Local folders are never copied
Analyze
Read what's really there
Framework adapters compete to explain the repository from real files. The most confident honest match produces a build plan.
- package.json · lockfiles · packageManager
- Dockerfile · EXPOSE
- .nvmrc · workspaces · .env.example
Review
Show you the plan
Before anything runs you see the framework, package manager, commands, Node requirement, services and missing variables, along with a compatibility verdict.
- Supported → Build
- Ambiguous → Configure
- Nothing faked
Build
Run six real stages
Analyse, prepare, install, build, test and start, in a Docker container or a confined local process, each stage streamed live.
- Cancellable at any point
- Secrets redacted from logs
- Failures classified by cause
Run
Serve it on localhost
A free port is allocated and passed as PORT, the app is started, and FLY8HT waits until it's accepting connections before calling it running.
- Crash detection
- Restart / stop
- Stale state reconciled at launch
Develop
Keep working on it
Switch to dev-server mode for a live preview with hot reload, edit files in the built-in editor, and commit, stash or pull from the Development tab.
- Embedded live preview
- Dependency-change alerts
- Safe pulls that refuse to overwrite work
Detection
Every conclusion has a source file.
No README parsing and no AI guesswork. Hover a file to see exactly which signal produced which conclusion.
Repository
What FLY8HT concluded
Workspace
Every project gets its own workspace.
Overview, build history, environment variables, detected services, repository details, a Development tab and an Editor. Click through them.
Project status
Latest build
Project information
Recent activity
Manual configuration
When detection isn't enough, you're in charge.
Monorepo targets, unusual stacks and projects with their Dockerfile in a subfolder all have a clear path, and a saved configuration always takes priority over fresh detection.
Working directory apps/web Install pnpm install Build pnpm run build Start pnpm start -- --port $PORT
Dockerfile docker/embedded/Dockerfile Container port 8080
Commands are parsed into a safe argument list. Only known executables are allowed and shell operators are rejected, so a typo can’t turn into something dangerous.
Write $PORT anywhere in a command and FLY8HT substitutes the port it allocated, so your app and FLY8HT always agree on where it’s running.
Under the hood
A desktop app built like a careful tool.
Electron, React and SQLite, with a hard wall between the interface and anything that touches your system.
Sandboxed interface
The UI runs with context isolation and no Node access. It can only call a fixed list of named, typed actions.
Validated bridge
Every action is schema-validated again on the trusted side. The interface's own validation is never relied on.
Repository analyzer
Framework adapters for Next.js, Vite, Node, static sites, Dockerfiles and more, plus a workspace analyzer for monorepos.
Build manager
Owns the stage timeline, pre-flight checks (missing package manager, missing Docker) and cancellation.
Runtime manager
Starts, watches and stops apps; verifies a process is really FLY8HT's before ever signalling it.
Executors
A Docker executor (non-root, resource-limited, auto-removed) and a local-process executor, behind one interface.
Git workspace
Status, branches, commits and pulls, with a safety layer that refuses to act on a dirty working tree.
Local database
Projects, builds, logs and settings in SQLite on your disk. Variables and tokens encrypted with OS secure storage.