Vortex is a modular Bash-based automation tool designed to standardize project initialization, system health monitoring, and remote repository synchronization. Built for developers who value speed and system resilience, Vortex ensures that every project starts with a healthy environment and a professional directory structure.
Automation & Scripting
DevOps & Integration
System Guards
Vortex eliminates repetitive setup by injecting professional boilerplates for five major technology stacks:
- Web (HTML/CSS/JS): Standard frontend structure with linked assets.
- Node.js: Backend environment with package.json and environmental config.
- Python: Clean virtual environment (.venv) setup with entry-point logic.
- C++: Professional build system including Makefile, header guards, and bin/build separation.
- Express (TypeScript): Full-scale API architecture with controllers, routes, and tsconfig integration.
Before any project is initialized, Vortex performs a pre-flight check to prevent system failure:
- Blocks installation if available disk space is below 1GB.
- Verifies a minimum of 256MB of RAM to ensure smooth build processes.
- Detects missing binaries and provides installation hints for Debian systems.
Vortex handles the tedious parts of version control:
- Checks git config and prompts for setup if identity is missing.
- Initializes local repositories, handles initial commits, and pushes to remote branches.
Vortex includes a background engine that monitors project activity:
- Monitors uncommitted changes using a systemd timer without slowing down the terminal.
- Sends Discord alerts when significant work (50+ lines) has not been committed.
- Auto-provisions configuration by prompting the user for a webhook on the first run.
| Flag | Parameter | Purpose |
|---|---|---|
| -n | name | Sets the project name and root directory. |
| -t | type | Selects stack: web, node, cpp, py, or express. |
| -m | N/A | Generates a real-time Vortex System Report (Disk/RAM). |
| -d | N/A | Generates a containerized environment using Docker. |
| -h | N/A | Displays the help manual. |
-
Initialize a Node.js project:
./vortex -n my_project -t node -
Check system health:
./vortex -m -
Create Docker container:
./vortex -n my_project -t express -d -
Full stack example:
./vortex -n my_project -t python -m -d
-
Clone the repository:
git clone https://github.com/nadasshawer/vortex-developer-tool.git cd vortex-developer-tool -
Run the Installer: This will set up your systemd timers, permissions, and background monitoring automatically.
bash installer
-
Create your first project:
./vortex -n my_new_project -t node
Note: The first time you run a command or the Ghost monitor activates, you will be prompted to enter your Discord Webhook URL. This will be saved in ~/.vortex_config.
Vortex follows a modular design to keep the core engine lightweight:
- vortex: The main entry point using getopts for flag parsing.
- lib/guard: The system health and resource monitoring module.
- lib/ghost: The background monitoring engine triggered via systemd.
- lib/github_setup: The logic layer for Git initialization and remote connectivity.
- lib/docker: The logic layer for Docker containerization (creates the Dockerfile, docker-compose.yaml, and .dockerignore files).
- lib/blueprints/: Scripts for injecting Web, Node, C++, Python, and Express files.
vortex_project/
├── docs/ # Project documentation and roadmap
│ ├── architecture.md
│ └── milestones.md
│
├── lib/ # Core logic and modules
│ ├── blueprints/ # Project templates (C++, Express, etc.)
│ ├── docker # Docker scaffolding logic
│ ├── ghost # The "Ghost" background monitor script
│ ├── github_setup # Automation for GitHub integration
│ └── guard # Input validation and security checks
│
├── systemd/ # Service files for Linux automation
│ ├── vortex_ghost.service
│ └── vortex_ghost.timer
│
├── installer # Installation script
├── vortex # Main executable entry point
└── README.md # You are here!
- Milestone 1: Core Engine and CLI Switchboard
- Milestone 2: System Guards and Resource Monitoring
- Milestone 3: Ghost Essentials (Systemd integration & Discord pings)
- Milestone 4: Automated Docker containerization
If you find yourself entering your GitHub credentials every time Vortex pushes a project, you can tell Git to remember you:
git config --global credential.helper store