AI-powered CLI tools (explain, script, visualize, config) using OpenAI models.
Project description
🧰 Codex CLI Studio
A powerful suite of command-line tools powered by OpenAI models, built to supercharge productivity, learning, and automation for developers, DevOps, and students alike.
👀 Demo
See Codex CLI Studio in action! This animation shows basic usage of the explain, script, and visualize commands.
(Generated using asciinema and termtosvg)
🚀 Overview & Status
Codex CLI Studio is a modular set of CLI tools leveraging OpenAI's API.
Current Modules:
- ✅
explain: Explain code, shell commands, or file content. (Implemented) - ✅
script: Generate scripts (Bash, Python, PowerShell) from natural language. (Implemented) - ✅
visualize: Generate function call graphs for Python files (DOT/Image output). (Implemented) - ✅
config explain: Explain configuration files. (Implemented) - 🛠️
config edit: Modify configuration files (Planned).
🔌 Installation (from source)
Currently, installation is available directly from the source code. Publishing to PyPI (pip install codex-cli-studio) is planned.
Prerequisites:
- Python 3.9+
pipandvenv(recommended)- Graphviz (specifically the
dotcommand) - Required only for rendering visualizations to image formats (png, svg, etc.) within thevisualizecommand.
Steps:
- Clone the repository:
git clone https://github.com/michaelshapkin/codex-cli-studio.git cd codex-cli-studio
- Create and activate a virtual environment (Recommended):
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
- Install dependencies:
pip install -r requirements.txt
- Set up your OpenAI API Key:
- Create a file named
.envin the project root (codex-cli-studio/). - Add your API key to the
.envfile:OPENAI_API_KEY='your_openai_api_key_here' - (This file is already in
.gitignoreand should NOT be committed.)
- Create a file named
✨ Usage
Once installed from source and with the virtual environment activated, run commands using python -m codex_cli.main followed by the command name and arguments:
# General help
python -m codex_cli.main --help
# Explain a code snippet
python -m codex_cli.main explain 'import sys; print(sys.argv[1])' --lang en
# Explain a file in detail
python -m codex_cli.main explain ./codex_cli/main.py --detail detailed
# Generate a Python script
python -m codex_cli.main script "read lines from data.txt and print them numbered" -t python
# Generate a bash script (dry run only)
python -m codex_cli.main script "delete all *.tmp files in /tmp" --dry-run
# Visualize a Python file, saving as PNG
python -m codex_cli.main visualize ./codex_cli/visualize.py -f png -o visualize_graph.png
# Explain a YAML config file
python -m codex_cli.main config explain examples/test.yaml
(Note: The invocation name might change to just codex after publishing to PyPI).
(Note: The invocation name might change to just codex after publishing to PyPI).
🛠️ Module Details
explain ✅
Explains code snippets, shell commands, or file content.
- Supports various languages (auto-detected by AI).
- Options:
--detail basic|detailed,--lang <language_code>.
script ✅
Generates executable scripts from natural language tasks.
- Supports: Bash, Python, PowerShell.
- Options:
--type <bash|python|powershell>,--dry-run(only displays script).
visualize ✅
Generates function call graphs for Python files.
- Input: Python file (
.py). - Output: Graphviz DOT (
.gv,.dot) or rendered image (.png,.svg,.pdf, etc.). - Requires Graphviz (
dotcommand) for image rendering. - Options:
--output <path>,--format <format>.
config explain ✅
Explains various configuration files (YAML, INI, Dockerfile, etc.).
- Input: Path to configuration file.
config edit 🛠️ (Planned)
Modify configuration files using natural language instructions.
🌍 Why It Matters
- ✅ Educational: Quickly understand unfamiliar code, commands, or configs.
- ⚡ Productive: Automate script generation and explanations, reducing boilerplate and search time.
- 🔧 Extensible: Modular design allows for adding new commands and capabilities.
- 🌱 Open Source: Community contributions are welcome!
📦 Built With
- Python 3.9+
- OpenAI API (gpt-4o or other models)
- Typer - for building the CLI interface.
- Rich - for beautiful terminal output.
- python-dotenv - for managing environment variables.
- Graphviz (Python library) - for generating DOT graph descriptions.
- Standard Python libraries (
ast,subprocess,shutil, etc.)
🔮 Roadmap / Coming Soon
- Testing: Increase test coverage, especially for edge cases and options.
- Error Handling: Improve robustness and user feedback on errors.
config edit: Implement the configuration editing functionality.visualizeEnhancements: Options to exclude nodes (builtins), different layouts.- More Modules?
testgeneration,translatecode? (Open to ideas!) - Configuration: Centralized config file (e.g.,
~/.config/codex-cli-studio/config.toml). - PyPI Release: Package and publish for easy
pip install. - IDE Integration: VS Code plugin?
🤝 Contributing
Contributions, issues, and feature requests are welcome! Feel free to check issues page.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
📄 License
Distributed under the MIT License. See LICENSE file for more information.
(You should add a LICENSE file to the repository)
→ Apply this to real-world workflows. Use AI like magic — right from your terminal.
Project details
Release history Release notifications | RSS feed
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 codex_cli_studio-0.1.0.tar.gz.
File metadata
- Download URL: codex_cli_studio-0.1.0.tar.gz
- Upload date:
- Size: 23.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
237b08d78ea0f1cfa7f5bc1e00756134e036fd7a31021142ca93c637e4e32fdd
|
|
| MD5 |
04e1ffe58bf119695d9aa9e325095a16
|
|
| BLAKE2b-256 |
76b35b4c14f29970c5f8cc87635830d6e471f4823b050f4ac9514cb6bbcdcef8
|
File details
Details for the file codex_cli_studio-0.1.0-py3-none-any.whl.
File metadata
- Download URL: codex_cli_studio-0.1.0-py3-none-any.whl
- Upload date:
- Size: 17.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1f03bc090f17f782c92c927b3891075bffb092619ec3a5a5ca9d24565dce91f8
|
|
| MD5 |
9b7dce89bce29b9ace4126416c822dc3
|
|
| BLAKE2b-256 |
b387b1a4f228fca4851657d4bad9f9ebf53b8359666b93f75c8a9ab7b76d89f7
|