mirror of
https://github.com/johndoe6345789/AutoMetabuilder.git
synced 2026-05-04 02:34:54 +00:00
877ba64de8
- Implement core components: CLI argument parsing, environment loading, GitHub service creation, and logging configuration. - Add support for OpenAI client setup and model resolution. - Develop SDLC context loader from GitHub and repository files. - Implement workflow context and engine builders. - Introduce major workflow packages: `game_tick_loop` and `contextual_iterative_loop`. - Update localization files with new package descriptions and labels. - Streamline web navigation by loading items from a dedicated JSON file.
39 lines
1.4 KiB
Python
39 lines
1.4 KiB
Python
"""Load SDLC context from repo and GitHub."""
|
|
import os
|
|
import logging
|
|
from .github_integration import GitHubIntegration
|
|
|
|
logger = logging.getLogger("autometabuilder")
|
|
|
|
|
|
def get_sdlc_context(gh: GitHubIntegration, msgs: dict) -> str:
|
|
"""Return SDLC context text from roadmap, issues, and PRs."""
|
|
sdlc_context = ""
|
|
if os.path.exists("ROADMAP.md"):
|
|
with open("ROADMAP.md", "r", encoding="utf-8") as f:
|
|
roadmap_content = f.read()
|
|
label = msgs.get("roadmap_label", "ROADMAP.md Content:")
|
|
sdlc_context += f"\n{label}\n{roadmap_content}\n"
|
|
else:
|
|
msg = msgs.get(
|
|
"missing_roadmap_msg",
|
|
"ROADMAP.md is missing. Please analyze the repository and create it."
|
|
)
|
|
sdlc_context += f"\n{msg}\n"
|
|
|
|
if gh:
|
|
try:
|
|
issues = gh.get_open_issues()
|
|
issue_list = "\n".join([f"- #{i.number}: {i.title}" for i in issues[:5]])
|
|
if issue_list:
|
|
sdlc_context += f"\n{msgs['open_issues_label']}\n{issue_list}"
|
|
|
|
prs = gh.get_pull_requests()
|
|
pr_list = "\n".join([f"- #{p.number}: {p.title}" for p in prs[:5]])
|
|
if pr_list:
|
|
sdlc_context += f"\n{msgs['open_prs_label']}\n{pr_list}"
|
|
except Exception as error: # pylint: disable=broad-exception-caught
|
|
logger.error(msgs["error_sdlc_context"].format(error=error))
|
|
|
|
return sdlc_context
|