gc-shell
gc-shell is an intelligent, AI‑powered interactive shell for macOS. It combines normal terminal command execution with custom macOS‑specific utilities and an AI planner that can intelligently choose the right tool for user requests.
🚀 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
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
⚙️ 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.
🧠 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.
🤝 Contributing
We welcome contributions to make gc-shell even better!
- Fork the repository.
- Create a new branch (
git checkout -b feature/amazing-feature). - Make your changes.
- Run linting (
ruff check .). - Commit your changes (
git commit -m 'Add amazing feature'). - Push to the branch (
git push origin feature/amazing-feature). - Open a Pull Request.
📝 Changelog
[0.1.4] - Current
- Refactored
executor.pyto a class-based architecture for better state management. - Integrated AI tools with the new Executor class.
- Added comprehensive execution flow documentation in
architecture.md. - Fixed linter warnings and unused imports.
[0.1.3] - Previous
- Initial release with AI planner and macOS app registry integration.
📁 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 promptsarchitecture.md— detailed architecture and execution flow documentationpyproject.toml— package metadata and dependencies
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.4.tar.gz.
File metadata
- Download URL: gc_shell-0.1.4.tar.gz
- Upload date:
- Size: 16.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3a7bc09d27b20bbb52118cc6ca5f2ce285b1e8c5353fc8c49e176daa727b0121
|
|
| MD5 |
0b1b589f0bbe82a57f9858a9f0e10af3
|
|
| BLAKE2b-256 |
0a67c0abcb5c297a1f71132560e3f6973c0e4adec4e46b11411174837d1b62a4
|
File details
Details for the file gc_shell-0.1.4-py3-none-any.whl.
File metadata
- Download URL: gc_shell-0.1.4-py3-none-any.whl
- Upload date:
- Size: 19.1 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 |
35e198e8b8645a454fad039838f1d12c1206f7124fcf453fa3c5a5eebc2baa6f
|
|
| MD5 |
9b4777469f809ebc4307bb28522da53f
|
|
| BLAKE2b-256 |
63b3fd23567069e88e0224b5021e2cafb232ebc317371143d29c59d4d5b0fc39
|