diff --git a/euclid/const/common.py b/euclid/const/common.py index 166421e..1425b95 100644 --- a/euclid/const/common.py +++ b/euclid/const/common.py @@ -3,7 +3,8 @@ ROLES = { 'product_owner': ['project_description', 'user_stories', 'user_tasks'], 'architect': ['architecture'], 'tech_lead': ['development_planing'], - 'full_stack_developer': ['create_scripts', 'coding'] + 'full_stack_developer': ['create_scripts', 'coding'], + 'dev_ops': ['environment_setup'], } STEPS = [ 'project_description', diff --git a/euclid/const/function_calls.py b/euclid/const/function_calls.py index 215a897..31e3875 100644 --- a/euclid/const/function_calls.py +++ b/euclid/const/function_calls.py @@ -1,10 +1,16 @@ from utils.llm import parse_llm_output def process_user_stories(stories): - return stories + return stories, None def process_user_tasks(tasks): - return tasks + return tasks, None + +def process_os_technologies(technologies): + return technologies, None + +def run_commands(commands): + return commands, None def return_array_from_prompt(name_plural, name_singular, return_var_name): return { @@ -42,4 +48,40 @@ USER_TASKS = { 'functions': { 'process_user_tasks': process_user_tasks }, +} + +RUN_COMMAND = { + 'definitions': [ + + ], + 'functions': { + 'run_command': parse_llm_output + }, +} + +FILTER_OS_TECHNOLOGIES = { + 'definitions': [ + return_array_from_prompt('os specific technologies', 'os specific technology', 'technologies') + ], + 'functions': { + 'process_os_specific_technologies': process_os_technologies + }, +} + +INSTALL_TECH = { + 'definitions': [ + return_array_from_prompt('os specific technologies', 'os specific technology', 'technologies') + ], + 'functions': { + 'process_os_specific_technologies': process_os_technologies + }, +} + +COMMANDS_TO_RUN = { + 'definitions': [ + return_array_from_prompt('commands', 'command', 'commands') + ], + 'functions': { + 'process_commands': run_commands + }, } \ No newline at end of file diff --git a/euclid/main.py b/euclid/main.py index dd180fc..9dd2446 100644 --- a/euclid/main.py +++ b/euclid/main.py @@ -11,6 +11,8 @@ from steps.user_stories.user_stories import get_user_stories from steps.user_tasks.user_tasks import get_user_tasks from steps.architecture.architecture import get_architecture +from flow.development import start_development + def init(): load_dotenv() @@ -33,4 +35,4 @@ if __name__ == "__main__": architecture, architecture_messages = get_architecture(high_level_summary, user_stories, user_tasks, args) - # development + start_development(user_stories, user_tasks, architecture, args) diff --git a/euclid/prompts/dev_ops/ran_command.prompt b/euclid/prompts/dev_ops/ran_command.prompt index bfe95c3..40f473e 100644 --- a/euclid/prompts/dev_ops/ran_command.prompt +++ b/euclid/prompts/dev_ops/ran_command.prompt @@ -1,4 +1,4 @@ -I ran the command `npm start` and for this response from CLI: +I ran the command `{{ command }}` and for this response from CLI: ``` {{ cli_response }} ``` diff --git a/euclid/prompts/development/env_setup/unsuccessful_installation.prompt b/euclid/prompts/development/env_setup/unsuccessful_installation.prompt index 8e11eb8..ac8a035 100644 --- a/euclid/prompts/development/env_setup/unsuccessful_installation.prompt +++ b/euclid/prompts/development/env_setup/unsuccessful_installation.prompt @@ -1 +1 @@ -Ok, let's install {{ technology }} on my machine. You will tell me a command that I need to run and I will tell you the output I got. Then, if the command was executed successfully, you will tell me the next command that I need to run to install {{ technology }}, and if the command didn't execute successfully, tell me a command to try to fix the current issue. \ No newline at end of file +Ok, let's install {{ technology }} on my machine. You will tell me commands that I need to run and I will tell you the output I got. Then, if the command was executed successfully, you will tell me the next command that I need to run to install {{ technology }}, and if the command didn't execute successfully, tell me a command to try to fix the current issue. \ No newline at end of file