Introduction
A.C.E. (Automated Command Environment) is a personal assistant designed to help developers. It acts as a smart, centralized hub to automate your daily workflow, saving you from repetitive commands so you can focus on building what matters.
Getting Started
Prerequisites
Before you begin, ensure you have the following installed on your system:
- Python (3.10+)
- Git
- Node.js & npm (for the project scaffolder)
- tmux (for the dashboard feature)
Installation & Configuration
Follow these steps to get A.C.E. up and running:
# 1. Clone the repository from GitHub
$ git clone https://github.com/AnasFaaiz/ACE.git
# 2. Navigate into the project directory
$ cd ACE
# 3. Install the required Python libraries
$ pip3 install -r requirements.txt
# 4. Set up your credentials in the .env file
# 5. Make A.C.E. a global command
Workspace Management
ace project create [name]
Automates the entire setup process for new projects. It interactively asks for a template (e.g., react, nextjs) and a location, then runs the standard command-line tools to scaffold a complete project structure for you.
Why this is useful: It saves you from the repetitive and error-prone task of manually creating folders, config files, and boilerplates, ensuring every project starts with a professional, consistent structure.
ace project register [path]
Registers an existing local Git project with A.C.E. It intelligently scans the folder, uses the folder name to query the GitHub API, and automatically discovers the remote repository URL, saving all details to its memory.
Why this is useful: It's the fastest way to teach A.C.E. about all your existing projects, turning it into a central hub for your entire workspace without any manual data entry.
ace project list
Displays a clean, formatted list of all projects currently registered with A.C.E., showing their nickname, local path, and remote URL.
acego [nickname]
A special shell function that instantly navigates your terminal to the directory of any registered project, no matter where you are in the filesystem.
Why this is useful: It eliminates the need to remember long, complex paths or type `cd ../../...` repeatedly, dramatically speeding up context switching between projects.
The Vanguard (Git Assistant)
ace save [nickname]
Initiates a safe, interactive "precaution mode" workflow to save your work. It shows you the 'git status', asks for confirmation, gets a commit message from you, and then runs 'git add', 'commit', and 'push' automatically.
Why this is useful: It automates the three most repetitive Git commands while enforcing best practices, like reviewing changes and writing meaningful commit messages, preventing common mistakes.
ace overview
Provides a multi-threaded "mission control" report. It checks the Git status and last commit for all registered projects in parallel, delivering a near-instant response.
Why this is useful: It instantly answers the question, "Did I forget to push my work anywhere today?" without you having to manually check each project.
Information & Automation
ace news
Fetches the latest headlines from developer-focused sources like Hacker News. Supports flags like `--source` and `--limit` for customized news feeds.
ace schedule add "[time]" "[command]"
Adds a recurring task to A.C.E.'s internal scheduler. For example, `ace schedule add "every day at 09:00" "ace news"`.
ace scheduler start
Starts the persistent, lightweight "watcher" process in the current terminal to execute all of your scheduled tasks at the correct times.
Dashboard
ace dashboard start
Launches the persistent, multi-pane `tmux` dashboard, providing an auto-updating, at-a-glance view of your tech news and Git project overview.