Tech Company Orchestrator - User Guide

https://github.com/kliewerdaniel/tech-company-orchestrator

Welcome to the Tech Company Orchestrator! This project is designed to simulate the workflow of a tech company by orchestrating various agents to collaboratively process prompts and generate comprehensive outputs such as code, design specifications, deployment scripts, and more. The program utilizes OpenAI models and a directed graph (via NetworkX) to model the interactions between different departments (agents).


Table of Contents

  1. Features
  2. Requirements
  3. Installation
  4. Usage
  5. Workflow
  6. Customizing Agents
  7. Troubleshooting
  8. Future Improvements

Features


Requirements


Installation

  1. Clone the Repository:
    git clone https://github.com/kliewerdaniel/tech-company-orchestrator.git
    cd tech-company-orchestrator
    
  2. Install Dependencies: Use pip to install the required libraries:
    pip install -r requirements.txt
    
  3. Set Up .env File: Create a .env file in the root directory and add your OpenAI API key:
    OPENAI_API_KEY=your-openai-api-key
    

Usage

Step 1: Prepare Your Initial Prompt

Create an initial_prompt.txt file in the root directory. The prompt should be a JSON-formatted dictionary containing:

Example initial_prompt.txt:

{
    "message": "Develop a platform that connects freelancers with clients using AI for project matching.",
    "code": "",
    "readme": ""
}

Step 2: Run the Program

Execute the main.py file:

python main.py

Step 3: Review the Outputs

The program generates the following files:


Workflow

The program simulates the workflow of a tech company by processing the prompt through the following agents:

  1. Product Management: Expands the initial idea into detailed product requirements.
  2. Design: Creates UI/UX specifications, including wireframes and style guides.
  3. Engineering: Develops the software application based on the specifications.
  4. Testing: Generates comprehensive test cases for quality assurance.
  5. Security: Analyzes and enhances the security of the application.
  6. DevOps: Creates deployment scripts and CI/CD pipelines.
  7. Final Agent: Verifies if the project is complete or requires further refinement.

The agents are connected in a directed graph, ensuring an organized flow of information between departments.


Customizing Agents

Modify Agent Behavior

Each agent has its own Python file (e.g., engineering.py, design.py) where you can adjust:

Add a New Agent

  1. Create a new Python file for the agent.
  2. Define the agent’s logic (similar to existing agents).
  3. Add the new agent to the workflow graph in main.py:
    G.add_edges_from([
        ('PreviousAgent', 'NewAgent'),
        ('NewAgent', 'NextAgent')
    ])
    

Troubleshooting

OpenAI API Key Not Found

Ensure the .env file is correctly configured with your API key:

OPENAI_API_KEY=your-openai-api-key

Invalid initial_prompt.txt Format

Validate the JSON structure using an online tool like jsonlint.com.

Empty or Incorrect Outputs


Future Improvements


Contributions

Feel free to fork the repository and submit pull requests for improvements. Feedback and suggestions are always welcome!


With this guide, you should be able to set up, run, and customize the Tech Company Orchestrator to suit your needs. Happy orchestrating! 🎉