Skip to main content
PRDinator

An autonomous LangGraph pipeline that generates AI-resistant technical assignment PRDs. Give it a role, tech stack, and domain — it handles everything else.

What it does

Takes a single employer input and runs it through an 8-node agentic pipeline: generating ideas, filtering out AI-solvable ones, injecting real-world constraints, red-teaming for shortcuts, and producing a structured PRD.

pip install prd-inator

Setup

Requires uv.

uv venv
uv sync

Copy .env.example to .env and add your API keys:

cp .env.example .env

Usage

As a Library

from prd_inator import generate_prd
from langchain_openai import ChatOpenAI

# Initialize your LLM
llm = ChatOpenAI(model="gpt-4o", temperature=0.7)

result = generate_prd(
    role="Backend Engineer",
    tech_stack="Python, FastAPI, PostgreSQL",
    domain="Fintech",
    seniority="Mid-level",
    llm=llm
)

# Access output
print(result.candidate_prd)  # Assignment for candidate

# Save to file
with open("assignment.md", "w") as f:
    f.write(result.candidate_prd)

As a CLI

uv run main.py

LLM Configuration

Simple: Single LLM for All Nodes

Pass a pre-configured LLM instance to use for all pipeline nodes:

from langchain_openai import ChatOpenAI
from prd_inator import generate_prd

llm = ChatOpenAI(model="gpt-4o", temperature=0.7)

result = generate_prd(
    role="Backend Engineer",
    tech_stack="Python, FastAPI, PostgreSQL",
    domain="Fintech",
    seniority="Mid-level",
    llm=llm
)

Advanced: Per-Node LLM Configuration

Use different LLMs for specific nodes:

from langchain_openai import ChatOpenAI
from langchain_anthropic import ChatAnthropic
from prd_inator import generate_prd

# Default LLM for most nodes
default_llm = ChatOpenAI(model="gpt-4o", temperature=0.7)

# Use Claude for adversarial thinking
adversarial_llm = ChatAnthropic(model="claude-3-5-sonnet-20241022", temperature=0.9)

# Use cheaper model for diversity enforcement
cheap_llm = ChatOpenAI(model="gpt-4o-mini", temperature=0.3)

result = generate_prd(
    role="Frontend Developer",
    tech_stack="React, TypeScript",
    domain="Healthcare",
    seniority="Senior",
    llm=default_llm,
    node_llms={
        "adversarial_agent": adversarial_llm,
        "diversity_enforcer": cheap_llm
    }
)

Why This Approach?

  • Bring your own LLM: Use any LangChain-compatible model (OpenAI, Anthropic, local models, custom wrappers)
  • Full control: Configure temperature, max_tokens, timeouts, retries, etc.
  • No coupling: The library doesn't manage API keys or provider initialization
  • Flexible: Mix and match models per node for cost/quality optimization

Available Nodes for Configuration

  • idea_divergence
  • diversity_enforcer
  • anti_ai_filter
  • constraint_injector
  • scenario_transformer
  • adversarial_agent
  • patch_node
  • prd_generator

Pipeline overview

Employer inputs
  → Idea divergence engine
  → Diversity enforcer
  → Anti-AI filter          ↺ loops back if ideas are too weak (max 3x)
  → Constraint injector
  → Scenario transformer    (generates structured PRD components)
  → Adversarial agent
  → Patch node              (hardens PRD against shortcuts)
  → PRD generator           (assembles final document)
  → Output

Output

Each run produces a single structured PRD document with:

  • Objective & Context — business problem and what to build
  • Technical Stack — required technologies
  • Core Requirements — 3-5 main requirements with details
  • Functional Requirements — API endpoints/interfaces with specifications
  • Non-Functional Requirements — performance, resilience, security, developer experience
  • User Flow — end-to-end step-by-step flow

Stack

  • LangGraph — agent orchestration
  • uv — dependency management

Release files for prd-inator 0.3.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for prd-inator 0.3.3
File Size Uploaded
prd_inator-0.3.3.tar.gz 116.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for prd-inator 0.3.3
File Interpreter ABI Platform
prd_inator-0.3.3-py3-none-any.whl Python 3 none any Details

Total release size: 134.3 kB

Release files / prd_inator-0.3.3.tar.gz

Download URL prd_inator-0.3.3.tar.gz
Size 116.3 kB
Tags Source
SHA-256 checksum
How to use checksums
3c83317ccd3d03177518d9fb27353f5c8e5e73d5a9d8066fa5e867bb0f0e51d5
BLAKE2b-256 checksum
How to use checksums
ecbf741d4ddac30675a165d2241a11d20285c6d516443789c531b8287306dc21
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 24, 2026.

Transparency log

Release files / prd_inator-0.3.3-py3-none-any.whl

Download URL prd_inator-0.3.3-py3-none-any.whl
Size 18.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a4094dbf60acba858d6ef075dd7a7580c094226a53ab9fa080ce611b3720641c
BLAKE2b-256 checksum
How to use checksums
1ecf84581b0d9f029e0bf2313612bb53c253fc87dd3326b27ebb2934e9ed7f5e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 24, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.3 This release

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page