https://github.com/marcuwynu23/auto
AUTO is a powerful command-line tool designed to streamline your workflow by automating the execution of commands in separate instances of the terminal. With AUTO, you can easily define scripts containing sequences of commands, and the tool will run each command in its own terminal instance.
https://github.com/marcuwynu23/auto
autofile automation batch-scripting cmd commandline commands console multi multi-instance shell shell-scripting terminal tool windows
Last synced: 10 months ago
JSON representation
AUTO is a powerful command-line tool designed to streamline your workflow by automating the execution of commands in separate instances of the terminal. With AUTO, you can easily define scripts containing sequences of commands, and the tool will run each command in its own terminal instance.
- Host: GitHub
- URL: https://github.com/marcuwynu23/auto
- Owner: marcuwynu23
- Created: 2022-05-24T07:03:18.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-04-10T05:24:16.000Z (10 months ago)
- Last Synced: 2025-04-10T06:33:06.393Z (10 months ago)
- Topics: autofile, automation, batch-scripting, cmd, commandline, commands, console, multi, multi-instance, shell, shell-scripting, terminal, tool, windows
- Language: C++
- Homepage:
- Size: 4.69 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
Auto
AUTO (Automate YoUr Terminal Operation) is a powerful command-line tool designed to streamline your workflow by automating the execution of commands in separate instances of the terminal. With AUTO, you can easily define scripts containing sequences of commands, and the tool will run each command in its own terminal instance.
Create a file .autofile then add commands like below in the .autofile:
## How to Use
### Step 1: Create a `.autofile`
Create a file named `.autofile` and add commands as shown below:
```cmd
# This is a comment
# Define the dev block
dev {
# Run taskkill single-use command
$ taskkill /im node.exe
# Run MongoDB server in the background
- mongod.exe --dbpath C:\data\db
# Run the web server normally
+ node server.js
# Run the file server
+ python fileserver.py
# Execute multiple commands in the same line
+ set PORT=4000 && npm start --prefix client
# Run attendance frontend server
+ npm start --prefix attendance
# Run HRIS backend server
+ npm run --prefix server dev
}
```
then run in terminal:
```
auto
```
## Build Instructions
### MinGW (Default)
To build using MinGW, simply run:
```sh
make
```
### LLVM without CMake only clang++ compiler
If you're using LLVM/Clang without CMake, you'll need a separate Makefile (llvm.makefile). Build using:
```sh
make -f llvm.makefile
```
### CMake (Preferred)
If you have CMake installed, you can build Auto using:
```sh
cmake -B build -G "MinGW Makefiles"
cmake --build build
```
## NOTE:
Once the commands inside the .autofile is already RUNNING no need to rerun again the auto command sometimes it can cause error to the commands execution
specially if the a specify command can only run in ONE INSTANCE.
## Contributing
# Contributing to Auto
### Step 2: Run the `auto` command
Once your `.autofile` is ready, execute the following command in the terminal:
```sh
auto
```
## 📌 Note:
- **Do not rerun** the `auto` command while processes inside the `.autofile` are already running. Doing so may cause errors, especially if a specific command only supports **one running instance** at a time.
---
## 🚀 Building the Project
### **For C++ Version**
Our team will review your changes and merge them if they meet our standards. By contributing to AutoCLI, you'll be helping to make the tool even better for everyone who uses it. Thank you in advance for your contributions, and happy coding!
```sh
make
```
- This will compile the C++ version of the project using the `Makefile`.
- The compiled binary can be found inside the `bin/` directory.
### **For Rust Version**
```sh
make -f makefile.rust
```
- This will compile the Rust version of the project using `Cargo`.
- The compiled binary will be placed inside `bin/rust/auto`.
---
## 🛠Contributing
### **Contributing to Auto**
We welcome contributions to the AutoCLI project! To get started, follow these steps:
1. **Fork** the project to your own GitHub account.
2. **Create a new branch** for your changes.
3. **Commit your changes** to your new branch.
4. **Push your branch** to your forked repository.
5. **Open a pull request** to the main project repository.
Our team will review your changes and merge them if they meet our standards. By contributing to AutoCLI, you'll be helping make the tool even better for everyone who uses it.
Thank you in advance for your contributions, and happy coding! 🚀