Versions in this module Expand all Collapse all v0 v0.4.0 Mar 16, 2026 Changes in this version + const AlternativeCompetitor + const AlternativeDoNothing + const AlternativeInternalTool + const AlternativeWorkaround + const DecisionAccepted + const DecisionDeprecated + const DecisionProposed + const DecisionSuperseded + const DefaultFilename + const DefaultPersonaLibraryFilename + const EvidenceAnalytics + const EvidenceAssumption + const EvidenceInterview + const EvidenceMarketResearch + const EvidenceSupportTicket + const EvidenceSurvey + const MoSCoWCould + const MoSCoWMust + const MoSCoWShould + const MoSCoWWont + const NFRAvailability + const NFRCompatibility + const NFRCompliance + const NFRMaintainability + const NFRMultiTenancy + const NFRObservability + const NFRPerformance + const NFRReliability + const NFRScalability + const NFRSecurity + const NFRUsability + const PhaseTypeGeneric + const PhaseTypeMilestone + const PhaseTypeMonth + const PhaseTypeQuarter + const PhaseTypeSprint + const PriorityCritical + const PriorityHigh + const PriorityLow + const PriorityMedium + const ProficiencyExpert + const ProficiencyHigh + const ProficiencyLow + const ProficiencyMedium + const ReviewApprove + const ReviewHumanReview + const ReviewReject + const ReviewRevise + const RiskImpactCritical + const RiskImpactHigh + const RiskImpactLow + const RiskImpactMedium + const RiskProbabilityHigh + const RiskProbabilityLow + const RiskProbabilityMedium + const StatusApproved + const StatusDeprecated + const StatusDraft + const StatusInReview + const StrengthHigh + const StrengthLow + const StrengthMedium + const TriggerHuman + const TriggerInitial + const TriggerReview + const TriggerScore + func AddBusinessObjective(p *PRD, description, rationale string) string + func AddDecision(p *PRD, decision, rationale, madeBy string) string + func AddFunctionalRequirement(p *PRD, title, description string, priority MoSCoW) string + func AddNonFunctionalRequirement(p *PRD, category NFRCategory, title, description, target string, ...) string + func AddObjective(p *PRD, title, description string) string + func AddOutOfScope(p *PRD, item string) + func AddPersona(p *PRD, name, role string, painPoints []string) string + func AddProductGoal(p *PRD, description, rationale string) string + func AddRisk(p *PRD, description string, probability RiskProbability, impact RiskImpact, ...) string + func AddSolution(p *PRD, name, description string, tradeoffs []string) string + func AddSuccessMetric(p *PRD, name, description, target string) string + func CategoryDescriptions() map[string]string + func CategoryOwners() map[string]string + func GenerateEvaluationTemplate(prd *PRD, filename string) *evaluation.EvaluationReport + func GenerateEvaluationTemplateWithWeights(prd *PRD, filename string, weights map[string]float64) *evaluation.EvaluationReport + func GenerateID() string + func GenerateIDWithPrefix(prefix string) string + func NextID(p *PRD, prefix string) string + func RenderExecMarkdown(view *ExecView) string + func RenderPMMarkdown(view *PMView) string + func RenderPRFAQMarkdown(view *PRFAQView) string + func RenderSixPagerMarkdown(view *SixPagerView) string + func Save(prd *PRD, path string) error + func ScoreToEvaluationReport(prd *PRD, filename string) *evaluation.EvaluationReport + func SelectSolution(p *PRD, solutionID, rationale string) bool + func SetProblemStatement(p *PRD, statement, impact string, confidence float64) + func UpdateStatus(p *PRD, status Status) + type AcceptanceCriterion = structuredprd.AcceptanceCriterion + type AccessibilitySpec = structuredprd.AccessibilitySpec + type Alternative = structuredprd.Alternative + type AlternativeSnapshot = structuredprd.AlternativeSnapshot + type AlternativeType = structuredprd.AlternativeType + type Approver = structuredprd.Approver + type Assumption = structuredprd.Assumption + type AssumptionsConstraints = structuredprd.AssumptionsConstraints + type Blocker = structuredprd.Blocker + type CategoryScore = structuredprd.CategoryScore + type CategoryWeight = structuredprd.CategoryWeight + func DefaultWeights() []CategoryWeight + type Constraint = structuredprd.Constraint + type CustomSection = structuredprd.CustomSection + type CustomerProblemSection = structuredprd.CustomerProblemSection + type DecisionRecord = structuredprd.DecisionRecord + type DecisionStatus = structuredprd.DecisionStatus + type DecisionsDefinition = structuredprd.DecisionsDefinition + type Deliverable = structuredprd.Deliverable + type Demographics = structuredprd.Demographics + type EvaluationCategory = structuredprd.EvaluationCategory + func GetCategoriesFromDocument(prd *PRD) []EvaluationCategory + func StandardCategories() []EvaluationCategory + type Evidence = structuredprd.Evidence + type EvidenceSnapshot = structuredprd.EvidenceSnapshot + type EvidenceStrength = structuredprd.EvidenceStrength + type EvidenceType = structuredprd.EvidenceType + type ExecAction = structuredprd.ExecAction + type ExecHeader = structuredprd.ExecHeader + type ExecRisk = structuredprd.ExecRisk + type ExecView = structuredprd.ExecView + func GenerateExecView(prd *PRD, scores *ScoringResult) *ExecView + type ExecutiveSummary = structuredprd.ExecutiveSummary + type FAQ = structuredprd.FAQ + type FAQSection = structuredprd.FAQSection + type FeatureSnapshot = structuredprd.FeatureSnapshot + type Framework = structuredprd.Framework + type FunctionalRequirement = structuredprd.FunctionalRequirement + type GlossaryTerm = structuredprd.GlossaryTerm + type GoalItem = structuredprd.GoalItem + type Goals = structuredprd.Goals + type Integration = structuredprd.Integration + type InteractionFlow = structuredprd.InteractionFlow + type KeyResult = structuredprd.KeyResult + type LibraryMetadata = structuredprd.LibraryMetadata + type LibraryPersona = structuredprd.LibraryPersona + type MarketDefinition = structuredprd.MarketDefinition + type Metadata = structuredprd.Metadata + type MetricSnapshot = structuredprd.MetricSnapshot + type MetricsSummary = structuredprd.MetricsSummary + type MoSCoW = structuredprd.MoSCoW + func ParseMoSCoW(s string) MoSCoW + type NFRCategory = structuredprd.NFRCategory + func ParseNFRCategory(s string) NFRCategory + type NonFunctionalRequirement = structuredprd.NonFunctionalRequirement + type OKR = structuredprd.OKR + type Objective = structuredprd.Objective + type Objectives = structuredprd.Objectives + type PMView = structuredprd.PMView + func GeneratePMView(prd *PRD) *PMView + type PRD = structuredprd.Document + func Load(path string) (*PRD, error) + func New(id, title string, authors ...Person) *PRD + type PRFAQView = structuredprd.PRFAQView + func GeneratePRFAQView(prd *PRD) *PRFAQView + type Person = structuredprd.Person + type Persona = structuredprd.Persona + type PersonaLibrary = structuredprd.PersonaLibrary + func LoadPersonaLibrary(path string) (*PersonaLibrary, error) + func NewPersonaLibrary() *PersonaLibrary + type PersonaSnapshot = structuredprd.PersonaSnapshot + type PersonaSummary = structuredprd.PersonaSummary + type Phase = structuredprd.Phase + type PhaseSnapshot = structuredprd.PhaseSnapshot + type PhaseStatus = structuredprd.PhaseStatus + type PhaseTarget = structuredprd.PhaseTarget + type PhaseType = structuredprd.PhaseType + type PressReleaseSection = structuredprd.PressReleaseSection + type Priority = structuredprd.Priority + type ProblemDefinition = structuredprd.ProblemDefinition + type QualityScores = structuredprd.QualityScores + type Quote = structuredprd.Quote + type Requirements = structuredprd.Requirements + type RequirementsList = structuredprd.RequirementsList + type ResultItem = structuredprd.ResultItem + type ReviewDecision = structuredprd.ReviewDecision + type ReviewsDefinition = structuredprd.ReviewsDefinition + type RevisionRecord = structuredprd.RevisionRecord + type RevisionTrigger = structuredprd.RevisionTrigger + type RevisionTriggerType = structuredprd.RevisionTriggerType + type Risk = structuredprd.Risk + type RiskImpact = structuredprd.RiskImpact + func ParseRiskImpact(s string) RiskImpact + type RiskProbability = structuredprd.RiskProbability + func ParseRiskProbability(s string) RiskProbability + type RiskSnapshot = structuredprd.RiskSnapshot + type RiskStatus = structuredprd.RiskStatus + type RiskSummary = structuredprd.RiskSummary + type Roadmap = structuredprd.Roadmap + type ScopeSnapshot = structuredprd.ScopeSnapshot + type ScoringResult = structuredprd.ScoringResult + func Score(prd *PRD) *ScoringResult + type SixPagerView = structuredprd.SixPagerView + func GenerateSixPagerView(prd *PRD) *SixPagerView + type SolutionDefinition = structuredprd.SolutionDefinition + type SolutionOption = structuredprd.SolutionOption + type SolutionSection = structuredprd.SolutionSection + type SolutionSummary = structuredprd.SolutionSummary + type Status = structuredprd.Status + func ParseStatus(s string) (Status, bool) + type SuccessMetricsSection = structuredprd.SuccessMetricsSection + type TechnicalArchitecture = structuredprd.TechnicalArchitecture + type TechnicalProficiency = structuredprd.TechnicalProficiency + type Technology = structuredprd.Technology + type TechnologyStack = structuredprd.TechnologyStack + type TimelineSection = structuredprd.TimelineSection + type UXRequirements = structuredprd.UXRequirements + type UserStory = structuredprd.UserStory + type ValidationError struct + Field string + Message string + type ValidationResult struct + Errors []ValidationError + Valid bool + Warnings []ValidationWarning + func Validate(prd *PRD) *ValidationResult + type ValidationWarning struct + Field string + Message string + type Wireframe = structuredprd.Wireframe