MCPcopy Index your code
hub / github.com/Doriandarko/o1-engineer

github.com/Doriandarko/o1-engineer @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
22 symbols 88 edges 2 files 4 documented · 18% updated 18mo ago★ 2,8438 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

🛠️ o1-engineer

Updated Features

A command-line tool designed to assist developers in managing and interacting with their projects efficiently. Leveraging the power of OpenAI's API, o1-engineer provides functionalities such as code generation, file editing, project planning, and code review to streamline your development workflow.

NEW

Added Grok Engineer to the repo. Make sure you add your XAI_API_KEY in your .env file. Added Streaming.

🛠️ Updated Features

  • Enhanced File and Folder Management: The /add and /edit commands now support adding and modifying both files and folders, providing greater flexibility in managing your project structure.
  • Project Planning: Introducing the /planning command, which allows users to create comprehensive project plans that can be used to generate files and directories systematically.
  • Advanced Workflows: New examples demonstrate how to integrate planning and creation commands for efficient project setup.

✨ Features

  • Automated Code Generation: Generate code for your projects effortlessly.

  • File Management: Add, edit, and manage project files directly from the command line.

  • Interactive Console: User-friendly interface with rich text support for enhanced readability.

  • Conversation History: Save and reset conversation histories as needed.

  • Code Review: Analyze and review code files for quality and suggestions.

  • Enhanced File and Folder Management: The /add and /edit commands now support adding and modifying both files and folders, providing greater flexibility in managing your project structure.

  • Project Planning: Introducing the /planning command, which allows users to create comprehensive project plans that can be used to generate files and directories systematically.

💡 How the Script Works

  1. Initialization: The script initializes global variables and sets up the OpenAI client using the provided API key.

  2. Handling User Commands: It listens for user commands such as /edit, /create, /add, /review, and the new /planning command, processing them accordingly.

  3. Processing File and Folder Modifications: Based on the user's instructions, the script modifies files and folders, adds new content, or creates new files and folders as needed. The /add and /edit commands have been enhanced to support both files and folders, providing greater flexibility in project management.

  4. Project Planning: The newly introduced /planning command allows users to create comprehensive project plans, which the script can use to generate files and directories systematically using the /create command.

  5. AI-Generated Instructions: The tool interacts with OpenAI's API to generate instructions and suggestions for code generation, editing, project planning, and reviewing.

  6. Applying Changes: Changes are applied to the project files and folders based on the AI-generated instructions, ensuring that the project stays up-to-date and well-maintained.

  7. Managing Conversation History and Added Files: The script manages the conversation history and keeps track of files and folders added to the context, allowing users to reset or modify the history as needed.

📥 Installation

Prerequisites

  • Python: Ensure you have Python 3.7 or higher installed. Download Python

  • OpenAI API Key: Obtain an API key from OpenAI.

🔧 Steps

  1. Clone the Repository:

bash git clone https://github.com/doriandarko/o1-engineer.git

  1. Navigate to the Project Directory:

bash cd o1-engineer

  1. Install Dependencies:

bash pip install -r requirements.txt

  1. Configure APIs:

Add your API key at the top of the script

client = OpenAI(api_key="YOUR API")

📚 Usage

Launch the application using the following command:

python o1-eng.py

🎮 Available Commands

  • /edit: Edit files or folders (followed by file or folder paths)

  • /create: Create files or folders (followed by instructions)

  • /add: Add files or folders to context (followed by file or folder paths)

  • /planning: Plan project structure and tasks (followed by instructions)

  • /debug: Print the last AI response

  • /reset: Reset chat context and clear added files

  • /review: Review and analyze code files for quality and potential improvements (followed by file or folder paths)

  • /quit: Exit the program

🚀 Advanced Workflows

Here's an example workflow that demonstrates using /planning followed by /create to generate files based on the created plan:

  1. Planning the Project:

```bash You: /planning Create a basic web application with the following structure:

  • A frontend folder containing HTML, CSS, and JavaScript files.

  • A backend folder with server-side scripts.

  • A README.md file with project documentation. ```

  • Creating the Project Structure based on the Plan:

bash You: /create Generate the project structure based on the above plan.

This demonstrates how to use the new /planning command to define a project structure, and then /create to generate the files and folders accordingly.

📝 Examples

You: /add src/main.py src/utils/helper.py src/models/

You: /planning Outline a RESTful API project with separate folders for models, views, and controllers.

You: /create Set up the basic structure for a RESTful API project with models, views, and controllers folders, including initial files.

You: /edit src/main.py src/models/user.py src/views/user_view.py

🤝 Contributing

We welcome contributions! Please follow these steps:

  1. Fork the repository.

  2. Create a new branch (git checkout -b feature/YourFeature).

  3. Commit your changes (git commit -m 'Add some feature').

  4. Push to the branch (git push origin feature/YourFeature).

  5. Open a pull request.

🙏 Acknowledgments

  • OpenAI for providing the powerful API.

Star History

Star History Chart

Core symbols most depended-on inside this repo

chat_with_ai
called by 8
grok-eng.py
chat_with_ai
called by 8
o1-eng.py
add_file_to_context
called by 6
grok-eng.py
add_file_to_context
called by 6
o1-eng.py
is_binary_file
called by 1
grok-eng.py
load_gitignore_patterns
called by 1
grok-eng.py
should_ignore
called by 1
grok-eng.py
apply_modifications
called by 1
grok-eng.py

Shape

Function 22

Languages

Python100%

Modules by API surface

o1-eng.py11 symbols
grok-eng.py11 symbols

For agents

$ claude mcp add o1-engineer \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page