scriptlane
TypeScript icon, indicating that this package has built-in type declarations

0.0.8 • Public • Published

Contributors Forks Stargazers Issues Unlicense License LinkedIn


Logo

scriptlane

A developer-centric script runner & task orchestrator for modern monorepos.
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

scriptlane demo

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.ts for 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.json scripts out of the box, supports merging with custom config.
  • 🔒 TypeScript-first: Built with TypeScript for safety and extensibility.

(back to top)

Built With

(back to top)

Getting Started

Prerequisites

Installation

Global installation

npm install -g scriptlane

Global instalation

npm install --save-dev scriptlane

or use with npx (no install)

npx scriptlane

(back to top)

Project setup

  1. 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;
  1. Run scriptlane in your project directory:
npx scriptlane

(back to top)

Usage

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

(back to top)

Roadmap

  • [x] TUI for multi-select and parallel scripts
  • [x] 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).

(back to top)

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!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Top contributors:

contrib.rocks image

(back to top)

License

Distributed under the Unlicense License. See LICENSE.txt for more information.

(back to top)

Contact

Your Name - @galfrevn - galfre.vn@gmail.com

Project Link: https://github.com/galfrevn/scriptlane

(back to top)

Package Sidebar

Install

npm i scriptlane

Weekly Downloads

0

Version

0.0.8

License

MIT

Unpacked Size

162 kB

Total Files

19

Last publish

Collaborators

  • galfrevn