Status: unsigned development preview; not yet a stable release
GoForj Harbor is the local development control plane for GoForj projects. It is designed to give every project stable .test domains, trusted HTTPS, and native service ports without making projects compete for the same host bindings.
Harbor keeps project ownership intact: each project retains its own GoForj Apps, Compose services, versions, credentials, containers, and volumes. A per-user daemon owns Harbor state and reconciliation; the CLI and Wails desktop are clients; narrowly scoped privileged helpers apply only reviewed machine-level networking changes.
Harbor v0.1.0-beta.1 includes an Apple-silicon macOS PKG and an Ubuntu 24.04 amd64 DEB, with checksums and package provenance. The macOS package is unsigned and unnotarized. Windows passed its hosted installed-app checks, but public installers remain gated on production code signing. See Beta support and recovery for tested profiles, installation, conflicts, diagnostics, and safe recovery.
The first complete release must prove that three ordinary GoForj projects can run concurrently on macOS, Linux, and Windows with:
- stable HTTPS application and tool URLs;
- project-specific MySQL, PostgreSQL, and Redis endpoints on their native ports;
- per-project containers and persistent data;
- DNS, certificates, ingress, and restart recovery managed without rewriting application code or repository port configuration;
- the same core workflows available through the daemon protocol, CLI, and desktop;
- native operating-system CI evidence for every supported networking and privilege claim.
The approved design and its complete release gates are indexed in Harbor design.
Harbor provides guided GoForj project creation, dedicated project loopback addresses, trusted HTTPS, development output, terminals, and service inspection. Supported running environments survive daemon restarts and reconnect without rebuilding or restarting Compose. Native installed-app acceptance passes on the named hosted macOS, Ubuntu, and Windows profiles; the preview does not establish every desktop or consent profile.
Current implementation state is the source of truth for what works, temporary compatibility bridges, known gaps, and validation. Development handoff records the exact continuation point and local worktree boundary.
From the repository root, run the complete development graph:
forj devThis builds and watches harbord, applies its embedded migrations, runs the daemon in the foreground, and starts the Wails desktop. Do not run forj dev, harbord, or Wails as root or Administrator; Harbor requests explicit elevation only for a bounded helper operation.
See source development for current prerequisites, daemon-only and helper-bootstrap workflows, CLI commands, and generated-source maintenance. The root Go module, nested desktop Go module, and desktop/frontend test/build surface are independent validation boundaries.
- Beta support and recovery: public downloads, tested profiles, practical setup, and troubleshooting.
- Current implementation state: implemented behavior and known gaps.
- Development handoff: current worktree boundary, reproduction context, and next goal.
- Product design: user model, workflows, UI, and first-release scope.
- Frontend: GoForj Vue/shadcn foundation and the bounded Lerd visual adaptation.
- Illustrations: Harbor's handcrafted visual language, maritime metaphors, assets, and placement rules.
- Architecture: authority, state, lifecycle, IPC, privilege, and recovery.
- Networking: loopback identity, DNS, TLS, ingress, relays, and platform proof gates.
- GoForj integration: the intended versioned project and managed-session contract.
- Repository environment overrides: the optional runtime-neutral mapping from Harbor facts to project environment names.
- Cross-platform testing: required macOS, Linux, and Windows evidence.
- Delivery plan: dependency-ordered milestones and release definition.
- Research: pinned Herd, Yerd, Lerd, Wails, platform, and GoForj findings.