Getting Started
Project Structure
Understand the SkyPort repository layout and runtime boundaries.
SkyPort keeps the repository split into a small number of clearly defined surfaces.
package.json
{
"name": "skyport",
"version": "1.0.0",
"description": "Self-hosted infrastructure platform",
"private": true
}
Backend
The backend owns API routes, WebSocket streams, runtime collection, and host integration.
backend/cmd/server/main.go
package main
func main() {
// Backend server entry point
}
CLI
The CLI provides the operator-facing command surface.
cli/main.go
package main
import (
"log"
"skyport-cli/cmd"
)
func main() {
if err := cmd.Execute(); err != nil {
log.Fatal(err)
}
}
Runtime Storage
The CLI stores its local state under ~/.skyport/.
~/.skyport/config.yaml
# SkyPort CLI configuration
host: localhost
port: 8080
token: ""
authenticated: false
Build Targets
make backend-buildbuilds the backend server.make cli-buildbuilds the CLI binary.make build-allbuilds the embedded UI plus release binaries.
