Files
gpt-pilot/euclid/helpers/Project.py

57 lines
2.1 KiB
Python

from const.common import IGNORE_FOLDERS
from helpers.cli import build_directory_tree
from helpers.agents.CodeMonkey import CodeMonkey
from helpers.agents.TechLead import TechLead
from helpers.agents.DevOps import DevOps
from helpers.agents.Developer import Developer
from helpers.agents.Architect import Architect
from helpers.agents.ProductOwner import ProductOwner
class Project:
def __init__(self, args, name=None, description=None, user_stories=None, user_tasks=None, architecture=None, development_plan=None, current_step=None):
self.args = args
if current_step != None:
self.current_step = current_step
if name != None:
self.name = name
if description != None:
self.description = description
if user_stories != None:
self.user_stories = user_stories
if user_tasks != None:
self.user_tasks = user_tasks
if architecture != None:
self.architecture = architecture
if development_plan != None:
self.development_plan = development_plan
def start(self):
self.project_manager = ProductOwner(self)
self.high_level_summary = self.project_manager.get_project_description()
self.user_stories = self.project_manager.get_user_stories()
self.user_tasks = self.project_manager.get_user_tasks()
self.architect = Architect(self)
self.architecture = self.architect.get_architecture()
self.tech_lead = TechLead(self)
self.development_plan = self.tech_lead.create_development_plan()
self.developer = Developer(self)
self.developer.set_up_environment();
self.developer.start_coding()
def get_directory_tree(self):
return build_directory_tree(self.root_path, ignore=IGNORE_FOLDERS)
def get_files(self, files):
files_with_content = []
for file in files:
files_with_content.append({
"path": file,
"content": open(file, 'r').read()
})
return files_with_content