Skip to content

feat: add rpg method prd example template#1285

Merged
Crunchyman-ralph merged 5 commits intonextfrom
ralph/feat/add.rpg.method
Oct 8, 2025
Merged

feat: add rpg method prd example template#1285
Crunchyman-ralph merged 5 commits intonextfrom
ralph/feat/add.rpg.method

Conversation

@Crunchyman-ralph
Copy link
Collaborator

@Crunchyman-ralph Crunchyman-ralph commented Oct 8, 2025

What type of PR is this?

  • 🐛 Bug fix
  • ✨ Feature
  • 🔌 Integration
  • 📝 Docs
  • 🧹 Refactor
  • Other:

Description

Related Issues

How to Test This

# Example commands or steps

Expected result:

Contributor Checklist

  • Created changeset: npm run changeset
  • Tests pass: npm test
  • Format check passes: npm run format-check (or npm run format to fix)
  • Addressed CodeRabbit comments (if any)
  • Linked related issues (if any)
  • Manually tested the changes

Changelog Entry


For Maintainers

  • PR title follows conventional commits
  • Target branch correct
  • Labels added
  • Milestone assigned (if applicable)

Summary by CodeRabbit

  • New Features

    • Added an RPG (Repository Planning Graph) PRD template for structured, dependency-aware planning with explicit dependency graphs, topological task ordering, good/bad examples, and parseable tags.
    • RPG template is included automatically during project initialization and available alongside the existing PRD template.
  • Documentation

    • New guide covering RPG principles, workflow, best practices, tooling recommendations, and integration with task parsing.
    • Quick-start updated with guidance for choosing between PRD templates and usage tips.

@changeset-bot
Copy link

changeset-bot bot commented Oct 8, 2025

🦋 Changeset detected

Latest commit: b74e4a9

The changes in this PR will be included in the next version bump.

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Oct 8, 2025

Walkthrough

Adds an RPG (Repository Planning Graph) PRD template and an assets copy, new RPG method documentation, expands Quick Start guidance to compare templates, and updates project init to provision the RPG template. No exported/public API changes.

Changes

Cohort / File(s) Summary of Changes
RPG template (Task Master)
.taskmaster/templates/example_prd_rpg.txt
Adds a comprehensive RPG PRD template enforcing capability/module decomposition, explicit dependency graph, topological ordering, inline guidance, and Task Master parsing instructions.
RPG template (Assets copy)
assets/example_prd_rpg.txt
Adds a distributable copy of the RPG PRD template mirroring the Task Master template for users.
Documentation: RPG method
apps/docs/capabilities/rpg-method.mdx
Adds new docs describing when/how to use RPG, core principles, template structure, Task Master workflow, examples, tooling tips, and best practices.
Documentation: Quick Start
apps/docs/getting-started/quick-start/prd-quick.mdx
Expands Quick Start to present both standard and RPG templates, adds "Choosing Between Templates" guidance and a four-point RPG thinking framework.
Project initialization
scripts/init.js
Updates init script to copy example_prd_rpg.txt into the Task Master templates directory and updates user-facing PRD guidance strings and next-step messages.
Changeset metadata
.changeset/nice-ways-hope.md
Adds changeset recording the RPG method/template and associated docs for release notes.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  actor U as User
  participant I as scripts/init.js
  participant FS as Filesystem (templates)

  U->>I: Run project initialization
  I->>FS: Copy `example_prd.txt`
  Note right of FS #f9f7ef: Existing behavior
  I->>FS: Copy `example_prd_rpg.txt`
  Note right of FS #eef9f3: New step — RPG template provisioned
  I-->>U: Init complete
Loading
sequenceDiagram
  autonumber
  participant TM as Task Master
  participant PRD as RPG PRD (.taskmaster/docs/prd.txt)
  participant P as Parser
  participant DG as Dependency Graph Builder
  participant PL as Planner

  TM->>PRD: load PRD
  TM->>P: parse-prd(PRD)
  P-->>TM: structured PRD (capabilities, modules, deps)
  TM->>PL: analyze-complexity / expand
  PL->>DG: build dependency graph (explicit deps)
  DG-->>PL: tasks ordered topologically by phase
  TM->>PL: validate-dependencies
  PL-->>TM: validated, executable plan
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Suggested reviewers

  • eyaltoledano

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title clearly summarizes the primary change by stating that a new “rpg method prd example template” feature is being added, which aligns with the extensive template files and documentation introduced in the pull request.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch ralph/feat/add.rpg.method

