Skip to content

Plugins

Extend kist with official and community plugins.

What are Plugins?

Plugins add new actions to kist. Actions are the building blocks of your pipeline - each action performs a specific task like compiling TypeScript, processing SCSS, or running tests.

Installing Plugins

bash
# Install one or more plugins
npm install --save-dev @getkist/action-sass @getkist/action-typescript

# Then declare them in kist.yml
yaml
plugins:
  - @getkist/action-sass
  - @getkist/action-typescript

Official Plugins

Official plugins are maintained by the kist team and follow strict quality standards.

Style Plugins

PluginActionsDescription
@getkist/action-sassStyleProcessingActionSCSS/Sass compilation with source maps
@getkist/action-postcssPostCssActionPostCSS processing with autoprefixer, cssnano

Build Plugins

PluginActionsDescription
@getkist/action-typescriptTypeScriptCompilerActionTypeScript compilation
@getkist/action-terserJavaScriptMinifyActionJavaScript minification
@getkist/action-tsupBundleActionBundle with tsup (esbuild)

Quality Plugins

PluginActionsDescription
@getkist/action-eslintLintActionESLint code linting
@getkist/action-prettierPrettierActionPrettier code formatting
@getkist/action-jestJestActionJest test runner

Asset Plugins

PluginActionsDescription
@getkist/action-svgSvgSpriteAction, SvgReaderAction, SvgPackagerAction, SvgToPngActionSVG processing and sprite generation
@getkist/action-nunjucksTemplateRenderActionNunjucks template rendering

Plugin Versions

PluginVersionnpm
@getkist/action-sass1.0.5npm
@getkist/action-postcss1.0.3npm
@getkist/action-typescript0.0.9npm
@getkist/action-eslint1.0.3npm
@getkist/action-prettier1.0.7npm
@getkist/action-jest1.0.5npm
@getkist/action-terser1.0.3npm
@getkist/action-tsup1.0.3npm
@getkist/action-svg1.0.5npm
@getkist/action-nunjucks2.0.10npm

Community Plugins

Community plugins follow the naming convention kist-plugin-*.

Creating a Plugin?

Check out the Plugin Development Guide to create your own plugin.

Quick Start Examples

SCSS Compilation

bash
npm install --save-dev @getkist/action-sass
yaml
plugins:
  - @getkist/action-sass

pipeline:
  build:
    stages:
      - name: styles
        steps:
          - action: StyleProcessingAction
            options:
              inputFile: src/styles/main.scss
              outputFile: dist/css/main.css
              style: compressed
              sourceMap: true

TypeScript + Linting

bash
npm install --save-dev @getkist/action-typescript @getkist/action-eslint
yaml
plugins:
  - @getkist/action-typescript
  - @getkist/action-eslint

pipeline:
  build:
    stages:
      - name: lint
        steps:
          - action: LintAction
            options:
              files: ["src/**/*.ts"]
              
      - name: compile
        steps:
          - action: TypeScriptCompilerAction
            options:
              tsconfig: tsconfig.json

SVG Sprites

bash
npm install --save-dev @getkist/action-svg
yaml
plugins:
  - @getkist/action-svg

pipeline:
  build:
    stages:
      - name: icons
        steps:
          - action: SvgSpriteAction
            options:
              inputDir: src/icons
              outputDir: dist/sprites
              spriteFilename: icons.sprite.svg

Next Steps

Released under the MIT License.