Skip to content

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.

Notifications You must be signed in to change notification settings

marcuwynu23/Auto

Repository files navigation

Auto

Stars Badge Forks Badge Issues Badge License Badge

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:

# 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:

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:

make -f llvm.makefile

CMake (Preferred)

If you have CMake installed, you can build Auto using:

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:

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!

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

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! 🚀

About

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.

Topics

Resources

Stars

Watchers

Forks

Sponsor this project