diff --git a/metagpt/actions/write_code.py b/metagpt/actions/write_code.py index da25fe621c..8024aac4f8 100644 --- a/metagpt/actions/write_code.py +++ b/metagpt/actions/write_code.py @@ -27,7 +27,7 @@ from metagpt.actions.write_code_plan_and_change_an import REFINED_TEMPLATE from metagpt.logs import logger from metagpt.schema import CodingContext, Document, RunCodeResult -from metagpt.utils.common import CodeParser, get_markdown_code_block_type +from metagpt.utils.common import CodeParser, get_markdown_code_block_type, get_project_srcs_path from metagpt.utils.project_repo import ProjectRepo from metagpt.utils.report import EditorReporter @@ -101,6 +101,9 @@ async def run(self, *args, **kwargs) -> CodingContext: bug_feedback = None if self.input_args and hasattr(self.input_args, "issue_filename"): bug_feedback = await Document.load(self.input_args.issue_filename) + if self.repo and self.repo.src_relative_path is None: + path = get_project_srcs_path(self.repo.workdir) + self.repo.with_src_path(path) coding_context = CodingContext.loads(self.i_context.content) if not coding_context.code_plan_and_change_doc: coding_context.code_plan_and_change_doc = await self.repo.docs.code_plan_and_change.get(