Overview
The product owner holds a high level overview of what the project is meant to be. It includes details like the frameworks and languages being used.
Interactions with Project
- Sets
app
duringget_project_description
- Modifies
current_step
to describe bootstrapping project
Members
get_project_description
Project Step: project_description
This function bootstraps the Project’s app
member, creating it if it doesn’t exist already. An App is the base fkey that ties together other entities like user stories and steps being executed to the application being built.
It asks the user for a description of what the application should be, in as much detail as possible.
It then generates a high level summary of that description using create_spec , then persists that information in a JSON blob as a ProjectDescription
model in the DB.
get_user_stories
Project Step: user_stories
First checks if the step has already been run, and if so rehydrate and return.
Creates a new AgentConvo prompting the LLM to think about the steps a user would need to take in order to perform an action within the application being developed, from beginning to end.
Looped generation
This is the first time I’ve seen it prompted to end its list with a very specific token (
EVERYTHING_CLEAR
).This is functionality that ties into continuous_conversation, that continuously reprompts the LLM to continue generation. If the token is generated, it stops reprompting any returns any output from the LLM the user did not provide feedback to.
Takeaways
- Agent methods take user input control flow directly, asking the user what the next step is, or for user input to inform the next steps