Greetings, brave Scribe of the Digital Realm! You stand at the threshold of an ancient artโ€”the distillation of scattered signals into crystalline Product Requirements. In ages past, Product Managers toiled endlessly, their PRDs growing stale mere moments after quill touched parchment. But you shall learn the secrets of the PRD MACHINEโ€”an autonomous oracle that writes, maintains, and evolves perfect PRDs faster than any mortal hand.

This quest will transform you from a weary documentarian into a master of living documentation, wielding automated tools that ensure your requirements never decay, your conflicts are always surfaced, and your product vision remains forever clear.

๐ŸŒŸ The Legend Behind This Quest

In the early days of software development, requirements lived in dusty scrollsโ€”Word documents buried in SharePoint crypts, Confluence pages forgotten by time, and email chains lost to the void. Product teams would spend countless hours writing PRDs that became obsolete before the ink dried.

Then came the prophecy of Signal-Driven Documentation: โ€œLet the code speak. Let the commits testify. Let the machine distill reality into requirements.โ€

The PRD MACHINE was forged in this visionโ€”a tool that transforms repository signals (commits, markdown files, feature definitions) into a living PRD that stays fresh, detects conflicts automatically, and integrates seamlessly with CI/CD pipelines.

Today, you shall master this ancient artifact.


๐ŸŽฏ Quest Objectives

By the time you complete this epic journey, you will have mastered:

Primary Objectives (Required for Quest Completion)

Secondary Objectives (Bonus Achievements)

Mastery Indicators

Youโ€™ll know youโ€™ve truly mastered this quest when you can:


๐Ÿ—บ๏ธ Quest Prerequisites

๐Ÿ“‹ Knowledge Requirements

๐Ÿ› ๏ธ System Requirements

๐Ÿง  Skill Level Indicators

This ๐ŸŸก Medium quest expects:


๐ŸŒ Choose Your Adventure Platform

The PRD MACHINE operates through Docker containers, ensuring consistent behavior across all realms. Choose your platform path below.

๐ŸŽ macOS Kingdom Path

# Verify Docker is installed and running
docker --version
docker info

# Navigate to your repository
cd /path/to/your/repository

# If using IT-Journey repository
cd ~/github/it-journey

# Build the PRD Machine container
docker compose build prd-machine

# Run your first PRD sync
docker compose run --rm prd-machine ./scripts/prd-machine/prd-machine sync

# Check PRD health
docker compose run --rm prd-machine ./scripts/prd-machine/prd-machine status

macOS users with Homebrew can ensure Docker Desktop is installed:

brew install --cask docker
open /Applications/Docker.app

๐ŸชŸ Windows Empire Path

# Verify Docker Desktop is running
docker --version
docker info

# Navigate to your repository (PowerShell)
cd C:\Users\YourName\github\it-journey

# Build the PRD Machine container
docker compose build prd-machine

# Run your first PRD sync
docker compose run --rm prd-machine ./scripts/prd-machine/prd-machine sync

# Check PRD health
docker compose run --rm prd-machine ./scripts/prd-machine/prd-machine status

Windows users should ensure WSL2 backend is enabled in Docker Desktop settings.

๐Ÿง Linux Territory Path

# Verify Docker is installed
docker --version
docker compose version

# Ensure your user is in the docker group
sudo usermod -aG docker $USER
# (Log out and back in if needed)

# Navigate to repository
cd ~/github/it-journey

# Build and run PRD Machine
docker compose build prd-machine
docker compose run --rm prd-machine ./scripts/prd-machine/prd-machine sync
docker compose run --rm prd-machine ./scripts/prd-machine/prd-machine status

โ˜๏ธ Cloud Realms Path (GitHub Codespaces / Gitpod)

# Cloud environments typically have Docker pre-installed
# Open terminal in your cloud IDE

# Navigate to repository root
cd /workspaces/it-journey  # Codespaces path

# Build and run PRD Machine
docker compose build prd-machine
docker compose run --rm prd-machine ./scripts/prd-machine/prd-machine sync

Cloud environments provide zero-setup Docker access, ideal for quick experimentation.


๐Ÿง™โ€โ™‚๏ธ Chapter 1: The Architecture of Living Documentation

Before wielding the PRD MACHINE, you must understand its structureโ€”the ten sacred sections that form the backbone of every perfect PRD.

โš”๏ธ Skills Youโ€™ll Forge in This Chapter

๐Ÿ—๏ธ The Ten Sacred Sections

Every PRD generated by the machine contains these sections, each serving a distinct purpose:

