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:

Installation Steps

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