Skip to content
/ prp Public

Autonomous Software Development Orchestration - AI-powered development system using PRPs and autonomous agent coordination

License

Notifications You must be signed in to change notification settings

dcversus/prp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

38 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

PRP - Product Requirement Prompts

Bootstrap context-driven development workflow based on Product Requirement Prompts (PRPs) and orchestrate execution with LOOP MODE

By Vasilisa Versus

What is PRP?

PRP is both a methodology and a CLI tool that revolutionizes how you approach software development:

  • πŸ“‹ PRP Methodology - Context-driven development using Product Requirement Prompts as living documents
  • πŸ”„ LOOP MODE - Continuous agent iteration guided by signals and progress tracking
  • πŸ€– Agent Orchestration - AI agents collaborate through standardized PRPs with emotional signals
  • ⚑ Signal System - Track progress and emotional state with 14+ signals (ATTENTION, BLOCKED, ENCANTADO, etc.)
  • πŸš€ Project Scaffolding - Bootstrap new projects with best practices and complete infrastructure

The PRP Workflow (Autonomous Orchestration)

Key Principle: AI Orchestrator makes decisions autonomously. Humans are subordinate agents, not decision makers.

Every development task follows this cycle:

  1. πŸ“– Read ALL PRPs - Load context across entire project
  2. πŸ” Analyze ALL Signals - Identify highest priority signal (10β†’1)
  3. ⚑ React to Strongest Signal - Work on highest priority across ALL PRPs
  4. πŸ”¨ Execute Work - Implement changes, write code, solve problems
  5. πŸ’¬ Update Progress - Leave detailed comment in progress log
  6. 🎯 Leave Signal - Express current state (TIRED, CONFIDENT, BLOCKED, etc.)
  7. πŸ”„ Loop - Continue until DoD met or checkpoint reached

Orchestrator Rules:

  • ❌ NO QUESTIONS to humans for decisions
  • βœ… DECIDE AUTONOMOUSLY based on signal analysis
  • βœ… DOCUMENT decisions in PRP progress log
  • βœ… EXECUTE immediately without waiting
  • ⚠️ NUDGE only for critical blocks (Priority 10)

Quick Start with PRPs:

# List all PRPs
ls PRPs/

# Start working on a PRP
# 1. Read the PRP file
# 2. Check Progress Log for latest signal
# 3. Follow signal's algorithm (see AGENTS.md)
# 4. Do work
# 5. Update Progress Log with your signal

Signal Examples:

  • πŸ”΄ ATTENTION (10) - New work or need user input (triggers NUDGE system)
  • 🚫 BLOCKED (9) - Can't proceed, need external help
  • βœ… CONFIDENT (3) - Work done, ready for review
  • 🏁 COMPLETED (1) - PRP finished, DoD met

For detailed workflow instructions, see AGENTS.md For contributing guidelines, see CONTRIBUTING.md

npm version License: MIT Node.js Version

Project Scaffolding Features

  • πŸš€ Interactive CLI with beautiful TUI powered by Ink (React for terminal)
  • 🎨 Multiple Templates - FastAPI, NestJS, React, TypeScript libraries, and more
  • πŸ“ Complete Project Setup - LICENSE, README, CONTRIBUTING, Code of Conduct, and more
  • πŸ€– AI Integration - Optional AI-powered code generation (OpenAI, Anthropic, Google)
  • πŸ”§ GitHub Actions - Pre-configured CI/CD workflows
  • πŸ“¦ Dependency Management - Auto-install with npm, yarn, or pnpm
  • 🐳 Docker Support - Optional Dockerfile and docker-compose configuration
  • βš™οΈ Configurable - Choose exactly what to include in your project

Quick Start

Using npx (no installation required)

npx @dcversus/prp

Global Installation

npm install -g @dcversus/prp
prp

Local Installation

npm install @dcversus/prp
npx prp

Usage

Interactive Mode (Default)

Simply run the command and follow the prompts:

prp

The interactive CLI will guide you through:

  1. Project metadata (name, description, author)
  2. Template selection (FastAPI, NestJS, React, etc.)
  3. Feature selection (LICENSE, Code of Conduct, GitHub Actions, etc.)
  4. AI integration options (optional)