Section Name Purpose
0 WHY Mission statement and Key Feature Indicator (KFI)
1 MVP Minimum Viable Promise with signal status
2 UX User experience flow with diagrams
3 API CLI commands and interface documentation
4 NFR Non-functional requirements with metrics
5 EDGE Edge cases, dependencies, gotchas
6 OOS Out of scope - what we explicitly DONโ€™T do
7 ROAD Roadmap with milestones and status
8 RISK Top risks with mitigation strategies
9 DONE Definition of done and success criteria

๐Ÿ“œ The Signal-Driven Philosophy

Traditional PRDs are written once and decay over time. Signal-driven PRDs are different:

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                    SIGNAL-DRIVEN PRD                             โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                                                  โ”‚
โ”‚  ๐Ÿ“ Git Commits โ”€โ”€โ”                                              โ”‚
โ”‚                   โ”‚                                              โ”‚
โ”‚  ๐Ÿ“„ Markdown โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ–บ PRD MACHINE โ”€โ”€โ–บ Living PRD.md            โ”‚
โ”‚                   โ”‚                                              โ”‚
โ”‚  โš™๏ธ Features โ”€โ”€โ”€โ”€โ”€โ”˜                                              โ”‚
โ”‚                                                                  โ”‚
โ”‚  Key Principle: The machine reads reality, not opinions          โ”‚
โ”‚                                                                  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Why Signal-Driven?

๐Ÿ” Knowledge Check: Architecture


๐Ÿง™โ€โ™‚๏ธ Chapter 2: Wielding the PRD Machine CLI

Now you shall learn the three sacred commands that control the PRD MACHINE.

โš”๏ธ Skills Youโ€™ll Forge in This Chapter

๐Ÿ—๏ธ The Three Commands

Command 1: sync - Generate or Update PRD

The sync command is the heart of PRD Machine. It:

  1. Ingests git commits from repository history
  2. Scans all markdown files for signals
  3. Parses feature definitions
  4. Detects conflicts
  5. Generates complete PRD.md
# Basic sync (uses last 30 days of commits)
docker compose run --rm prd-machine ./scripts/prd-machine/prd-machine sync

# Sync with custom history window
docker compose run --rm prd-machine ./scripts/prd-machine/prd-machine sync --days 7

# Sync to custom output path
docker compose run --rm prd-machine ./scripts/prd-machine/prd-machine sync --output /tmp/custom-prd.md

Expected Output:

[HH:MM:SS] [HEADER] โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
[HH:MM:SS] [HEADER]    PRD MACHINE - Generating PRD.md
[HH:MM:SS] [HEADER] โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
[HH:MM:SS] [INFO] Ingesting git commits from last 30 days...
[HH:MM:SS] [SUCCESS] Ingested 60 commits
[HH:MM:SS] [INFO] Ingesting markdown files...
[HH:MM:SS] [SUCCESS] Ingested 81 markdown files
[HH:MM:SS] [INFO] Ingesting feature definitions...
[HH:MM:SS] [SUCCESS] Ingested 1 features
[HH:MM:SS] [INFO] Detecting conflicts in requirements...
[HH:MM:SS] [WARNING] Detected 4 potential conflicts
[HH:MM:SS] [SUCCESS] PRD generated successfully: /app/PRD.md
[HH:MM:SS] [INFO] Total signals processed: 146

Command 2: status - Check PRD Health

The status command monitors PRD freshness:

docker compose run --rm prd-machine ./scripts/prd-machine/prd-machine status

Expected Output:

[HH:MM:SS] [HEADER] โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
[HH:MM:SS] [HEADER]    PRD MACHINE - Status
[HH:MM:SS] [HEADER] โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
[HH:MM:SS] [INFO] PRD Path: /app/PRD.md
[HH:MM:SS] [INFO] Last Modified: 2025-11-29T06:40:21.138097+00:00
[HH:MM:SS] [INFO] Age: 0.0 hours
[HH:MM:SS] [SUCCESS] Health: HEALTHY

Health Status Levels:

Status Age Indicator Action
HEALTHY < 6 hours โœ… None needed
STALE 6-24 hours โš ๏ธ Run sync soon
OUTDATED > 24 hours โŒ Run sync immediately

Command 3: conflicts - Detect Requirement Conflicts

The conflicts command analyzes signals for contradictions:

docker compose run --rm prd-machine ./scripts/prd-machine/prd-machine conflicts

Expected Output:

