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-build builds the backend server.
  • make cli-build builds the CLI binary.
  • make build-all builds the embedded UI plus release binaries.
SkyPort

SkyPort Docs

Self-hosted infrastructure platform