Skip to main content

Installation

Prerequisites

  • Python 3.10+
  • pip or uv

Install

pip install skylos

Install optional LLM-powered agent workflows:

pip install "skylos[llm]"

Install all published optional extras:

pip install "skylos[all]"

The published extras are defined in the Skylos pyproject.toml. At the time of writing they are web, llm, test, and all.

Container Image

Skylos publishes a first-party multi-arch CLI image to GHCR:

docker pull ghcr.io/duriantaco/skylos:latest

Run a scan against the current repository:

docker run --rm \
-v "$PWD":/work \
-w /work \
ghcr.io/duriantaco/skylos:latest \
. --json --no-provenance

For CI, prefer a pinned release tag instead of latest.

Initialization

Run the init command to create a default configuration in your project root.

skylos init

This will create or append to your pyproject.toml file.

Configuration

Skylos uses standard pyproject.toml configuration. You can tune complexity thresholds and ignore specific rules.

[tool.skylos]
# Analysis Settings
complexity = 15 # Max Cyclomatic complexity (Default: 10)
nesting = 5 # Max indentation depth (Default: 3)
max_args = 5 # Max arguments per function
max_lines = 100 # Max lines per function
ignore = ["SKY-L002"] # List of Rule IDs to ignore

# Gatekeeper Settings (skylos --gate)
[tool.skylos.gate]
fail_on_critical = true
max_security = 0
max_quality = 10
strict = false # Set true to disable interactive bypass in CI

Verify Installation

Run a scan on your current directory to verify everything is working.

skylos --version