Automate Your Terminal Operation
A command-line tool that automates workflows by running each script command in its own terminal instance.
GitHub stars • GitHub forks • GitHub issues • License
Features • Installation • Usage • Building • Contributing
- Block-based Configuration: Organize commands into named blocks for easy management
- Separate Terminal Instances: Each command runs in its own terminal window or tab
- Multiple Execution Modes: Normal (
+), minimized (-), background ($), and Windows Terminal with title (&) - Background Processes: Run commands without blocking the terminal
- Windows Terminal Support: Pass commands directly or run with custom tab titles
- Comment Support: Use comments and empty lines in scripts for readability
- Simple Syntax: Easy-to-read configuration format
- Quoted Arguments: Commands support quoted arguments as single units
- Test Mode: Dry-run commands for testing without execution
- Thread-safe Output: Console output is serialized for mixed sync and async commands
- Go to the Releases page
- Download the latest
auto.exeorAutoInstaller.*.exe - Run the installer or add
auto.exeto your system PATH
See the Building section below.
Define command blocks in .autofile in your project directory:
dev {
$ taskkill /im node.exe
- mongod.exe --dbpath C:\data\db
+ node server.js
+ python fileserver.py
+ set PORT=4000 && npm start --prefix client
+ npm start --prefix attendance
+ npm run --prefix server dev
}auto devOr with a custom file:
auto -f .autofile dev| Symbol | Mode | Description |
|---|---|---|
+ |
Normal | Runs command in a normal terminal window |
- |
Minimized | Runs command in a minimized window |
$ |
Background | Runs command in the background (no window) |
& |
Windows Terminal | Runs command in Windows Terminal with a custom tab title |
- Commands starting with
wtare passed through as-is to support full Windows Terminal options. - Arguments can be quoted; quotes are stripped when passing to commands.
production {
$ nginx.exe
$ redis-server.exe
+ node app.js
- pm2 monit
& "API" node server.js
& "Worker" npm run worker
}Blocks starting with . (dot) are special and can be executed like any other block:
.init {
+ echo "Initializing environment..."
+ npm install
}- C++ Compiler (MinGW-w64, LLVM/Clang, or MSVC)
- Windows Resource Compiler (
windres) - Make (optional)
makeBinary will be in bin/ directory.
make -f llvm.makefilecmake -B build -G "MinGW Makefiles"
cmake --build build- Do not rerun
autoif commands from the same.autofileare still running. - Use descriptive block names and comments.
- Group related commands together.
- Use background mode (
$) for non-interactive services. - Use minimized mode (
-) for monitoring tools.
- Fork the repository
- Clone your fork
- Create a branch for your changes
- Make changes and test
- Commit and push
- Open a Pull Request
Follow existing code style, add comments for complex logic, and update documentation if needed.
Made with ❤️ by Mark Wayne Menorca Star this repo • Report Bug • Request Feature