Initial commit: Linear-integrated autonomous coding agent with Initializer Bis support
This commit is contained in:
63
prompts.py
Normal file
63
prompts.py
Normal file
@@ -0,0 +1,63 @@
|
||||
"""
|
||||
Prompt Loading Utilities
|
||||
========================
|
||||
|
||||
Functions for loading prompt templates from the prompts directory.
|
||||
"""
|
||||
|
||||
import shutil
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
PROMPTS_DIR = Path(__file__).parent / "prompts"
|
||||
|
||||
|
||||
def load_prompt(name: str) -> str:
|
||||
"""Load a prompt template from the prompts directory."""
|
||||
prompt_path = PROMPTS_DIR / f"{name}.md"
|
||||
return prompt_path.read_text()
|
||||
|
||||
|
||||
def get_initializer_prompt() -> str:
|
||||
"""Load the initializer prompt."""
|
||||
return load_prompt("initializer_prompt")
|
||||
|
||||
|
||||
def get_coding_prompt() -> str:
|
||||
"""Load the coding agent prompt."""
|
||||
return load_prompt("coding_prompt")
|
||||
|
||||
|
||||
def copy_spec_to_project(project_dir: Path) -> None:
|
||||
"""Copy the app spec file into the project directory for the agent to read."""
|
||||
spec_source = PROMPTS_DIR / "app_spec.txt"
|
||||
spec_dest = project_dir / "app_spec.txt"
|
||||
if not spec_dest.exists():
|
||||
shutil.copy(spec_source, spec_dest)
|
||||
print("Copied app_spec.txt to project directory")
|
||||
|
||||
|
||||
############################################################################################
|
||||
# New specifications added by davebb
|
||||
############################################################################################
|
||||
|
||||
def get_initializer_bis_prompt() -> str:
|
||||
"""Load the initializer bis prompt for adding new specifications."""
|
||||
return load_prompt("initializer_bis_prompt")
|
||||
|
||||
|
||||
def copy_new_spec_to_project(project_dir: Path, new_spec_filename: str) -> None:
|
||||
"""
|
||||
Copy a new specification file into the project directory for the agent to read.
|
||||
|
||||
Args:
|
||||
project_dir: Project directory path
|
||||
new_spec_filename: Name of the new spec file (e.g., "app_spec_new1.txt")
|
||||
"""
|
||||
spec_source = PROMPTS_DIR / new_spec_filename
|
||||
if not spec_source.exists():
|
||||
raise FileNotFoundError(f"New specification file not found: {spec_source}")
|
||||
|
||||
spec_dest = project_dir / new_spec_filename
|
||||
shutil.copy(spec_source, spec_dest)
|
||||
print(f"Copied {new_spec_filename} to project directory")
|
||||
Reference in New Issue
Block a user