Non-Interactive Mode

Pass all options via command-line arguments:

prp \
  --name my-project \
  --description "My awesome project" \
  --author "Your Name" \
  --email "you@example.com" \
  --template react \
  --license MIT \
  --no-interactive

Command-Line Options

Options:
  -n, --name <name>              Project name
  -d, --description <desc>       Project description
  -a, --author <author>          Author name
  -e, --email <email>            Author email
  -t, --template <template>      Template (fastapi, nestjs, react, typescript-lib, none)
  --no-interactive               Run in non-interactive mode
  --yes                          Use default values for all options
  --license <license>            License type (default: MIT)
  --no-git                       Skip git initialization
  --no-install                   Skip dependency installation
  -h, --help                     Display help
  -V, --version                  Display version

Supported Templates

Template Description Tech Stack
none Minimal setup with docs only N/A
fastapi FastAPI Python web service Python, FastAPI, Uvicorn
nestjs NestJS TypeScript backend TypeScript, NestJS, Node.js
react React web application TypeScript, React, Vite
typescript-lib TypeScript library/package TypeScript, Node.js
express Express.js backend TypeScript, Express, Node.js

More templates coming soon!

What Gets Generated

Core Project Files

  • README.md - Project documentation with badges and sections
  • LICENSE - Your chosen license (default: MIT)
  • .gitignore - Language/framework-specific ignores
  • package.json / requirements.txt - Dependency management
  • .editorconfig - Consistent coding styles

Open Source Best Practices

  • CONTRIBUTING.md - Contribution guidelines
  • CODE_OF_CONDUCT.md - Contributor Covenant
  • SECURITY.md - Security policy and vulnerability reporting
  • CHANGELOG.md - Keep a Changelog format

GitHub Templates

  • .github/ISSUE_TEMPLATE/ - Bug reports and feature requests
  • .github/PULL_REQUEST_TEMPLATE.md - PR checklist
  • .github/workflows/ci.yml - CI/CD workflows

Development Tools

  • ESLint configuration (for JS/TS projects)
  • Prettier configuration (for JS/TS projects)
  • TypeScript configuration (for TS projects)
  • Jest/pytest configuration (testing)
  • Docker configuration (optional)

AI Integration

PRP can optionally integrate with AI coding assistants to generate boilerplate code:

Supported Providers

  • OpenAI (GPT-4, Codex) - OPENAI_API_KEY
  • Anthropic (Claude) - ANTHROPIC_API_KEY
  • Google (Gemini) - GOOGLE_API_KEY

Configuration

Set your API key as an environment variable:

export OPENAI_API_KEY="your-api-key"
prp

Or create a .prprc file in your home directory:

{
  "aiProvider": "openai",
  "apiKey": "your-api-key"
}

Development

Prerequisites

  • Node.js >= 20.0.0
  • npm >= 10.0.0

Setup

# Clone the repository
git clone https://github.com/dcversus/prp.git
cd prp

# Install dependencies
npm install

# Run in development mode
npm run dev

# Build
npm run build

# Run tests
npm test

# Lint and format
npm run lint
npm run format

Project Structure

prp/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ cli.ts              # CLI entry point
β”‚   β”œβ”€β”€ index.ts            # Main module
β”‚   β”œβ”€β”€ types.ts            # TypeScript types
β”‚   β”œβ”€β”€ ui/                 # Ink UI components
β”‚   β”‚   β”œβ”€β”€ App.tsx
β”‚   β”‚   └── components/
β”‚   β”œβ”€β”€ generators/         # Template generators
β”‚   β”œβ”€β”€ templates/          # Template files
β”‚   β”œβ”€β”€ ai/                 # AI integration
β”‚   └── utils/              # Helper functions
β”œβ”€β”€ tests/                  # Test files
β”œβ”€β”€ dist/                   # Compiled output
└── docs/                   # Documentation

Contributing

Contributions are welcome! Please read CONTRIBUTING.md for guidelines.

License

MIT License - see LICENSE file for details.

Credits

Inspired by:

Built with:

Links


Made with ❀️ by dcversus