[HH:MM:SS] [INFO] Ingesting git commits from last 30 days...
[HH:MM:SS] [SUCCESS] Ingested 60 commits
[HH:MM:SS] [INFO] Detecting conflicts in requirements...
[HH:MM:SS] [WARNING] Detected 4 potential conflicts
[HH:MM:SS] [WARNING] Found 4 conflicts:
  - [fix] Bug fix suggests incomplete requirement: fix(quest): correct invalid...
    Resolution: Consider if original requirement needs clarification
  - [fix] Bug fix suggests incomplete requirement: fix: replace invalid...
    Resolution: Consider if original requirement needs clarification

Conflict Types:

Type Description Resolution Strategy
revert A change was undone Review original intent
fix Bug fix indicates gaps Update requirements
contradiction Conflicting signals Human arbitration needed

๐Ÿ” Knowledge Check: CLI Mastery

โšก Quick Win Checkpoint

Run all three commands in sequence and verify outputs:

docker compose run --rm prd-machine ./scripts/prd-machine/prd-machine sync
docker compose run --rm prd-machine ./scripts/prd-machine/prd-machine status
docker compose run --rm prd-machine ./scripts/prd-machine/prd-machine conflicts

๐Ÿง™โ€โ™‚๏ธ Chapter 3: Signal Ingestion Deep Dive

Understanding where signals come from unlocks the true power of automated documentation.

โš”๏ธ Skills Youโ€™ll Forge in This Chapter

๐Ÿ—๏ธ Signal Source Architecture

flowchart TD
    subgraph "Signal Sources"
        GIT[๐Ÿ“ Git Commits]
        MD[๐Ÿ“„ Markdown Files]
        FEAT[โš™๏ธ features.yml]
    end
    
    subgraph "PRD Machine Processing"
        INGEST[Signal Ingestion]
        PARSE[Frontmatter Parsing]
        CONFLICT[Conflict Detection]
        GEN[PRD Generation]
    end
    
    subgraph "Output"
        PRD[๐Ÿ“œ PRD.md]
    end
    
    GIT --> INGEST
    MD --> INGEST
    FEAT --> INGEST
    INGEST --> PARSE
    PARSE --> CONFLICT
    CONFLICT --> GEN
    GEN --> PRD

๐Ÿ“ Git Commit Signals

The machine analyzes commit messages for:

Best Practices for Commit Signals:

# Good - provides clear signal
feat(auth): add two-factor authentication

Implements TOTP-based 2FA with SMS fallback for enhanced security.

Closes #123

# Also good - indicates potential requirement gap
fix(login): prevent crash on empty input

Fixed null pointer exception when email field is empty.
Added input validation before API call.

Closes #456

๐Ÿ“„ Markdown File Signals

The machine scans for:

Signal-Rich Frontmatter Example:

---
title: "Docker Mastery Quest"
description: "Complete guide to containerization"
tags:
    - docker
    - devops
    - containers
categories:
    - Quests
    - Infrastructure
difficulty: "๐ŸŸก Medium"
---

โš™๏ธ Feature Definition Signals

Located at features/features.yml:

features:
  - name: "PRD Machine"
    status: "implemented"
    description: "Autonomous PRD generation"
    category: "automation"

๐Ÿ” Knowledge Check: Signals


๐ŸŽฎ Quest Implementation Challenges

Apply your knowledge through these hands-on challenges.

Challenge 1: First PRD Generation (๐Ÿ• 10 minutes)

Objective: Generate your first complete PRD

Requirements:

Success Criteria:

Bonus Points:

Challenge 2: Health Monitoring (๐Ÿ• 5 minutes)

Objective: Understand PRD freshness monitoring

Requirements:

Success Criteria:

Challenge 3: Conflict Analysis (๐Ÿ• 15 minutes)

Objective: Interpret and act on detected conflicts

Requirements:

Success Criteria:

Bonus Points:

Challenge 4: CI/CD Integration (๐Ÿ• 15 minutes)

Objective: Set up automated PRD freshness

Requirements:

Success Criteria:


๐Ÿ—บ๏ธ Quest Network Position

See where this quest fits in your learning journey.

flowchart LR
    subgraph "Prerequisites"
        A[lvl-0001<br>Docs in a Row]
        B[lvl-0010<br>Jekyll Mermaid]
    end
    
    subgraph "Current Quest"
        C[lvl-0011<br>PRD Codex]
    end
    
    subgraph "Unlocks"
        D[lvl-0100<br>Advanced Automation]
        E[lvl-0101<br>CI/CD Mastery]
    end
    
    A --> C
    B --> C
    C --> D
    C --> E
    
    style C fill:#gold,stroke:#333,stroke-width:3px

