divekit overview

Show an overview of remote repositories for a distribution; optionally serve an HTML dashboard.

The divekit overview command loads a distribution configuration from .divekit/distributions/<name>/config.json, resolves credentials, and displays information about remote repositories (e.g., targets, UUIDs, users). With --serve, it starts a local web server to present an interactive HTML overview.

Usage

divekit overview [flags]

Flags

  • --distribution <name>, -d <name>: Select the distribution to overview (prompt if omitted)
  • --token <value>: GitLab token (optional; typically resolved from OS credential store)
  • --remote <url>: GitLab base URL (optional; typically resolved from host config)
  • --serve, -s: Serve the overview as an HTML page
  • --dry-run: Perform a dry run without making API calls
  • --help: Show help

Notes:

  • Tokens are stored in your OS credential manager (Keychain on macOS, Credential Manager on Windows, Secret Service on Linux). Host metadata and token-key references are kept in ~/.divekit/hosts.json. Configure hosts via:
    divekit config set @hosts git-nrw https://gitlab.git.nrw/   # prompts for token and stores it in OS keychain
    

Description

When executed, the command:

  1. Determines the project root (directory containing .divekit/).
  2. Selects a distribution (via --distribution or prompt).
  3. Loads its config from .divekit/distributions/<name>/config.json.
  4. Resolves credentials for a target (host URL + token).
  5. Displays or serves an overview of repositories for the distribution.

With --serve, an HTTP server is started and the default browser is opened. The HTML template lives in the CLI and is rendered at runtime.

Examples

Basic CLI Output

# Show overview for a chosen distribution (prompt if not provided)
divekit overview

Specific Distribution

divekit overview --distribution students

Serve an HTML Overview

divekit overview --distribution students --serve
# Serving on http://localhost:8080
# Opening browser...

Dry Run (no API calls)

divekit overview --distribution students --dry-run

Troubleshooting

  • “Distribution not found”:
    • Ensure you are inside a Divekit project (has .divekit/).
    • Verify .divekit/distributions/<name>/config.json exists.
  • “Credentials not resolved”:
    • Configure a host and token via:
      divekit config set @hosts git-nrw https://gitlab.git.nrw/
      
    • Check OS keychain entries for “divekit-cli”.
  • “Cannot serve/port in use”:
    • Ensure port 8080 is free or set an alternate port if supported in your environment.