An intelligent AI-powered shell for macOS
Project description
gc-shell
gc-shell is an intelligent interactive shell for macOS that combines normal terminal command execution with custom application and filesystem utilities.
Overview
This project provides a shell wrapper that:
- forwards normal commands to the system shell (
zsh) - maintains shell state such as the current working directory
- supports macOS application discovery and fuzzy app launch/close
- offers built-in file utilities like tree, preview, search, and recursive directory creation
- integrates with an AI planning layer to choose the right tool for user requests
Key Features
scan— discover installed macOS applications and save a registryopen <app>— open an application, folder, or file by nameclose <app>— close a running macOS applicationapps— list registered applicationsrunning— list currently running GUI applicationstree [path] [--depth N]— display a directory treepreview <file> [--lines N]— preview a text or source filemkp <dir>— recursively create directoriessearch <pattern> [--path <dir>]— search files by glob patterncd/clear/help— standard shell navigation and help commands
Installation
Prerequisites
- macOS
- Python 3.9 or newer
- Git
Local setup
git clone https://github.com/GouthamReddy05/GC-Shell.git
cd GC-Shell
python3 -m venv .venv
source .venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
pip install -e .
Run the shell
gc-shell
Optional production install
pip install .
Configuration
If AI features require a Groq key, create a .env file in the project root with:
echo 'GROQ_API_KEY=your_key_here' > .env
The shell loads environment variables via python-dotenv during startup.
Usage
Start the shell with:
gc-shell
Then enter commands as you would in a normal terminal. Custom commands are handled by gc-shell; all other commands are forwarded to /bin/zsh.
AI Integration
The shell includes an AI planner powered by langgraph and langchain-groq. The AI layer selects available tools for requests such as opening resources, changing directories, searching files, or running shell commands.
Requirements
- macOS
- Python 3.9+
richprompt_toolkitlangchain-corelangchain-groqlanggraphpython-dotenv
Project Structure
main.py— application entry pointshell.py— REPL loop and prompt handlingexecutor.py— command routing and shell state managementcommands/— custom command implementationsregistry/— macOS application scanner and registry loaderAI/— AI planner, tool registry, and promptspyproject.toml— package metadata and dependencies
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gc_shell-0.1.3.tar.gz.
File metadata
- Download URL: gc_shell-0.1.3.tar.gz
- Upload date:
- Size: 16.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c1c0caf17f918bce3e05cab011a08108ebe55fc924738bd7665462878b6d8815
|
|
| MD5 |
88eaee6bf9c69ba5a6382f15e5370644
|
|
| BLAKE2b-256 |
a67b251e62c37e9f097c4635ba82d2baa159020b12652f08af6ecaced5c31e12
|
File details
Details for the file gc_shell-0.1.3-py3-none-any.whl.
File metadata
- Download URL: gc_shell-0.1.3-py3-none-any.whl
- Upload date:
- Size: 19.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ace6dbd89a1b26150e05f801ccb15f7d54866715a453ab8a3b683d8823cb248f
|
|
| MD5 |
f0b34313a4eb9d0e6cba86576f6e4737
|
|
| BLAKE2b-256 |
c616370bf419d98ae12d5344dff95ac97b10315b18dfead07b51f0a482458672
|