Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 1,000,000+ packages pre-installed, including lint-gitlab-ci with all npm packages installed. Try it out:

var lintGitlabCi = require("lint-gitlab-ci")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

lint-gitlab-ci v1.1.1

GitLab-ci script to lint .gitlab-ci.yml files.

Lint GitLab CI

A module and cli that lints a .gitlab-ci.yml file, using the GitLab ci lint api.


npm install -g lint-gitlab-ci


Basic usage

import lintGitlabCi from "lint-gitlab-ci";

lintGitlabCi().then((result) => {
    if (result.isValid) {
    } else {


import lintGitlabCi, { ILintGitlabCiOptions } from "lint-gitlab-ci";

const options: ILintGitlabCiOptions = {
    filePath: "example-ci.yml",
    api: {
        baseUrl: "",
        version: "exampleVersion",
        paths: {
            lintCiYml: "example/path",

lintGitlabCi(options).then((result) => {
    if (result.isValid) {
    } else {


Cli basic usage


This will lint a .gitlab-ci.yml file and output any errors.

Specify file

To specify a different ci file, pass the filename as an argument.

lint-gitlab-ci example-ci.yml

Cli options

-u, --url

Specifies the GitLab api url to use - defaults to

lint-gitlab-ci --url

-a, --api-version

Specifies the GitLab api version to use - defaults to v4.

lint-gitlab-ci --api-version exampleVersion

-p, --ci-lint-path

Specifies the GitLab api ci linting path to use - defaults to ci/lint.

lint-gitlab-ci --ci-lint-path example/path

Integration with husky

Install lint-gitlab-ci and husky.

npm install -D lint-gitlab-ci husky

Configure husky to run the lint-gitlab-ci cli before committing.

    "husky": {
        "hooks": {
            "pre-commit": "lint-gitlab-ci"

This will validate the current .gitlab-ci.yml and block the commit if the file is invalid.


This project started as a TypeScript implementation of this project, but is now a completely new implementation.

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free