📜 Recent review details

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between efd1a91 and b74e4a9.

📒 Files selected for processing (1)
  • scripts/init.js (2 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
**/*.js

📄 CodeRabbit inference engine (.cursor/rules/tests.mdc)

**/*.js: Declare and initialize global variables at the top of modules to avoid hoisting issues.
Use proper function declarations to avoid hoisting issues and initialize variables before they are referenced.
Do not reference variables before their declaration in module scope.
Use dynamic imports (import()) to avoid initialization order issues in modules.

Files:

  • scripts/init.js
🧠 Learnings (3)
📚 Learning: 2025-09-24T15:12:12.658Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: assets/.windsurfrules:0-0
Timestamp: 2025-09-24T15:12:12.658Z
Learning: Start new projects with task-master init or parse a PRD via task-master parse-prd --input=<file> to generate an initial tasks.json

Applied to files:

  • scripts/init.js
📚 Learning: 2025-07-18T17:14:29.399Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/tasks.mdc:0-0
Timestamp: 2025-07-18T17:14:29.399Z
Learning: Applies to scripts/modules/task-manager.js : Extract tasks from PRD documents using AI, create them in the current tag context (defaulting to 'master'), provide clear prompts to guide AI task generation, and validate/clean up AI-generated tasks.

Applied to files:

  • scripts/init.js
📚 Learning: 2025-07-18T17:10:53.657Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/glossary.mdc:0-0
Timestamp: 2025-07-18T17:10:53.657Z
Learning: Comprehensive reference for Taskmaster MCP tools and CLI commands with tagged task lists information (taskmaster.mdc).

Applied to files:

  • scripts/init.js
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Test
🔇 Additional comments (2)
scripts/init.js (2)

631-635: LGTM! Template copy correctly implemented.

The implementation follows the existing pattern for copying template files. The placement after example_prd.txt and before git initialization is logical, and the follow-up guidance in the "Things you should do next" section (lines 865-868) has been properly updated to reference this new template.


865-868: LGTM! User guidance successfully enhanced.

The updated messaging addresses the previous review comment by:

  • Clarifying the PRD save location (.taskmaster/docs/prd.txt)
  • Distinguishing between template options for simple projects (example_prd.txt) and complex systems (example_prd_rpg.txt)
  • Updating the CLI command to reference the correct PRD path

The guidance is clear, actionable, and helps users understand when to use each template.


Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between c770f10 and 0d99393.

📒 Files selected for processing (2)
  • .changeset/nice-ways-hope.md (1 hunks)
  • apps/docs/getting-started/quick-start/prd-quick.mdx (2 hunks)
🧰 Additional context used
📓 Path-based instructions (3)
.changeset/*.md

📄 CodeRabbit inference engine (.cursor/rules/changeset.mdc)

.changeset/*.md: When running npm run changeset or npx changeset add, provide a concise summary of the changes for the CHANGELOG.md in imperative mood, typically a single line, and not a detailed Git commit message.
The changeset summary should be user-facing, describing what changed in the released version that is relevant to users or consumers of the package.
Do not use your detailed Git commit message body as the changeset summary.

Files:

  • .changeset/nice-ways-hope.md
.changeset/*

📄 CodeRabbit inference engine (.cursor/rules/new_features.mdc)

Create appropriate changesets for new features, use semantic versioning, include tagged system information in release notes, and document breaking changes if any.

Files:

  • .changeset/nice-ways-hope.md
.changeset/**/*.md

📄 CodeRabbit inference engine (CLAUDE.md)

Changeset entries should be user-facing, describing the end-user impact rather than code specifics

Files:

  • .changeset/nice-ways-hope.md
🧠 Learnings (5)
📚 Learning: 2025-07-18T17:10:12.881Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/dev_workflow.mdc:0-0
Timestamp: 2025-07-18T17:10:12.881Z
Learning: Applies to .taskmaster/docs/*.txt : Place Product Requirements Documents (PRDs) for features or initiatives in `.taskmaster/docs/` with descriptive filenames (e.g., `.taskmaster/docs/feature-xyz-prd.txt`).

Applied to files:

  • apps/docs/getting-started/quick-start/prd-quick.mdx
📚 Learning: 2025-09-24T15:12:58.855Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: assets/AGENTS.md:0-0
Timestamp: 2025-09-24T15:12:58.855Z
Learning: Applies to assets/.taskmaster/docs/*.{txt,md} : Keep PRDs as .txt or .md under .taskmaster/docs and parse them with task-master parse-prd (use --append for incremental updates)

Applied to files:

  • apps/docs/getting-started/quick-start/prd-quick.mdx
📚 Learning: 2025-07-18T17:10:12.881Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/dev_workflow.mdc:0-0
Timestamp: 2025-07-18T17:10:12.881Z
Learning: For PRD-driven feature development, create a dedicated tag, draft a PRD in `.taskmaster/docs/`, parse it into tasks, and add a high-level reference in the master tag.

Applied to files:

  • apps/docs/getting-started/quick-start/prd-quick.mdx
📚 Learning: 2025-07-31T22:08:16.039Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/taskmaster.mdc:0-0
Timestamp: 2025-07-31T22:08:16.039Z
Learning: After initializing a project with Taskmaster, you must parse a PRD in order to generate tasks. There will be no tasks files until then.

Applied to files:

  • apps/docs/getting-started/quick-start/prd-quick.mdx
📚 Learning: 2025-09-24T15:12:12.658Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: assets/.windsurfrules:0-0
Timestamp: 2025-09-24T15:12:12.658Z
Learning: Start new projects with task-master init or parse a PRD via task-master parse-prd --input=<file> to generate an initial tasks.json

Applied to files:

  • apps/docs/getting-started/quick-start/prd-quick.mdx
🪛 markdownlint-cli2 (0.18.1)
.changeset/nice-ways-hope.md

5-5: First line in a file should be a top-level heading

(MD041, first-line-heading, first-line-h1)


17-17: Files should end with a single newline character

(MD047, single-trailing-newline)

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
scripts/init.js (1)

860-892: Consider mentioning the RPG template in the "next steps" guidance.

The detailed "Getting Started" instructions reference example_prd.txt in step 2, but don't mention the newly added example_prd_rpg.txt template. Users may benefit from knowing they have both options available.

Consider adding a note about the RPG template option. For example, you could update step 2:

 ${chalk.white('2. ')}${chalk.yellow(
-    'Discuss your idea with AI and ask for a PRD using example_prd.txt, and save it to scripts/PRD.txt'
+    'Discuss your idea with AI and ask for a PRD using example_prd.txt (or example_prd_rpg.txt for dependency-aware planning), and save it to scripts/PRD.txt'
 )}
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0d99393 and efd1a91.

📒 Files selected for processing (1)
  • scripts/init.js (1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
**/*.js

📄 CodeRabbit inference engine (.cursor/rules/tests.mdc)

**/*.js: Declare and initialize global variables at the top of modules to avoid hoisting issues.
Use proper function declarations to avoid hoisting issues and initialize variables before they are referenced.
Do not reference variables before their declaration in module scope.
Use dynamic imports (import()) to avoid initialization order issues in modules.

Files:

  • scripts/init.js
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Test

@Crunchyman-ralph Crunchyman-ralph merged commit 2a910a4 into next Oct 8, 2025
8 checks passed
github-actions bot added a commit that referenced this pull request Oct 8, 2025
  This PR was automatically generated to update documentation based on recent changes.

  Original commit: feat: add rpg method prd example template (#1285)\n\n\n

  Co-authored-by: Claude <claude-assistant@anthropic.com>
sfc-gh-dflippo pushed a commit to sfc-gh-dflippo/task-master-ai that referenced this pull request Dec 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant