src.intelligence.prd_parser module#

PRD Parser for Marcus Phase 2 Intelligence.

Extracts structured requirements from various PRD formats using AI.

class src.intelligence.prd_parser.PRDFormat[source]#

Bases: Enum

Supported PRD formats.

PLAIN_TEXT = 'plain_text'#
MARKDOWN = 'markdown'#
USER_STORIES = 'user_stories'#
TECHNICAL_SPEC = 'technical_spec'#
class src.intelligence.prd_parser.Feature[source]#

Bases: object

Represents a feature extracted from PRD.

name: str#
description: str#
priority: str#
user_stories: List[str]#
acceptance_criteria: List[str]#
technical_notes: List[str]#
estimated_complexity: str#
__init__(name, description, priority, user_stories, acceptance_criteria, technical_notes, estimated_complexity)#
Parameters:
Return type:

None

class src.intelligence.prd_parser.TechStack[source]#

Bases: object

Technology stack requirements.

frontend: List[str]#
backend: List[str]#
database: List[str]#
infrastructure: List[str]#
mobile: List[str]#
external_services: List[str]#
__init__(frontend, backend, database, infrastructure, mobile, external_services)#
Parameters:
Return type:

None

class src.intelligence.prd_parser.ProjectConstraints[source]#

Bases: object

Project constraints and requirements.

timeline: str | None#
budget: str | None#
team_size: int | None#
performance_requirements: List[str]#
security_requirements: List[str]#
compliance_requirements: List[str]#
__init__(timeline, budget, team_size, performance_requirements, security_requirements, compliance_requirements)#
Parameters:
  • timeline (str | None)

  • budget (str | None)

  • team_size (int | None)

  • performance_requirements (List[str])

  • security_requirements (List[str])

  • compliance_requirements (List[str])

Return type:

None

class src.intelligence.prd_parser.ParsedPRD[source]#

Bases: object

Complete parsed PRD structure.

title: str#
overview: str#
goals: List[str]#
features: List[Feature]#
tech_stack: TechStack#
constraints: ProjectConstraints#
assumptions: List[str]#
risks: List[str]#
success_metrics: List[str]#
format_detected: PRDFormat#
__init__(title, overview, goals, features, tech_stack, constraints, assumptions, risks, success_metrics, format_detected)#
Parameters:
Return type:

None

class src.intelligence.prd_parser.PRDParser[source]#

Bases: object

Extracts structured requirements from various PRD formats.

__init__()[source]#
Return type:

None

async parse_prd(content, format_hint='auto')[source]#

Parse PRD from various formats.

Parameters:
  • content (str) – PRD text content

  • format_hint (str) – Format hint (“auto”, “markdown”, “plain_text”, etc.)

Returns:

Parsed PRD structure

Return type:

ParsedPRD