kist is a lightweight, plugin-based package pipeline processor for modern JavaScript/TypeScript projects. It provides a modular framework for automating build workflows with support for live reload, parallel execution, and extensible actions.
- Plugin Architecture - Extend functionality with official and community plugins
- Pipeline System - Define stages and steps in YAML configuration
- Core Actions - Built-in actions for common tasks (copy, clean, compile, etc.)
- Live Reload - Watch mode with automatic rebuilds
- TypeScript - Full TypeScript support with type definitions
- Self-Hosting - kist builds itself using its own pipeline
- Caching - Smart build caching for faster rebuilds
- Parallel Execution - Run stages and steps concurrently
npm install kist --save-devCreate a kist.yml file in your project root:
stages:
- name: build
steps:
- name: clean
action: DirectoryCleanAction
options:
dirPath: "./dist"
- name: copy-files
action: FileCopyAction
options:
srcFile: "./README.md"
destDir: "./dist"
- name: compile
action: TypeScriptCompilerAction
options:
tsConfigPath: "./tsconfig.json"
outputDir: "./dist/js"npx kist
# or with a specific config
npx kist --config kist.production.ymlkist includes these built-in actions:
| Action | Description |
|---|---|
DirectoryCleanAction |
Remove directory contents |
DirectoryCopyAction |
Copy directories recursively |
DirectoryCreateAction |
Create directories |
FileCopyAction |
Copy individual files |
FileRenameAction |
Rename or move files |
TypeScriptCompilerAction |
Compile TypeScript |
PackageManagerAction |
Generate package.json |
VersionWriteAction |
Update version in files |
RunScriptAction |
Execute npm scripts |
DocumentationAction |
Generate documentation |
Extend kist with official action plugins:
| Plugin | Description |
|---|---|
| kist-action-sass | Compile SASS/SCSS to CSS |
| kist-action-typescript | Advanced TypeScript compilation |
| kist-action-jinja | Process Jinja2 templates |
| kist-action-svg | Optimize and package SVGs |
| kist-action-test | Run tests with Jest/Vitest |
Install plugins via npm:
npm install kist-action-sass --save-devoptions:
mode: development
logLevel: debug
live:
enabled: true
port: 3000
watchPaths:
- src/**
cache:
enabled: true
cacheDir: ".kist-cache"
performance:
parallelProcessing: true
maxConcurrentStages: 4
stages:
- name: Preprocessing
parallel: false
steps:
- name: Clean
action: DirectoryCleanAction
options:
dirPath: "./dist"
- name: CopyAssets
action: DirectoryCopyAction
options:
srcDir: "./src/assets"
destDir: "./dist/assets"
- name: Compile
parallel: true
steps:
- name: CompileTS
action: TypeScriptCompilerAction
options:
tsConfigPath: "./tsconfig.json"
outputDir: "./dist/js"
- name: CompileSASS
action: StyleProcessingAction
options:
inputFile: "./src/scss/main.scss"
outputFile: "./dist/css/main.css"Create reusable base configurations:
# kist.base.yml
stages:
- name: build
steps:
- name: compile
action: TypeScriptCompilerAction
options:
tsConfigPath: "./tsconfig.json"# kist.production.yml
extends: ./kist.base.yml
options:
mode: productionkist [options]
Options:
--config, -c Path to config file (default: kist.yml)
--live, -l Enable live reload mode
--verbose, -v Enable verbose logging
--help, -h Show help
--version Show versiongit clone https://github.com/getkist/kist.git
cd kist
npm install
npm run buildkist uses a self-hosting build process:
tsccompiles TypeScript (bootstrap)kistruns its own pipeline for packaging
kist/
├── src/ts/
│ ├── actions/ # Built-in action implementations
│ ├── core/ # Pipeline engine, config, plugins
│ ├── interface/ # TypeScript interfaces
│ ├── live/ # Live reload server
│ ├── cli.ts # CLI entry point
│ └── kist.ts # Main Kist class
├── dist/ # Compiled output
├── kist.yml # Build configuration
└── package.json
Full documentation available at getkist.com
Contributions are welcome! See CONTRIBUTING.md for guidelines.
- Fork the repository
- Create a feature branch
- Make changes and add tests
- Submit a pull request
MIT License - see LICENSE for details.
Copyright © 2024-2026 Scape Agency
Made with ❤️ by Scape Agency
