Skip to content

Define PRD Schema Requirements #15

Description

@ForestMars

Context

We need to define the formal requirements for our PRD schema. This will serve as the foundation for our entire pipeline.

Required Fields

Top-Level Fields

  • Define required top-level fields
    • Title
    • Version
    • Author
    • Date
    • Status
    • Description
    • Scope
    • Dependencies

User Stories

  • Define user story format
    • Choose between:
      • Given/When/Then
      • As a/I want/So that
      • Other format
    • Define required fields for stories
    • Define validation rules

Domain Objects

  • Define object structure
    • Required properties
    • Data types
    • Relationships
    • Validation rules

API Requirements

  • Define API structure
    • Endpoint format
    • Method definitions
    • Request/Response formats
    • Validation rules

Non-Functional Requirements

  • Define NFR structure
    • Performance requirements
    • Security requirements
    • Scalability requirements
    • Other NFRs

Schema Format

  • Define JSON Schema version (draft-07)
  • Define YAML structure
  • Define validation rules
  • Define versioning strategy

Example Structure

```yaml
$schema: "http://json-schema.org/draft-07/schema#\"
title: "[PRD Title]"
version: "1.0.0"
author: "[Author Name]"
date: "[YYYY-MM-DD]"
status: "[Draft/Review/Approved]"
description: "[Brief description]"
scope:

  • "[Scope item 1]"
  • "[Scope item 2]"
    dependencies:
  • "[Dependency 1]"
  • "[Dependency 2]"
    user_stories:
  • id: "[Story ID]"
    title: "[Story Title]"

    Format to be decided

    Given/When/Then or As a/I want/So that

domain_objects:

  • name: "[Object Name]"
    properties:
    • name: "[Property Name]"
      type: "[Data Type]"
      required: true/false
      relationships:
    • type: "[Relationship Type]"
      target: "[Target Object]"
      api_requirements:
  • endpoint: "[Endpoint Path]"
    method: "[HTTP Method]"
    request:

    Request format

    response:

    Response format

non_functional_requirements:
performance:
- "[Performance requirement]"
security:
- "[Security requirement]"
scalability:
- "[Scalability requirement]"
```

Questions to Resolve

  1. Which user story format should we standardize on?
  2. What are the minimum required fields for a valid PRD?
  3. How should we handle versioning of PRDs?
  4. How should we handle dependencies between PRDs?
  5. What validation rules should we enforce?

Related Issues

Status

In Progress

Metadata

Metadata

Assignees

Labels

architectureArchitecture decisions and changesenhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions