Skip to main content

Prototype customer-side CLI for RunLLM Lite investigations

Project description

RunLLM Lite CLI

Prototype customer-side CLI for RunLLM Lite investigations.

The CLI stores local configuration, uploads a copy of the configured repository to the Lite engine, keeps a WebSocket open for the investigation, and executes engine-requested local tool calls on the customer's laptop.

Local Development

cd src/runllm_lite_cli
uv sync --group dev
RUNLLM_LITE_ENV=dev uv run runllm
RUNLLM_LITE_ENV=dev uv run runllm ask "what is the status of pod pod-12345?"

On first use, runllm or runllm ask "..." starts a short onboarding flow:

  1. Uses production defaults for packaged/PyPI installs:
    • Engine URL: https://gateway.runllm.com
    • Auth URL: https://cli.runllm.com
  2. Uses local dev defaults when RUNLLM_LITE_ENV=dev:
    • Engine URL: http://127.0.0.1:5099
    • Auth URL: http://localhost:5185
  3. Prompts for the API key from the auth UI and validates it with the engine.
  4. Prompts for the local repo path, defaulting to the current directory.
  5. Starts a non-blocking repo scan for supported integration keywords.
  6. Auto-detects installed tools such as kubectl and gcloud, with sensible defaults for kubeconfig and Google Cloud project.
  7. Prints repo scan results when ready, and offers matching supported tools such as Grafana if the repo references them.

You can override endpoints explicitly with RUNLLM_LITE_ENGINE_URL and RUNLLM_LITE_AUTH_URL.

If Google Cloud observability is configured during first-run interactive onboarding, RunLLM starts a background proactive discovery task. It does not block setup. If it finishes before you type your first question, RunLLM surfaces the insight and lets you ask follow-up questions in the same session. If you type first, your question wins and the proactive result is discarded.

runllm configure remains the advanced path for overriding values. It validates the engine URL and repo path and writes ~/.runllm-lite/config.json. Running it again preserves tool configuration.

On first use, the CLI checks for ~/.config/runllm/credentials.json. If no API key is cached, it prints the configured auth URL, asks you to sign in through the Lite UI, validates the pasted key with the engine, and saves the key locally with file permissions set to 0600.

To replace the cached API key explicitly:

uv run runllm configure --api-key

You can also pass the key directly with --api-key <key>, though entering it at the prompt avoids putting the key in shell history.

Tool configuration is separate:

  • runllm tools configure-kubectl detects kubectl and validates kubeconfig.
  • runllm tools configure-gcp-observability detects gcloud and optionally stores a default project. The CLI advertises curated actions for Cloud Logging, Error Reporting, Cloud Monitoring metrics, and alert policies while still executing everything through local gcloud credentials.
  • runllm tools configure-grafana stores Grafana MCP settings. If mcp-grafana is not on PATH, the CLI downloads the latest Linux x86_64 GitHub release to ~/.runllm-lite/bin/mcp-grafana unless --no-auto-install is set.
  • runllm tools list shows the configured tools that will be advertised to the engine for a session.

runllm ask "..." runs a one-shot question. Running runllm with no subcommand starts an interactive session: the CLI uploads the repo once, keeps the WebSocket open, and lets you type follow-up questions until /exit.

For Git repositories, the CLI uses git archive HEAD so the upload matches the committed files a fresh clone would contain. This excludes untracked files, ignored generated outputs, local virtualenvs, node_modules, and other working tree noise. If git archive is unavailable, the CLI falls back to a filtered filesystem archive that skips common generated or heavy paths.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

runllm-0.2.4.tar.gz (34.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

runllm-0.2.4-py3-none-any.whl (39.7 kB view details)

Uploaded Python 3

File details

Details for the file runllm-0.2.4.tar.gz.

File metadata

  • Download URL: runllm-0.2.4.tar.gz
  • Upload date:
  • Size: 34.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for runllm-0.2.4.tar.gz
Algorithm Hash digest
SHA256 9462226c11bdc88a565d0e92b625d3bf611931eda34d2b0ace131919e9626050
MD5 5d133c31cd8abd16c793a5b8baeca3ba
BLAKE2b-256 0bfba28af0cf9cb9d74062fc635a7ad9cb6b8cf8daad6004ee91858429962377

See more details on using hashes here.

File details

Details for the file runllm-0.2.4-py3-none-any.whl.

File metadata

  • Download URL: runllm-0.2.4-py3-none-any.whl
  • Upload date:
  • Size: 39.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for runllm-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 4b6e55438e4eceb8cb8555ca326b5dfe409731efbe62e665cb5bc07ac68ca5d3
MD5 e051f921aed1eacdb07d1c533f91c6a1
BLAKE2b-256 dc33117db1a8c43c5acccd4ede2426eb5d7aafef5459c67fb91e3ee524724faa

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page