โš™๏ธ Implementation Flow Diagram

The complete PRD Machine processing pipeline.

sequenceDiagram
    participant User
    participant CLI as PRD Machine CLI
    participant Git as Git Repository
    participant MD as Markdown Files
    participant Feat as features.yml
    participant PRD as PRD.md

    User->>CLI: prd-machine sync
    CLI->>Git: git log --since=30 days
    Git-->>CLI: 60 commits
    CLI->>MD: glob pages/**/*.md
    MD-->>CLI: 81 markdown files
    CLI->>Feat: read features/features.yml
    Feat-->>CLI: 1 feature
    CLI->>CLI: detect_conflicts()
    CLI->>PRD: write PRD.md
    PRD-->>User: โœ… PRD generated successfully

โœ… Validation & Knowledge Checks

Final Quest Validation Checklist

Before claiming victory, verify:

Knowledge Assessment

Answer these questions to confirm mastery:

  1. What is the KFI for PRD Machine?
  2. What does OOS stand for and why is it important?
  3. How often should a PRD be synced to stay HEALTHY?
  4. What does a fix: commit indicate as a signal?

Troubleshooting Guide

Issue Cause Solution
โ€œPermission deniedโ€ Script not executable chmod +x scripts/prd-machine/prd-machine
โ€œNo commits foundโ€ Empty git history Ensure repo has commits in date range
โ€œPRD not foundโ€ First run Run sync before status
Docker errors Container not built Run docker compose build prd-machine

๐ŸŽ Rewards & Progression

Achievement Unlocked! ๐Ÿ†

Upon completing this quest, youโ€™ve earned:

Reward Description
๐Ÿ† PRD Codex Master Mastered the 10-section PRD architecture
โšก Signal Distiller Can transform repo signals into documentation
๐Ÿ“œ Requirements Architect Understands living documentation principles
๐Ÿ” Conflict Detective Can identify and resolve requirement conflicts

Skills Unlocked

Progression Points: +150 XP

Next Quest Recommendations

Based on your new skills, consider:

  1. Advanced Automation (lvl-0100) - Extend PRD Machine with new signal sources
  2. CI/CD Mastery (lvl-0101) - Deep dive into GitHub Actions workflows
  3. AI Documentation - Use AI to enhance PRD content generation

๐Ÿ“š Resource Codex

Official Documentation

Resource Link Purpose
PRD Machine README scripts/prd-machine/README.md Quick reference
PRD Machine Docs docs/scripts/PRD_MACHINE.md Full documentation
IT-Journey PRD PRD.md Live example
Resource Type Value
Conventional Commits Spec Signal-rich commit messages
Living Documentation Book Philosophy reference
GitHub Actions Docs CI/CD integration

Community Resources

Resource Type Purpose
IT-Journey Discord Community Get help and share progress
GitHub Discussions Forum Technical questions
r/ProductManagement Reddit Industry perspectives

๐Ÿ““ AI Collaboration Log

This quest was developed with AI assistance. Hereโ€™s how:

AI Contributions

Human Validation

Collaboration Notes


๐Ÿง  Lessons & Next Steps

Key Takeaways

  1. PRDs should be living documents - Automated sync beats manual updates
  2. Signals reveal reality - Commits, docs, and features tell the truth
  3. Conflicts are features - Early detection prevents implementation bugs
  4. 6-hour freshness matters - Stale documentation leads to drift

Future Quest Ideas

README-Last Reminder

After completing this quest, remember to:


โœ… Quest Validation Checklist

Before marking this quest complete:


๐Ÿ”„ Kaizen Hooks

Suggested Improvements for Future Revisions

  1. Add video walkthrough - Screen recording of PRD generation
  2. Create interactive quiz - Self-assessment for knowledge checks
  3. Build practice repository - Sandbox for safe experimentation
  4. Add advanced challenges - Custom signal source implementation

Metrics to Monitor

Metric Target Purpose
Quest completion rate >70% Measure accessibility
Average completion time 45-60 min Validate estimate
Conflict resolution rate >50% Track actionable learning
Follow-up quest starts >30% Measure engagement

Derivative Quest Ideas


Congratulations, brave Scribe! You have mastered the PRD Codex and unlocked the power of living documentation. Your PRDs shall never again grow stale, your conflicts shall always surface, and your product vision shall remain forever clear.

Reality fully armed. The distillery now distills distilleries. ๐Ÿš€


Quest Complete? Mark your progress and share your PRD generation story in the IT-Journey community!