Commands

glci#

Launch the interactive TUI. Browse pipeline structure, run jobs, view history. If stdout is not a TTY, prints help.

glci run [job...]#

Run pipeline jobs locally. Job names support glob patterns (* is the only metacharacter). Global flags also apply.

FlagDescription
-d, --detachedStart pipeline in background and exit
-e, --executorExecutor: docker, kubernetes (default “docker”)
--imageDefault Docker image (default “alpine:latest”)
--stageRun only jobs in this stage
--env KEY=VALUESet variable (repeatable)
--env-fileLoad variables from env file
--secretsRemote variables: all, project, none (default “all”)
--refresh-secretsForce refresh cached API variables
--git-strategyclone, fetch, none, remote (default “clone”)
--contextbranch=NAME, merge_request, tag=NAME, env=NAME
--mr-sourceSource branch for merge_request
--mr-targetTarget branch for merge_request
--input KEY=VALUEPipeline input (repeatable)
--inputs-fileLoad inputs from YAML file
--dirtyInclude uncommitted files (default: true)
--no-dirtyOnly use committed code
--reuse-artifactsReuse artifacts from prior run
--simulateEcho commands, produce dummy artifacts
--timeoutOverride job timeout (e.g. 30m, 1h)
--no-registryDisable embedded registry
--registryCustom registry URL
--registry-userContainer registry username
--registry-passwordContainer registry password
--push-throughMirror pushes to upstream registry
--pull-policyDocker image pull policy: always, if-not-present, never
--no-tokenDisable forwarding host token as CI_JOB_TOKEN
--skipSkip a job (treated as success; repeatable)
--no-skipForce-run a normally-skipped job (repeatable)
--no-skip-allDisable all skip rules from config
--manualAuto-run a manual job (repeatable)
--manual-allAuto-run ALL manual jobs
--no-manualDisable manual auto-run
--project-dirMap trigger target to local dir (repeatable)
-p, --pipelineNamed preset from .glciconfig.toml
-w, --watchRe-run on file changes
--debounceDebounce interval (default 500ms)
--on-changeShell command to run when files change (requires –watch)

glci show#

Visualize pipeline without running it. Evaluates rules: using the specified context (default: merge_request).

FlagDescription
-w, --watchRe-render on file changes
--debounceDebounce interval (default 500ms)
--on-changeShell command to run when files change (requires –watch)
--plainDisable colors
--no-dagHide needs annotations
--jsonJSON output
--contextCI context: branch=NAME, merge_request, tag=NAME, env=NAME
--mr-sourceSource branch for merge_request
--mr-targetTarget branch for merge_request
--input KEY=VALUEPipeline input (repeatable)
--inputs-fileLoad inputs from YAML file
-p, --pipelineNamed preset

glci stop [pipeline-id]#

Stop running pipelines or individual jobs. If the daemon no longer tracks the pipeline (e.g., after a daemon restart), glci stop <id> falls back to force-removing leftover containers and the pipeline network, then marks the pipeline as canceled in history.

FlagDescription
--jobStop specific job

glci log [pipeline-id] [job-name]#

Show job trace logs. Streams live for running jobs.

glci retry [pipeline-id]#

Retry failed jobs.

FlagDescription
--jobRetry specific job

glci jobs#

List parsed pipeline jobs. Applies the same context filtering as glci show. Global flags also apply.

FlagDescription
--stageFilter by stage
--jsonJSON output
--contextCI context: branch=NAME, merge_request, tag=NAME, env=NAME
--mr-sourceSource branch for merge_request
--mr-targetTarget branch for merge_request
--input KEY=VALUEPipeline input (repeatable)
--inputs-fileLoad inputs from YAML file
-p, --pipelineNamed preset
-w, --watchRe-list on file changes
--debounceDebounce interval (default 500ms)
--on-changeShell command to run when files change (requires –watch)

glci lint#

Validate CI configuration. Parses the full CI file (including include: directives) and checks for structural issues.

FlagDescription
-q, --quietExit code only, no output on success
-w, --watchRe-validate on file changes
--debounceDebounce interval (default 500ms)
--on-changeShell command to run when files change (requires –watch)

glci history#

List past pipeline runs.

FlagDescription
--limitMax results (default 20)

glci history show [id]#

Show pipeline details with job list. Defaults to the latest pipeline.

FlagDescription
--plainPlain text output (no colors)
--no-dagHide DAG dependency arrows

glci history clean#

Delete history.

FlagDescription
--keep NKeep last N

glci ps#

List active pipelines and containers.

FlagDescription
-c, --containersShow only Docker containers

glci artifacts#

glci artifacts list [pipeline-id]#

FlagDescription
--allAcross all pipelines

glci artifacts download [pipeline-id] <job>#

FlagDescription
--outputOutput path

glci artifacts extract [pipeline-id] <job>#

FlagDescription
--outputOutput directory

glci artifacts inspect [pipeline-id] <job>#

glci artifacts diff <id1> <id2>#

FlagDescription
--jobJob name

glci artifacts delete [pipeline-id] [job]#

FlagDescription
--allAll pipelines
--older-thanDuration (e.g. 7d)

glci releases#

glci releases list [pipeline-id]#

FlagDescription
--allAcross all pipelines

glci releases show [pipeline-id] <tag>#

glci releases download [pipeline-id] <tag> [file]#

FlagDescription
-o, --outputOutput path/directory

glci registry#

Manage the embedded container registry.

glci registry list#

List images stored in the local registry.

FlagDescription
--projectFilter by project path

glci registry pull <image> [prefix]#

Pull an image from the daemon registry into the local Docker daemon. An optional prefix retags the image (e.g., local produces local.registry.gitlab.com/...).

glci registry clean#

Remove stored registry blobs.

FlagDescription
--projectOnly clean specific project’s images

glci registry stats#

Show registry storage usage (total size, image count, layer count).

glci pages#

Preview GitLab Pages sites from local pipeline runs.

glci pages serve [pipeline-id] [job-name]#

Extract and serve a Pages job’s artifact over HTTP. Pipeline ID defaults to the latest pipeline. Job name defaults to the first Pages-enabled job found (pages: true or pages: { publish: "dir" }). The publish directory within the artifact is served (default public/). If the publish directory is not found, the artifact root is served. If the preferred port is taken, the next available port is chosen automatically.

FlagDescription
-p, --portPort to serve on (default 8080)
--hostHost to bind to (default 127.0.0.1)

glci config#

Show effective merged configuration (global ~/.glci/config.toml + project .glciconfig.toml). Running glci config with no subcommand is equivalent to glci config show.

Displays [docker], [skip], and [pipelines.*] sections. Runner configuration ([runner] and [runners.<name>]) including config templates is validated at load time — template syntax errors appear as warnings.

FlagDescription
--gitlabShow resolved GitLab instance config (URL, token source, project)
--networkShow network, paths, and TLS config with defaults annotated

glci config show#

Same as glci config – accepts the same --gitlab and --network flags.

glci config init#

Scaffold a starter .glciconfig.toml in the current project. Errors if the file already exists.

glci config edit#

Open the project config in $EDITOR (falls back to $VISUAL). If no project config exists, opens $EDITOR on .glciconfig.toml in the current directory.

glci system#

glci system df#

Show disk usage of all glci resources.

glci system prune#

Remove unused containers, networks, volumes, CI cache.

FlagDescription
-a, --allRemove everything including registry and history
--forceSkip confirmation prompt

glci system cache clean#

Wipe CI cache volume.

glci system logs info#

Show log file path and size.

glci system logs clean#

Remove the log file.

glci system docker containers|networks|volumes#

Inspect glci-managed Docker resources.

glci daemon#

glci daemon status#

Show PID, uptime, active pipelines, commit.

glci daemon start#

Start the daemon manually.

glci daemon stop#

Graceful shutdown. Waits for running jobs to complete.

FlagDescription
--forceForce kill the daemon immediately

glci daemon logs#

Show daemon log output.

FlagDescription
-F, --followFollow log output in real time (like tail -f)
-n, --linesNumber of lines to show (default 50, 0 for all)

glci skill#

glci skill install#

Download and install the glci skill file for AI coding agents. When run interactively, prompts for agent and scope selection. Supports: Claude Code, Cursor, Windsurf, VS Code (Copilot), GitLab Duo, Codex (OpenAI), OpenCode.

FlagDescription
--agentTarget agent(s): claude-code, cursor, windsurf, vscode, gitlab-duo, codex, opencode (comma-separated)
--scopeInstallation scope: project or global

glci doctor#

Run health checks: Docker, daemon, token, CI config, git. Each check reports pass, fail, or warning with details.

glci version#

Show CLI and daemon build commit. Reports a [VERSION MISMATCH] warning if the CLI and daemon were built from different commits.

Global flags#

These flags are available on all commands:

FlagDescription
-f, --filePath to CI config file (default “.gitlab-ci.yml”)
--tokenGitLab private token (or set GITLAB_TOKEN env var)
--gitlab-urlGitLab instance URL (or set GITLAB_URL env var)
--projectGitLab project path (e.g. group/subgroup/project)
Esc