Package Exports
- scriptlane
- scriptlane/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (scriptlane) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
scriptlane
A developer-centric script runner & task orchestrator for modern monorepos.
Explore the docs ยป
View Demo
·
Report Bug
·
Request Feature
Table of Contents
About The Project
scriptlane is a next-generation CLI tool for developers and teams who want full control and a beautiful experience when running and organizing scripts across projects.
Whether you need a better workflow than npm run, want to orchestrate multiple scripts in parallel, or prefer a robust TUI for scripts in your monorepoโscriptlane has you covered.
Features
- ๐ฅ๏ธ Modern TUI: Minimal, beautiful interactive interface for discovering and running scripts.
- ๐ Concurrent Tasks: Select and run multiple commands in parallel with real-time logs.
- ๐ท๏ธ Script Metadata: Organize scripts with groups, descriptions, and aliases.
- ๐ ๏ธ Custom Scripts: Use a typed
scripts.config.tsfor full flexibility (no more JSON lock-in). - โก CI/CD Ready: Run any script directly in non-interactive mode for pipelines:
scriptlane -s "build" - ๐ Copy-paste Logs: Easily select and copy output with your mouse.
- ๐ป Zero lock-in: Runs your current
package.jsonscripts out of the box, supports merging with custom config. - ๐ TypeScript-first: Built with TypeScript for safety and extensibility.
Built With
Getting Started
Prerequisites
Installation
Global installation
npm install -g scriptlaneGlobal instalation
npm install --save-dev scriptlaneor use with npx (no install)
npx scriptlaneProject setup
- Add a scripts.config.ts to your project root:
import type { ScriptsConfiguration } from 'scriptlane';
const scripts: ScriptsConfiguration = {
Build: { cmd: 'npm run build', group: 'Frontend', description: 'Build frontend' },
Test: { cmd: 'npm run test', group: 'CI', description: 'Run tests' },
};
export default scripts;- Run scriptlane in your project directory:
npx scriptlaneUsage
Run Interactively
npx scriptlane- Use the arrow keys and space/enter to select and run scripts.
Run a Script in CI/CD
npx scriptlane -s "Build" # Command name or alias- Runs the script named "Build" and exits with its exit code.
Options
| Flag | Description |
|---|---|
| -c, --config | Path to custom scripts config file |
| -d, --debug | Enable debug logging |
| -p, --preset | Theme preset for the CLI |
| -hs, --hide-scripts | Hide package.json scripts |
| -s, --script | Run a specific script by alias/name and exit |
| -h, --help | Show help |
For more examples, see the documentation
Roadmap
- TUI for multi-select and parallel scripts
- Non-interactive CI/CD mode
- Cross-platform shell compatibility
- Plugin system for script extensions
- Custom keybindings and themes
See the open issues for a full list of proposed features (and known issues).
Contributing
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Top contributors:
License
Distributed under the Unlicense License. See LICENSE.txt for more information.
Contact
Your Name - @galfrevn - galfre.vn@gmail.com
Project Link: https://github.com/galfrevn/scriptlane
