pdd-cli 0.0.237__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (674) hide show
  1. pdd_cli-0.0.237/LICENSE +7 -0
  2. pdd_cli-0.0.237/PKG-INFO +326 -0
  3. pdd_cli-0.0.237/README.md +3652 -0
  4. pdd_cli-0.0.237/pdd/__init__.py +80 -0
  5. pdd_cli-0.0.237/pdd/__main__.py +14 -0
  6. pdd_cli-0.0.237/pdd/_keyring_timeout.py +56 -0
  7. pdd_cli-0.0.237/pdd/agentic_architecture.py +845 -0
  8. pdd_cli-0.0.237/pdd/agentic_architecture_orchestrator.py +1887 -0
  9. pdd_cli-0.0.237/pdd/agentic_bug.py +325 -0
  10. pdd_cli-0.0.237/pdd/agentic_bug_orchestrator.py +2712 -0
  11. pdd_cli-0.0.237/pdd/agentic_change.py +268 -0
  12. pdd_cli-0.0.237/pdd/agentic_change_orchestrator.py +2107 -0
  13. pdd_cli-0.0.237/pdd/agentic_checkup.py +543 -0
  14. pdd_cli-0.0.237/pdd/agentic_checkup_orchestrator.py +1210 -0
  15. pdd_cli-0.0.237/pdd/agentic_common.py +3657 -0
  16. pdd_cli-0.0.237/pdd/agentic_common_worktree.py +505 -0
  17. pdd_cli-0.0.237/pdd/agentic_crash.py +555 -0
  18. pdd_cli-0.0.237/pdd/agentic_e2e_fix.py +331 -0
  19. pdd_cli-0.0.237/pdd/agentic_e2e_fix_orchestrator.py +2333 -0
  20. pdd_cli-0.0.237/pdd/agentic_fix.py +454 -0
  21. pdd_cli-0.0.237/pdd/agentic_langtest.py +84 -0
  22. pdd_cli-0.0.237/pdd/agentic_split.py +456 -0
  23. pdd_cli-0.0.237/pdd/agentic_split_orchestrator.py +3338 -0
  24. pdd_cli-0.0.237/pdd/agentic_sync.py +1809 -0
  25. pdd_cli-0.0.237/pdd/agentic_sync_runner.py +2060 -0
  26. pdd_cli-0.0.237/pdd/agentic_test.py +308 -0
  27. pdd_cli-0.0.237/pdd/agentic_test_generate.py +312 -0
  28. pdd_cli-0.0.237/pdd/agentic_test_orchestrator.py +822 -0
  29. pdd_cli-0.0.237/pdd/agentic_update.py +394 -0
  30. pdd_cli-0.0.237/pdd/agentic_verify.py +192 -0
  31. pdd_cli-0.0.237/pdd/api_key_scanner.py +205 -0
  32. pdd_cli-0.0.237/pdd/architecture_include_validation.py +785 -0
  33. pdd_cli-0.0.237/pdd/architecture_registry.py +398 -0
  34. pdd_cli-0.0.237/pdd/architecture_sync.py +1478 -0
  35. pdd_cli-0.0.237/pdd/architecture_sync_helper.py +39 -0
  36. pdd_cli-0.0.237/pdd/auth_service.py +453 -0
  37. pdd_cli-0.0.237/pdd/auto_deps_architecture.py +420 -0
  38. pdd_cli-0.0.237/pdd/auto_deps_main.py +163 -0
  39. pdd_cli-0.0.237/pdd/auto_include.py +512 -0
  40. pdd_cli-0.0.237/pdd/auto_update.py +226 -0
  41. pdd_cli-0.0.237/pdd/bug_main.py +290 -0
  42. pdd_cli-0.0.237/pdd/bug_to_unit_test.py +187 -0
  43. pdd_cli-0.0.237/pdd/change.py +193 -0
  44. pdd_cli-0.0.237/pdd/change_main.py +613 -0
  45. pdd_cli-0.0.237/pdd/checkup_review_loop.py +3746 -0
  46. pdd_cli-0.0.237/pdd/ci_detect_changed_modules.py +406 -0
  47. pdd_cli-0.0.237/pdd/ci_drift_heal.py +1484 -0
  48. pdd_cli-0.0.237/pdd/ci_validation.py +726 -0
  49. pdd_cli-0.0.237/pdd/cli.py +78 -0
  50. pdd_cli-0.0.237/pdd/cli_detector.py +875 -0
  51. pdd_cli-0.0.237/pdd/cmd_test_main.py +448 -0
  52. pdd_cli-0.0.237/pdd/code_generator.py +181 -0
  53. pdd_cli-0.0.237/pdd/code_generator_main.py +2289 -0
  54. pdd_cli-0.0.237/pdd/commands/__init__.py +57 -0
  55. pdd_cli-0.0.237/pdd/commands/analysis.py +371 -0
  56. pdd_cli-0.0.237/pdd/commands/auth.py +392 -0
  57. pdd_cli-0.0.237/pdd/commands/checkup.py +396 -0
  58. pdd_cli-0.0.237/pdd/commands/connect.py +366 -0
  59. pdd_cli-0.0.237/pdd/commands/extracts.py +6 -0
  60. pdd_cli-0.0.237/pdd/commands/firecrawl.py +179 -0
  61. pdd_cli-0.0.237/pdd/commands/fix.py +299 -0
  62. pdd_cli-0.0.237/pdd/commands/generate.py +535 -0
  63. pdd_cli-0.0.237/pdd/commands/maintenance.py +580 -0
  64. pdd_cli-0.0.237/pdd/commands/misc.py +87 -0
  65. pdd_cli-0.0.237/pdd/commands/modify.py +468 -0
  66. pdd_cli-0.0.237/pdd/commands/report.py +149 -0
  67. pdd_cli-0.0.237/pdd/commands/sessions.py +282 -0
  68. pdd_cli-0.0.237/pdd/commands/templates.py +228 -0
  69. pdd_cli-0.0.237/pdd/commands/utility.py +115 -0
  70. pdd_cli-0.0.237/pdd/commands/which.py +304 -0
  71. pdd_cli-0.0.237/pdd/comment_line.py +35 -0
  72. pdd_cli-0.0.237/pdd/config_resolution.py +58 -0
  73. pdd_cli-0.0.237/pdd/conflicts_in_prompts.py +149 -0
  74. pdd_cli-0.0.237/pdd/conflicts_main.py +99 -0
  75. pdd_cli-0.0.237/pdd/construct_paths.py +1524 -0
  76. pdd_cli-0.0.237/pdd/content_selector.py +818 -0
  77. pdd_cli-0.0.237/pdd/context_generator.py +160 -0
  78. pdd_cli-0.0.237/pdd/context_generator_main.py +209 -0
  79. pdd_cli-0.0.237/pdd/continue_generation.py +193 -0
  80. pdd_cli-0.0.237/pdd/core/__init__.py +33 -0
  81. pdd_cli-0.0.237/pdd/core/cli.py +652 -0
  82. pdd_cli-0.0.237/pdd/core/cloud.py +312 -0
  83. pdd_cli-0.0.237/pdd/core/dump.py +663 -0
  84. pdd_cli-0.0.237/pdd/core/duplicate_cli_guard.py +369 -0
  85. pdd_cli-0.0.237/pdd/core/errors.py +174 -0
  86. pdd_cli-0.0.237/pdd/core/llm_trace.py +104 -0
  87. pdd_cli-0.0.237/pdd/core/remote_session.py +61 -0
  88. pdd_cli-0.0.237/pdd/core/utils.py +103 -0
  89. pdd_cli-0.0.237/pdd/crash_main.py +406 -0
  90. pdd_cli-0.0.237/pdd/data/arena_elo_manifest.json +659 -0
  91. pdd_cli-0.0.237/pdd/data/language_format.csv +94 -0
  92. pdd_cli-0.0.237/pdd/data/llm_model.csv +132 -0
  93. pdd_cli-0.0.237/pdd/detect_change.py +147 -0
  94. pdd_cli-0.0.237/pdd/detect_change_main.py +104 -0
  95. pdd_cli-0.0.237/pdd/docs/prompting_guide.md +907 -0
  96. pdd_cli-0.0.237/pdd/durable_sync_runner.py +764 -0
  97. pdd_cli-0.0.237/pdd/edit_file.py +783 -0
  98. pdd_cli-0.0.237/pdd/embed_retrieve.py +117 -0
  99. pdd_cli-0.0.237/pdd/extracts_prune.py +227 -0
  100. pdd_cli-0.0.237/pdd/failure_classification.py +104 -0
  101. pdd_cli-0.0.237/pdd/find_section.py +28 -0
  102. pdd_cli-0.0.237/pdd/firecrawl_cache.py +475 -0
  103. pdd_cli-0.0.237/pdd/fix_code_loop.py +950 -0
  104. pdd_cli-0.0.237/pdd/fix_code_module_errors.py +165 -0
  105. pdd_cli-0.0.237/pdd/fix_error_loop.py +1065 -0
  106. pdd_cli-0.0.237/pdd/fix_errors_from_unit_tests.py +267 -0
  107. pdd_cli-0.0.237/pdd/fix_main.py +620 -0
  108. pdd_cli-0.0.237/pdd/fix_verification_errors.py +260 -0
  109. pdd_cli-0.0.237/pdd/fix_verification_errors_loop.py +1290 -0
  110. pdd_cli-0.0.237/pdd/fix_verification_main.py +689 -0
  111. pdd_cli-0.0.237/pdd/generate_model_catalog.py +1544 -0
  112. pdd_cli-0.0.237/pdd/generate_output_paths.py +708 -0
  113. pdd_cli-0.0.237/pdd/generate_test.py +330 -0
  114. pdd_cli-0.0.237/pdd/generation_completion.py +108 -0
  115. pdd_cli-0.0.237/pdd/get_comment.py +30 -0
  116. pdd_cli-0.0.237/pdd/get_extension.py +65 -0
  117. pdd_cli-0.0.237/pdd/get_jwt_token.py +718 -0
  118. pdd_cli-0.0.237/pdd/get_language.py +42 -0
  119. pdd_cli-0.0.237/pdd/get_lint_commands.py +66 -0
  120. pdd_cli-0.0.237/pdd/get_run_command.py +75 -0
  121. pdd_cli-0.0.237/pdd/get_test_command.py +123 -0
  122. pdd_cli-0.0.237/pdd/git_update.py +137 -0
  123. pdd_cli-0.0.237/pdd/include_query_extractor.py +250 -0
  124. pdd_cli-0.0.237/pdd/increase_tests.py +106 -0
  125. pdd_cli-0.0.237/pdd/incremental_code_generator.py +206 -0
  126. pdd_cli-0.0.237/pdd/incremental_prd_architecture.py +1630 -0
  127. pdd_cli-0.0.237/pdd/insert_includes.py +336 -0
  128. pdd_cli-0.0.237/pdd/install_completion.py +144 -0
  129. pdd_cli-0.0.237/pdd/json_atomic.py +32 -0
  130. pdd_cli-0.0.237/pdd/list_drift_detection.py +468 -0
  131. pdd_cli-0.0.237/pdd/llm_invoke.py +4609 -0
  132. pdd_cli-0.0.237/pdd/load_prompt_template.py +66 -0
  133. pdd_cli-0.0.237/pdd/logo_animation.py +455 -0
  134. pdd_cli-0.0.237/pdd/mcp_config.json +7 -0
  135. pdd_cli-0.0.237/pdd/metadata_sync.py +506 -0
  136. pdd_cli-0.0.237/pdd/model_tester.py +420 -0
  137. pdd_cli-0.0.237/pdd/one_session_sync.py +351 -0
  138. pdd_cli-0.0.237/pdd/operation_log.py +388 -0
  139. pdd_cli-0.0.237/pdd/path_resolution.py +188 -0
  140. pdd_cli-0.0.237/pdd/pdd_completion.fish +185 -0
  141. pdd_cli-0.0.237/pdd/pdd_completion.sh +191 -0
  142. pdd_cli-0.0.237/pdd/pdd_completion.zsh +602 -0
  143. pdd_cli-0.0.237/pdd/pddrc_initializer.py +522 -0
  144. pdd_cli-0.0.237/pdd/pin_example_hack.py +1764 -0
  145. pdd_cli-0.0.237/pdd/postprocess.py +159 -0
  146. pdd_cli-0.0.237/pdd/postprocess_0.py +52 -0
  147. pdd_cli-0.0.237/pdd/preprocess.py +1024 -0
  148. pdd_cli-0.0.237/pdd/preprocess_main.py +121 -0
  149. pdd_cli-0.0.237/pdd/process_csv_change.py +506 -0
  150. pdd_cli-0.0.237/pdd/prompts/agentic_arch_step10_completeness_LLM.prompt +458 -0
  151. pdd_cli-0.0.237/pdd/prompts/agentic_arch_step11_sync_LLM.prompt +247 -0
  152. pdd_cli-0.0.237/pdd/prompts/agentic_arch_step12_deps_LLM.prompt +255 -0
  153. pdd_cli-0.0.237/pdd/prompts/agentic_arch_step13_fix_LLM.prompt +684 -0
  154. pdd_cli-0.0.237/pdd/prompts/agentic_arch_step1_analyze_prd_LLM.prompt +108 -0
  155. pdd_cli-0.0.237/pdd/prompts/agentic_arch_step1b_complexity_LLM.prompt +203 -0
  156. pdd_cli-0.0.237/pdd/prompts/agentic_arch_step2_analyze_LLM.prompt +122 -0
  157. pdd_cli-0.0.237/pdd/prompts/agentic_arch_step2b_codebase_scan_LLM.prompt +136 -0
  158. pdd_cli-0.0.237/pdd/prompts/agentic_arch_step3_research_LLM.prompt +126 -0
  159. pdd_cli-0.0.237/pdd/prompts/agentic_arch_step4_data_model_LLM.prompt +199 -0
  160. pdd_cli-0.0.237/pdd/prompts/agentic_arch_step5_design_LLM.prompt +193 -0
  161. pdd_cli-0.0.237/pdd/prompts/agentic_arch_step5b_completeness_gate_LLM.prompt +223 -0
  162. pdd_cli-0.0.237/pdd/prompts/agentic_arch_step5b_fix_LLM.prompt +132 -0
  163. pdd_cli-0.0.237/pdd/prompts/agentic_arch_step6_research_deps_LLM.prompt +99 -0
  164. pdd_cli-0.0.237/pdd/prompts/agentic_arch_step7_generate_LLM.prompt +299 -0
  165. pdd_cli-0.0.237/pdd/prompts/agentic_arch_step7b_review_LLM.prompt +128 -0
  166. pdd_cli-0.0.237/pdd/prompts/agentic_arch_step8_5_context_docs_LLM.prompt +289 -0
  167. pdd_cli-0.0.237/pdd/prompts/agentic_arch_step8_pddrc_LLM.prompt +190 -0
  168. pdd_cli-0.0.237/pdd/prompts/agentic_arch_step9_prompts_LLM.prompt +383 -0
  169. pdd_cli-0.0.237/pdd/prompts/agentic_arch_step9b_cross_audit_LLM.prompt +144 -0
  170. pdd_cli-0.0.237/pdd/prompts/agentic_bug_step10_verify_LLM.prompt +167 -0
  171. pdd_cli-0.0.237/pdd/prompts/agentic_bug_step11_e2e_test_LLM.prompt +383 -0
  172. pdd_cli-0.0.237/pdd/prompts/agentic_bug_step12_pr_LLM.prompt +200 -0
  173. pdd_cli-0.0.237/pdd/prompts/agentic_bug_step1_duplicate_LLM.prompt +84 -0
  174. pdd_cli-0.0.237/pdd/prompts/agentic_bug_step2_docs_LLM.prompt +125 -0
  175. pdd_cli-0.0.237/pdd/prompts/agentic_bug_step3_triage_LLM.prompt +134 -0
  176. pdd_cli-0.0.237/pdd/prompts/agentic_bug_step4_api_research_LLM.prompt +108 -0
  177. pdd_cli-0.0.237/pdd/prompts/agentic_bug_step5_reproduce_LLM.prompt +126 -0
  178. pdd_cli-0.0.237/pdd/prompts/agentic_bug_step6_root_cause_LLM.prompt +220 -0
  179. pdd_cli-0.0.237/pdd/prompts/agentic_bug_step7_prompt_classification_LLM.prompt +190 -0
  180. pdd_cli-0.0.237/pdd/prompts/agentic_bug_step8_test_plan_LLM.prompt +183 -0
  181. pdd_cli-0.0.237/pdd/prompts/agentic_bug_step9_generate_LLM.prompt +279 -0
  182. pdd_cli-0.0.237/pdd/prompts/agentic_change_step10_architecture_update_LLM.prompt +222 -0
  183. pdd_cli-0.0.237/pdd/prompts/agentic_change_step11_identify_issues_LLM.prompt +154 -0
  184. pdd_cli-0.0.237/pdd/prompts/agentic_change_step12_fix_issues_LLM.prompt +120 -0
  185. pdd_cli-0.0.237/pdd/prompts/agentic_change_step13_create_pr_LLM.prompt +154 -0
  186. pdd_cli-0.0.237/pdd/prompts/agentic_change_step1_duplicate_LLM.prompt +85 -0
  187. pdd_cli-0.0.237/pdd/prompts/agentic_change_step2_docs_LLM.prompt +101 -0
  188. pdd_cli-0.0.237/pdd/prompts/agentic_change_step3_research_LLM.prompt +129 -0
  189. pdd_cli-0.0.237/pdd/prompts/agentic_change_step4_clarify_LLM.prompt +176 -0
  190. pdd_cli-0.0.237/pdd/prompts/agentic_change_step5_docs_change_LLM.prompt +173 -0
  191. pdd_cli-0.0.237/pdd/prompts/agentic_change_step6_devunits_LLM.prompt +313 -0
  192. pdd_cli-0.0.237/pdd/prompts/agentic_change_step7_architecture_LLM.prompt +191 -0
  193. pdd_cli-0.0.237/pdd/prompts/agentic_change_step8_analyze_LLM.prompt +177 -0
  194. pdd_cli-0.0.237/pdd/prompts/agentic_change_step9_implement_LLM.prompt +324 -0
  195. pdd_cli-0.0.237/pdd/prompts/agentic_checkup_step1_discover_LLM.prompt +79 -0
  196. pdd_cli-0.0.237/pdd/prompts/agentic_checkup_step2_deps_LLM.prompt +77 -0
  197. pdd_cli-0.0.237/pdd/prompts/agentic_checkup_step3_build_LLM.prompt +90 -0
  198. pdd_cli-0.0.237/pdd/prompts/agentic_checkup_step4_interfaces_LLM.prompt +115 -0
  199. pdd_cli-0.0.237/pdd/prompts/agentic_checkup_step5_test_LLM.prompt +103 -0
  200. pdd_cli-0.0.237/pdd/prompts/agentic_checkup_step6_1_fix_LLM.prompt +122 -0
  201. pdd_cli-0.0.237/pdd/prompts/agentic_checkup_step6_2_regression_tests_LLM.prompt +97 -0
  202. pdd_cli-0.0.237/pdd/prompts/agentic_checkup_step6_3_e2e_tests_LLM.prompt +104 -0
  203. pdd_cli-0.0.237/pdd/prompts/agentic_checkup_step7_verify_LLM.prompt +168 -0
  204. pdd_cli-0.0.237/pdd/prompts/agentic_checkup_step8_create_pr_LLM.prompt +118 -0
  205. pdd_cli-0.0.237/pdd/prompts/agentic_crash_explore_LLM.prompt +58 -0
  206. pdd_cli-0.0.237/pdd/prompts/agentic_e2e_fix_step10_ci_validation_LLM.prompt +80 -0
  207. pdd_cli-0.0.237/pdd/prompts/agentic_e2e_fix_step11_code_cleanup_LLM.prompt +78 -0
  208. pdd_cli-0.0.237/pdd/prompts/agentic_e2e_fix_step1_unit_tests_LLM.prompt +121 -0
  209. pdd_cli-0.0.237/pdd/prompts/agentic_e2e_fix_step2_e2e_tests_LLM.prompt +102 -0
  210. pdd_cli-0.0.237/pdd/prompts/agentic_e2e_fix_step3_root_cause_LLM.prompt +114 -0
  211. pdd_cli-0.0.237/pdd/prompts/agentic_e2e_fix_step4_fix_e2e_tests_LLM.prompt +107 -0
  212. pdd_cli-0.0.237/pdd/prompts/agentic_e2e_fix_step5_identify_devunits_LLM.prompt +102 -0
  213. pdd_cli-0.0.237/pdd/prompts/agentic_e2e_fix_step6_create_unit_tests_LLM.prompt +117 -0
  214. pdd_cli-0.0.237/pdd/prompts/agentic_e2e_fix_step7_verify_tests_LLM.prompt +127 -0
  215. pdd_cli-0.0.237/pdd/prompts/agentic_e2e_fix_step8_run_pdd_fix_LLM.prompt +112 -0
  216. pdd_cli-0.0.237/pdd/prompts/agentic_e2e_fix_step9_verify_all_LLM.prompt +159 -0
  217. pdd_cli-0.0.237/pdd/prompts/agentic_fix_explore_LLM.prompt +45 -0
  218. pdd_cli-0.0.237/pdd/prompts/agentic_fix_nonpython_LLM.prompt +45 -0
  219. pdd_cli-0.0.237/pdd/prompts/agentic_fix_primary_LLM.prompt +42 -0
  220. pdd_cli-0.0.237/pdd/prompts/agentic_split_step0_intent_LLM.prompt +86 -0
  221. pdd_cli-0.0.237/pdd/prompts/agentic_split_step1_survey_LLM.prompt +344 -0
  222. pdd_cli-0.0.237/pdd/prompts/agentic_split_step2_diagnose_LLM.prompt +134 -0
  223. pdd_cli-0.0.237/pdd/prompts/agentic_split_step3_investigate_LLM.prompt +184 -0
  224. pdd_cli-0.0.237/pdd/prompts/agentic_split_step4_propose_options_LLM.prompt +353 -0
  225. pdd_cli-0.0.237/pdd/prompts/agentic_split_step6_extract_LLM.prompt +343 -0
  226. pdd_cli-0.0.237/pdd/prompts/agentic_split_step6a_phase_extract_LLM.prompt +123 -0
  227. pdd_cli-0.0.237/pdd/prompts/agentic_split_step7_assess_LLM.prompt +144 -0
  228. pdd_cli-0.0.237/pdd/prompts/agentic_split_step8_repair_LLM.prompt +143 -0
  229. pdd_cli-0.0.237/pdd/prompts/agentic_split_step9_refine_check_LLM.prompt +85 -0
  230. pdd_cli-0.0.237/pdd/prompts/agentic_sync_fix_dry_run_LLM.prompt +29 -0
  231. pdd_cli-0.0.237/pdd/prompts/agentic_sync_identify_modules_LLM.prompt +145 -0
  232. pdd_cli-0.0.237/pdd/prompts/agentic_test_generate_LLM.prompt +90 -0
  233. pdd_cli-0.0.237/pdd/prompts/agentic_test_step10_validate_LLM.prompt +93 -0
  234. pdd_cli-0.0.237/pdd/prompts/agentic_test_step11_loop_LLM.prompt +90 -0
  235. pdd_cli-0.0.237/pdd/prompts/agentic_test_step15_plan_validation_LLM.prompt +113 -0
  236. pdd_cli-0.0.237/pdd/prompts/agentic_test_step16_run_tests_LLM.prompt +192 -0
  237. pdd_cli-0.0.237/pdd/prompts/agentic_test_step1_duplicate_LLM.prompt +85 -0
  238. pdd_cli-0.0.237/pdd/prompts/agentic_test_step2_docs_LLM.prompt +113 -0
  239. pdd_cli-0.0.237/pdd/prompts/agentic_test_step3_clarify_LLM.prompt +123 -0
  240. pdd_cli-0.0.237/pdd/prompts/agentic_test_step4_detect_frontend_LLM.prompt +127 -0
  241. pdd_cli-0.0.237/pdd/prompts/agentic_test_step5_test_plan_LLM.prompt +208 -0
  242. pdd_cli-0.0.237/pdd/prompts/agentic_test_step5b_enhance_plan_LLM.prompt +127 -0
  243. pdd_cli-0.0.237/pdd/prompts/agentic_test_step6_coverage_LLM.prompt +103 -0
  244. pdd_cli-0.0.237/pdd/prompts/agentic_test_step6_generate_tests_LLM.prompt +336 -0
  245. pdd_cli-0.0.237/pdd/prompts/agentic_test_step7_checklist_LLM.prompt +127 -0
  246. pdd_cli-0.0.237/pdd/prompts/agentic_test_step7_run_tests_LLM.prompt +192 -0
  247. pdd_cli-0.0.237/pdd/prompts/agentic_test_step8_fix_iterate_LLM.prompt +173 -0
  248. pdd_cli-0.0.237/pdd/prompts/agentic_test_step8_manual_test_LLM.prompt +94 -0
  249. pdd_cli-0.0.237/pdd/prompts/agentic_test_step9_regression_LLM.prompt +97 -0
  250. pdd_cli-0.0.237/pdd/prompts/agentic_test_step9_submit_pr_LLM.prompt +233 -0
  251. pdd_cli-0.0.237/pdd/prompts/agentic_update_LLM.prompt +70 -0
  252. pdd_cli-0.0.237/pdd/prompts/agentic_verify_explore_LLM.prompt +45 -0
  253. pdd_cli-0.0.237/pdd/prompts/arrange_graph_layout_LLM.prompt +203 -0
  254. pdd_cli-0.0.237/pdd/prompts/auto_include_LLM.prompt +126 -0
  255. pdd_cli-0.0.237/pdd/prompts/bug_to_unit_test_LLM.prompt +17 -0
  256. pdd_cli-0.0.237/pdd/prompts/change_LLM.prompt +46 -0
  257. pdd_cli-0.0.237/pdd/prompts/code_patcher_LLM.prompt +71 -0
  258. pdd_cli-0.0.237/pdd/prompts/conflict_LLM.prompt +23 -0
  259. pdd_cli-0.0.237/pdd/prompts/continue_generation_LLM.prompt +3 -0
  260. pdd_cli-0.0.237/pdd/prompts/core_dump_requirements_LLM.prompt +110 -0
  261. pdd_cli-0.0.237/pdd/prompts/cross_issue_reconcile_LLM.prompt +105 -0
  262. pdd_cli-0.0.237/pdd/prompts/detect_change_LLM.prompt +65 -0
  263. pdd_cli-0.0.237/pdd/prompts/diff_analyzer_LLM.prompt +69 -0
  264. pdd_cli-0.0.237/pdd/prompts/example_generator_LLM.prompt +31 -0
  265. pdd_cli-0.0.237/pdd/prompts/extract_code_LLM.prompt +26 -0
  266. pdd_cli-0.0.237/pdd/prompts/extract_conflict_LLM.prompt +19 -0
  267. pdd_cli-0.0.237/pdd/prompts/extract_detect_change_LLM.prompt +19 -0
  268. pdd_cli-0.0.237/pdd/prompts/extract_program_code_fix_LLM.prompt +29 -0
  269. pdd_cli-0.0.237/pdd/prompts/extract_prompt_change_LLM.prompt +13 -0
  270. pdd_cli-0.0.237/pdd/prompts/extract_prompt_split_LLM.prompt +12 -0
  271. pdd_cli-0.0.237/pdd/prompts/extract_prompt_update_LLM.prompt +14 -0
  272. pdd_cli-0.0.237/pdd/prompts/extract_promptline_LLM.prompt +17 -0
  273. pdd_cli-0.0.237/pdd/prompts/extract_unit_code_fix_LLM.prompt +332 -0
  274. pdd_cli-0.0.237/pdd/prompts/extract_xml_LLM.prompt +7 -0
  275. pdd_cli-0.0.237/pdd/prompts/find_verification_errors_LLM.prompt +44 -0
  276. pdd_cli-0.0.237/pdd/prompts/fix_code_module_errors_LLM.prompt +69 -0
  277. pdd_cli-0.0.237/pdd/prompts/fix_errors_from_unit_tests_LLM.prompt +87 -0
  278. pdd_cli-0.0.237/pdd/prompts/fix_verification_errors_LLM.prompt +62 -0
  279. pdd_cli-0.0.237/pdd/prompts/generate_test_LLM.prompt +141 -0
  280. pdd_cli-0.0.237/pdd/prompts/generate_test_from_example_LLM.prompt +56 -0
  281. pdd_cli-0.0.237/pdd/prompts/include_query_extractor_LLM.prompt +18 -0
  282. pdd_cli-0.0.237/pdd/prompts/increase_tests_LLM.prompt +18 -0
  283. pdd_cli-0.0.237/pdd/prompts/incremental_prd_architecture_patch_LLM.prompt +84 -0
  284. pdd_cli-0.0.237/pdd/prompts/insert_includes_LLM.prompt +136 -0
  285. pdd_cli-0.0.237/pdd/prompts/one_session_agent_LLM.prompt +145 -0
  286. pdd_cli-0.0.237/pdd/prompts/post_gen_verify_LLM.prompt +69 -0
  287. pdd_cli-0.0.237/pdd/prompts/prompt_code_diff_LLM.prompt +123 -0
  288. pdd_cli-0.0.237/pdd/prompts/prompt_diff_LLM.prompt +82 -0
  289. pdd_cli-0.0.237/pdd/prompts/split_LLM.prompt +95 -0
  290. pdd_cli-0.0.237/pdd/prompts/summarize_file_LLM.prompt +23 -0
  291. pdd_cli-0.0.237/pdd/prompts/sync_analysis_LLM.prompt +82 -0
  292. pdd_cli-0.0.237/pdd/prompts/trace_LLM.prompt +33 -0
  293. pdd_cli-0.0.237/pdd/prompts/trim_results_LLM.prompt +83 -0
  294. pdd_cli-0.0.237/pdd/prompts/trim_results_start_LLM.prompt +45 -0
  295. pdd_cli-0.0.237/pdd/prompts/unfinished_prompt_LLM.prompt +102 -0
  296. pdd_cli-0.0.237/pdd/prompts/update_prompt_LLM.prompt +55 -0
  297. pdd_cli-0.0.237/pdd/prompts/xml_convertor_LLM.prompt +54 -0
  298. pdd_cli-0.0.237/pdd/provider_manager.py +976 -0
  299. pdd_cli-0.0.237/pdd/pytest_output.py +358 -0
  300. pdd_cli-0.0.237/pdd/python_env_detector.py +151 -0
  301. pdd_cli-0.0.237/pdd/reasoning.py +27 -0
  302. pdd_cli-0.0.237/pdd/remote_session.py +1040 -0
  303. pdd_cli-0.0.237/pdd/render_mermaid.py +251 -0
  304. pdd_cli-0.0.237/pdd/server/__init__.py +52 -0
  305. pdd_cli-0.0.237/pdd/server/app.py +342 -0
  306. pdd_cli-0.0.237/pdd/server/click_executor.py +587 -0
  307. pdd_cli-0.0.237/pdd/server/executor.py +338 -0
  308. pdd_cli-0.0.237/pdd/server/jobs.py +845 -0
  309. pdd_cli-0.0.237/pdd/server/models.py +241 -0
  310. pdd_cli-0.0.237/pdd/server/routes/__init__.py +35 -0
  311. pdd_cli-0.0.237/pdd/server/routes/architecture.py +479 -0
  312. pdd_cli-0.0.237/pdd/server/routes/auth.py +364 -0
  313. pdd_cli-0.0.237/pdd/server/routes/commands.py +929 -0
  314. pdd_cli-0.0.237/pdd/server/routes/config.py +42 -0
  315. pdd_cli-0.0.237/pdd/server/routes/extracts.py +483 -0
  316. pdd_cli-0.0.237/pdd/server/routes/files.py +865 -0
  317. pdd_cli-0.0.237/pdd/server/routes/prompts.py +1334 -0
  318. pdd_cli-0.0.237/pdd/server/routes/websocket.py +473 -0
  319. pdd_cli-0.0.237/pdd/server/security.py +243 -0
  320. pdd_cli-0.0.237/pdd/server/terminal_spawner.py +277 -0
  321. pdd_cli-0.0.237/pdd/server/token_counter.py +349 -0
  322. pdd_cli-0.0.237/pdd/setup_tool.py +1035 -0
  323. pdd_cli-0.0.237/pdd/split.py +131 -0
  324. pdd_cli-0.0.237/pdd/split_main.py +154 -0
  325. pdd_cli-0.0.237/pdd/split_validation.py +905 -0
  326. pdd_cli-0.0.237/pdd/summarize_directory.py +479 -0
  327. pdd_cli-0.0.237/pdd/sync_animation.py +647 -0
  328. pdd_cli-0.0.237/pdd/sync_determine_operation.py +3034 -0
  329. pdd_cli-0.0.237/pdd/sync_graph_order_consistency.py +144 -0
  330. pdd_cli-0.0.237/pdd/sync_main.py +1185 -0
  331. pdd_cli-0.0.237/pdd/sync_orchestration.py +2961 -0
  332. pdd_cli-0.0.237/pdd/sync_order.py +575 -0
  333. pdd_cli-0.0.237/pdd/sync_tui.py +1207 -0
  334. pdd_cli-0.0.237/pdd/template_expander.py +161 -0
  335. pdd_cli-0.0.237/pdd/template_registry.py +264 -0
  336. pdd_cli-0.0.237/pdd/templates/architecture/architecture_json.prompt +336 -0
  337. pdd_cli-0.0.237/pdd/templates/architecture/example_nextjs_task_notes.prompt +505 -0
  338. pdd_cli-0.0.237/pdd/templates/architecture/example_python_backend.prompt +272 -0
  339. pdd_cli-0.0.237/pdd/templates/architecture/pdd_path_construction_guide.prompt +436 -0
  340. pdd_cli-0.0.237/pdd/templates/generic/generate_pddrc_YAML.prompt +213 -0
  341. pdd_cli-0.0.237/pdd/templates/generic/generate_prompt.prompt +236 -0
  342. pdd_cli-0.0.237/pdd/test_result.py +18 -0
  343. pdd_cli-0.0.237/pdd/trace.py +295 -0
  344. pdd_cli-0.0.237/pdd/trace_main.py +117 -0
  345. pdd_cli-0.0.237/pdd/track_cost.py +180 -0
  346. pdd_cli-0.0.237/pdd/unfinished_prompt.py +186 -0
  347. pdd_cli-0.0.237/pdd/update_main.py +1749 -0
  348. pdd_cli-0.0.237/pdd/update_model_costs.py +446 -0
  349. pdd_cli-0.0.237/pdd/update_prompt.py +198 -0
  350. pdd_cli-0.0.237/pdd/user_story_tests.py +853 -0
  351. pdd_cli-0.0.237/pdd/validate_prompt_includes.py +545 -0
  352. pdd_cli-0.0.237/pdd/xml_tagger.py +137 -0
  353. pdd_cli-0.0.237/pdd_cli.egg-info/PKG-INFO +326 -0
  354. pdd_cli-0.0.237/pdd_cli.egg-info/SOURCES.txt +672 -0
  355. pdd_cli-0.0.237/pdd_cli.egg-info/dependency_links.txt +1 -0
  356. pdd_cli-0.0.237/pdd_cli.egg-info/entry_points.txt +2 -0
  357. pdd_cli-0.0.237/pdd_cli.egg-info/requires.txt +45 -0
  358. pdd_cli-0.0.237/pdd_cli.egg-info/top_level.txt +1 -0
  359. pdd_cli-0.0.237/pypi_description.rst +259 -0
  360. pdd_cli-0.0.237/pyproject.toml +145 -0
  361. pdd_cli-0.0.237/setup.cfg +4 -0
  362. pdd_cli-0.0.237/tests/test_739_complete.py +936 -0
  363. pdd_cli-0.0.237/tests/test_739_e2e_synthetic.py +441 -0
  364. pdd_cli-0.0.237/tests/test_739_fixtures.py +291 -0
  365. pdd_cli-0.0.237/tests/test_agentic_arch_complexity_prompt.py +36 -0
  366. pdd_cli-0.0.237/tests/test_agentic_architecture.py +958 -0
  367. pdd_cli-0.0.237/tests/test_agentic_architecture_orchestrator.py +3707 -0
  368. pdd_cli-0.0.237/tests/test_agentic_bug.py +372 -0
  369. pdd_cli-0.0.237/tests/test_agentic_bug_orchestrator.py +7142 -0
  370. pdd_cli-0.0.237/tests/test_agentic_bug_orchestrator_1.py +691 -0
  371. pdd_cli-0.0.237/tests/test_agentic_bug_orchestrator_step_comments.py +1280 -0
  372. pdd_cli-0.0.237/tests/test_agentic_bug_step10_prompt.py +354 -0
  373. pdd_cli-0.0.237/tests/test_agentic_bug_step11_prompt.py +875 -0
  374. pdd_cli-0.0.237/tests/test_agentic_bug_step7_prompt.py +604 -0
  375. pdd_cli-0.0.237/tests/test_agentic_change.py +539 -0
  376. pdd_cli-0.0.237/tests/test_agentic_change_orchestrator.py +5193 -0
  377. pdd_cli-0.0.237/tests/test_agentic_checkup.py +745 -0
  378. pdd_cli-0.0.237/tests/test_agentic_checkup_orchestrator.py +1855 -0
  379. pdd_cli-0.0.237/tests/test_agentic_common.py +6988 -0
  380. pdd_cli-0.0.237/tests/test_agentic_common_issue_813_anthropic_api_key_oauth_shadow.py +646 -0
  381. pdd_cli-0.0.237/tests/test_agentic_common_worktree.py +606 -0
  382. pdd_cli-0.0.237/tests/test_agentic_crash.py +438 -0
  383. pdd_cli-0.0.237/tests/test_agentic_e2e_fix.py +238 -0
  384. pdd_cli-0.0.237/tests/test_agentic_e2e_fix_orchestrator.py +6332 -0
  385. pdd_cli-0.0.237/tests/test_agentic_e2e_fix_step10_prompt.py +355 -0
  386. pdd_cli-0.0.237/tests/test_agentic_fix.py +505 -0
  387. pdd_cli-0.0.237/tests/test_agentic_langtest.py +128 -0
  388. pdd_cli-0.0.237/tests/test_agentic_split.py +1257 -0
  389. pdd_cli-0.0.237/tests/test_agentic_split_orchestrator.py +3028 -0
  390. pdd_cli-0.0.237/tests/test_agentic_split_real.py +331 -0
  391. pdd_cli-0.0.237/tests/test_agentic_split_v2.py +688 -0
  392. pdd_cli-0.0.237/tests/test_agentic_sync.py +3181 -0
  393. pdd_cli-0.0.237/tests/test_agentic_sync_nearest_config.py +162 -0
  394. pdd_cli-0.0.237/tests/test_agentic_sync_runner.py +2865 -0
  395. pdd_cli-0.0.237/tests/test_agentic_test.py +391 -0
  396. pdd_cli-0.0.237/tests/test_agentic_test_generate.py +653 -0
  397. pdd_cli-0.0.237/tests/test_agentic_test_orchestrator.py +963 -0
  398. pdd_cli-0.0.237/tests/test_agentic_update.py +636 -0
  399. pdd_cli-0.0.237/tests/test_agentic_verify.py +334 -0
  400. pdd_cli-0.0.237/tests/test_api_key_scanner.py +569 -0
  401. pdd_cli-0.0.237/tests/test_architecture_include_validation.py +398 -0
  402. pdd_cli-0.0.237/tests/test_architecture_registry.py +854 -0
  403. pdd_cli-0.0.237/tests/test_architecture_sync.py +3627 -0
  404. pdd_cli-0.0.237/tests/test_auth_service.py +1077 -0
  405. pdd_cli-0.0.237/tests/test_auto_deps_architecture.py +402 -0
  406. pdd_cli-0.0.237/tests/test_auto_deps_entry_wipe.py +1441 -0
  407. pdd_cli-0.0.237/tests/test_auto_deps_lock.py +229 -0
  408. pdd_cli-0.0.237/tests/test_auto_deps_main.py +706 -0
  409. pdd_cli-0.0.237/tests/test_auto_include.py +776 -0
  410. pdd_cli-0.0.237/tests/test_auto_update.py +271 -0
  411. pdd_cli-0.0.237/tests/test_bug_main.py +868 -0
  412. pdd_cli-0.0.237/tests/test_bug_to_unit_test.py +228 -0
  413. pdd_cli-0.0.237/tests/test_change.py +158 -0
  414. pdd_cli-0.0.237/tests/test_change_call_site_and_retry.py +250 -0
  415. pdd_cli-0.0.237/tests/test_change_main.py +1893 -0
  416. pdd_cli-0.0.237/tests/test_checkup_pr_mode.py +720 -0
  417. pdd_cli-0.0.237/tests/test_checkup_review_loop.py +2916 -0
  418. pdd_cli-0.0.237/tests/test_ci_detect_changed_modules.py +265 -0
  419. pdd_cli-0.0.237/tests/test_ci_drift_heal.py +2614 -0
  420. pdd_cli-0.0.237/tests/test_ci_validation.py +681 -0
  421. pdd_cli-0.0.237/tests/test_circular_includes.py +417 -0
  422. pdd_cli-0.0.237/tests/test_cli.py +177 -0
  423. pdd_cli-0.0.237/tests/test_cli_binary_isolation.py +201 -0
  424. pdd_cli-0.0.237/tests/test_cli_detector.py +909 -0
  425. pdd_cli-0.0.237/tests/test_cloud_noninteractive_auth.py +222 -0
  426. pdd_cli-0.0.237/tests/test_cmd_test_main.py +1790 -0
  427. pdd_cli-0.0.237/tests/test_code_generator.py +634 -0
  428. pdd_cli-0.0.237/tests/test_code_generator_main.py +5775 -0
  429. pdd_cli-0.0.237/tests/test_code_patcher_prompt_json_example.py +76 -0
  430. pdd_cli-0.0.237/tests/test_commands_auth.py +511 -0
  431. pdd_cli-0.0.237/tests/test_commands_firecrawl.py +736 -0
  432. pdd_cli-0.0.237/tests/test_commands_fix.py +427 -0
  433. pdd_cli-0.0.237/tests/test_commands_generate.py +569 -0
  434. pdd_cli-0.0.237/tests/test_commands_maintenance.py +725 -0
  435. pdd_cli-0.0.237/tests/test_commands_modify.py +384 -0
  436. pdd_cli-0.0.237/tests/test_commands_templates.py +122 -0
  437. pdd_cli-0.0.237/tests/test_commands_utility.py +418 -0
  438. pdd_cli-0.0.237/tests/test_comment_line.py +61 -0
  439. pdd_cli-0.0.237/tests/test_conflicts_in_prompts.py +130 -0
  440. pdd_cli-0.0.237/tests/test_conflicts_main.py +559 -0
  441. pdd_cli-0.0.237/tests/test_construct_paths.py +3771 -0
  442. pdd_cli-0.0.237/tests/test_content_selector.py +882 -0
  443. pdd_cli-0.0.237/tests/test_context_example_isolation.py +238 -0
  444. pdd_cli-0.0.237/tests/test_context_generator.py +118 -0
  445. pdd_cli-0.0.237/tests/test_context_generator_main.py +421 -0
  446. pdd_cli-0.0.237/tests/test_continue_generation.py +138 -0
  447. pdd_cli-0.0.237/tests/test_copy_package_data_to_public.py +100 -0
  448. pdd_cli-0.0.237/tests/test_core_dump.py +1063 -0
  449. pdd_cli-0.0.237/tests/test_core_errors.py +179 -0
  450. pdd_cli-0.0.237/tests/test_core_utils.py +87 -0
  451. pdd_cli-0.0.237/tests/test_crash_main.py +709 -0
  452. pdd_cli-0.0.237/tests/test_cross_step_consistency_prompts.py +341 -0
  453. pdd_cli-0.0.237/tests/test_detect_change.py +173 -0
  454. pdd_cli-0.0.237/tests/test_detect_change_main.py +271 -0
  455. pdd_cli-0.0.237/tests/test_discover_associated_documents.py +774 -0
  456. pdd_cli-0.0.237/tests/test_duplicate_cli_guard.py +686 -0
  457. pdd_cli-0.0.237/tests/test_durable_sync_runner.py +507 -0
  458. pdd_cli-0.0.237/tests/test_e2e_auto_deps_pipeline.py +536 -0
  459. pdd_cli-0.0.237/tests/test_e2e_bug_step9_verification.py +308 -0
  460. pdd_cli-0.0.237/tests/test_e2e_issue_219_duplicate_includes.py +384 -0
  461. pdd_cli-0.0.237/tests/test_e2e_issue_295_openai_schema.py +322 -0
  462. pdd_cli-0.0.237/tests/test_e2e_issue_296_custom_csv.py +271 -0
  463. pdd_cli-0.0.237/tests/test_e2e_issue_305_false_success.py +365 -0
  464. pdd_cli-0.0.237/tests/test_e2e_issue_309_oauth_rate_limit.py +433 -0
  465. pdd_cli-0.0.237/tests/test_e2e_issue_319_json_braces.py +552 -0
  466. pdd_cli-0.0.237/tests/test_e2e_issue_340_report_core_no_default.py +288 -0
  467. pdd_cli-0.0.237/tests/test_e2e_issue_342_syspath_isolation.py +480 -0
  468. pdd_cli-0.0.237/tests/test_e2e_issue_349_sys_modules_pollution.py +370 -0
  469. pdd_cli-0.0.237/tests/test_e2e_issue_357_step9_keyerror.py +336 -0
  470. pdd_cli-0.0.237/tests/test_e2e_issue_358_jwt_cache_null.py +382 -0
  471. pdd_cli-0.0.237/tests/test_e2e_issue_364_cumulative_cost.py +343 -0
  472. pdd_cli-0.0.237/tests/test_e2e_issue_373_step5_keyerror.py +722 -0
  473. pdd_cli-0.0.237/tests/test_e2e_issue_375_malformed_json.py +285 -0
  474. pdd_cli-0.0.237/tests/test_e2e_issue_379_auth_null_expires.py +383 -0
  475. pdd_cli-0.0.237/tests/test_e2e_issue_383_commit_intermediate_files.py +331 -0
  476. pdd_cli-0.0.237/tests/test_e2e_issue_399_ssh_url_message.py +271 -0
  477. pdd_cli-0.0.237/tests/test_e2e_issue_419_cli_unpushed_commits.py +261 -0
  478. pdd_cli-0.0.237/tests/test_e2e_issue_419_unpushed_commits.py +211 -0
  479. pdd_cli-0.0.237/tests/test_e2e_issue_426_include_path_validation.py +291 -0
  480. pdd_cli-0.0.237/tests/test_e2e_issue_429_prompt_files_in_pr.py +431 -0
  481. pdd_cli-0.0.237/tests/test_e2e_issue_445_worktree_resume.py +330 -0
  482. pdd_cli-0.0.237/tests/test_e2e_issue_448_change_orchestrator.py +364 -0
  483. pdd_cli-0.0.237/tests/test_e2e_issue_448_step5_keyerror.py +333 -0
  484. pdd_cli-0.0.237/tests/test_e2e_issue_449_auth_logout_message.py +362 -0
  485. pdd_cli-0.0.237/tests/test_e2e_issue_467_false_cached_steps.py +356 -0
  486. pdd_cli-0.0.237/tests/test_e2e_issue_468_not_a_bug_early_exit.py +312 -0
  487. pdd_cli-0.0.237/tests/test_e2e_issue_469_cleanup_messages.py +242 -0
  488. pdd_cli-0.0.237/tests/test_e2e_issue_469_duplicate_unresolved.py +441 -0
  489. pdd_cli-0.0.237/tests/test_e2e_issue_470_sessions_cleanup_auth_message.py +59 -0
  490. pdd_cli-0.0.237/tests/test_e2e_issue_481_pagination.py +257 -0
  491. pdd_cli-0.0.237/tests/test_e2e_issue_485_warning_false_negative.py +140 -0
  492. pdd_cli-0.0.237/tests/test_e2e_issue_493_update_output_subdir.py +82 -0
  493. pdd_cli-0.0.237/tests/test_e2e_issue_508_budget_test_cost.py +111 -0
  494. pdd_cli-0.0.237/tests/test_e2e_issue_508_sync_budget_tracking.py +146 -0
  495. pdd_cli-0.0.237/tests/test_e2e_issue_509_retry_cost.py +232 -0
  496. pdd_cli-0.0.237/tests/test_e2e_issue_521_circular_includes.py +131 -0
  497. pdd_cli-0.0.237/tests/test_e2e_issue_522_include_fingerprint.py +211 -0
  498. pdd_cli-0.0.237/tests/test_e2e_issue_545_no_changes_to_commit.py +228 -0
  499. pdd_cli-0.0.237/tests/test_e2e_issue_549_format_double_escaping.py +627 -0
  500. pdd_cli-0.0.237/tests/test_e2e_issue_549_other_orchestrators.py +657 -0
  501. pdd_cli-0.0.237/tests/test_e2e_issue_553_circular_includes_non_recursive.py +196 -0
  502. pdd_cli-0.0.237/tests/test_e2e_issue_557_codex_ndjson.py +405 -0
  503. pdd_cli-0.0.237/tests/test_e2e_issue_566_code_fence_tags.py +370 -0
  504. pdd_cli-0.0.237/tests/test_e2e_issue_579_bug_worktree_rerun.py +696 -0
  505. pdd_cli-0.0.237/tests/test_e2e_issue_579_orchestrator_rerun.py +442 -0
  506. pdd_cli-0.0.237/tests/test_e2e_issue_594_preamble_imports.py +44 -0
  507. pdd_cli-0.0.237/tests/test_e2e_issue_604_handler_wiring.py +213 -0
  508. pdd_cli-0.0.237/tests/test_e2e_issue_620_hallucinated_imports.py +415 -0
  509. pdd_cli-0.0.237/tests/test_e2e_issue_626_nextjs_rendering_model.py +563 -0
  510. pdd_cli-0.0.237/tests/test_e2e_issue_686_anthropic_cost_double_count.py +221 -0
  511. pdd_cli-0.0.237/tests/test_e2e_issue_687_postprocess_model_name.py +283 -0
  512. pdd_cli-0.0.237/tests/test_e2e_issue_737_step_completion_markers.py +404 -0
  513. pdd_cli-0.0.237/tests/test_e2e_issue_745_initial_cost_tracking.py +202 -0
  514. pdd_cli-0.0.237/tests/test_e2e_issue_773_hard_stop.py +181 -0
  515. pdd_cli-0.0.237/tests/test_e2e_issue_791_e2e_timeout_retry.py +287 -0
  516. pdd_cli-0.0.237/tests/test_e2e_issue_796_typescript_python_validation.py +220 -0
  517. pdd_cli-0.0.237/tests/test_e2e_issue_797_typescript_verification.py +329 -0
  518. pdd_cli-0.0.237/tests/test_e2e_issue_817_step5_degenerate_cli.py +93 -0
  519. pdd_cli-0.0.237/tests/test_e2e_issue_824_artifact_filtering.py +253 -0
  520. pdd_cli-0.0.237/tests/test_e2e_issue_825_param_drop.py +316 -0
  521. pdd_cli-0.0.237/tests/test_e2e_issue_830_workflow_stall.py +460 -0
  522. pdd_cli-0.0.237/tests/test_e2e_issue_894.py +187 -0
  523. pdd_cli-0.0.237/tests/test_e2e_issue_902_provider_fallback.py +472 -0
  524. pdd_cli-0.0.237/tests/test_e2e_issue_903_convergence.py +294 -0
  525. pdd_cli-0.0.237/tests/test_e2e_openai_required_array.py +171 -0
  526. pdd_cli-0.0.237/tests/test_e2e_pattern_verification.py +361 -0
  527. pdd_cli-0.0.237/tests/test_e2e_selective_includes.py +3027 -0
  528. pdd_cli-0.0.237/tests/test_e2e_selective_includes_integration.py +1132 -0
  529. pdd_cli-0.0.237/tests/test_e2e_step11_cleanup_revert.py +187 -0
  530. pdd_cli-0.0.237/tests/test_e2e_subprocess_issue_399_ssh_url_message.py +308 -0
  531. pdd_cli-0.0.237/tests/test_e2e_subprocess_issue_541_quiet_flag.py +199 -0
  532. pdd_cli-0.0.237/tests/test_e2e_subprocess_issue_593_bug_exit_code.py +49 -0
  533. pdd_cli-0.0.237/tests/test_embed_retrieve.py +346 -0
  534. pdd_cli-0.0.237/tests/test_example_error_detection.py +215 -0
  535. pdd_cli-0.0.237/tests/test_explicit_output_paths.py +246 -0
  536. pdd_cli-0.0.237/tests/test_extracts_prune.py +703 -0
  537. pdd_cli-0.0.237/tests/test_failure_classification.py +76 -0
  538. pdd_cli-0.0.237/tests/test_find_prompt_file.py +439 -0
  539. pdd_cli-0.0.237/tests/test_find_section.py +120 -0
  540. pdd_cli-0.0.237/tests/test_firecrawl_cache.py +718 -0
  541. pdd_cli-0.0.237/tests/test_fix_code_loop.py +923 -0
  542. pdd_cli-0.0.237/tests/test_fix_code_module_errors.py +243 -0
  543. pdd_cli-0.0.237/tests/test_fix_error_loop.py +1854 -0
  544. pdd_cli-0.0.237/tests/test_fix_error_loop_failure_aware.py +285 -0
  545. pdd_cli-0.0.237/tests/test_fix_errors_from_unit_tests.py +1318 -0
  546. pdd_cli-0.0.237/tests/test_fix_main.py +2808 -0
  547. pdd_cli-0.0.237/tests/test_fix_main_issue_232.py +322 -0
  548. pdd_cli-0.0.237/tests/test_fix_verification_errors.py +611 -0
  549. pdd_cli-0.0.237/tests/test_fix_verification_errors_loop.py +1451 -0
  550. pdd_cli-0.0.237/tests/test_fix_verification_main.py +944 -0
  551. pdd_cli-0.0.237/tests/test_generate_model_catalog.py +352 -0
  552. pdd_cli-0.0.237/tests/test_generate_output_paths.py +1239 -0
  553. pdd_cli-0.0.237/tests/test_generate_output_paths_regression.py +260 -0
  554. pdd_cli-0.0.237/tests/test_generate_test.py +394 -0
  555. pdd_cli-0.0.237/tests/test_generation_completion.py +82 -0
  556. pdd_cli-0.0.237/tests/test_get_comment.py +520 -0
  557. pdd_cli-0.0.237/tests/test_get_extension.py +70 -0
  558. pdd_cli-0.0.237/tests/test_get_jwt_token.py +1208 -0
  559. pdd_cli-0.0.237/tests/test_get_language.py +149 -0
  560. pdd_cli-0.0.237/tests/test_get_lint_commands.py +227 -0
  561. pdd_cli-0.0.237/tests/test_get_run_command.py +119 -0
  562. pdd_cli-0.0.237/tests/test_get_test_command.py +727 -0
  563. pdd_cli-0.0.237/tests/test_git_update.py +581 -0
  564. pdd_cli-0.0.237/tests/test_include_query_extractor.py +675 -0
  565. pdd_cli-0.0.237/tests/test_increase_tests.py +216 -0
  566. pdd_cli-0.0.237/tests/test_incremental_code_generator.py +548 -0
  567. pdd_cli-0.0.237/tests/test_incremental_prd_architecture.py +1928 -0
  568. pdd_cli-0.0.237/tests/test_incremental_prd_architecture_real.py +281 -0
  569. pdd_cli-0.0.237/tests/test_insert_includes.py +1406 -0
  570. pdd_cli-0.0.237/tests/test_install_completion.py +13 -0
  571. pdd_cli-0.0.237/tests/test_issue_1049_reproduction.py +506 -0
  572. pdd_cli-0.0.237/tests/test_issue_1240_generate_prompt_meta_framing.py +87 -0
  573. pdd_cli-0.0.237/tests/test_issue_1272_cloud_timeout.py +474 -0
  574. pdd_cli-0.0.237/tests/test_issue_225_paths_and_includes.py +368 -0
  575. pdd_cli-0.0.237/tests/test_issue_237.py +364 -0
  576. pdd_cli-0.0.237/tests/test_issue_467_all_orchestrators.py +676 -0
  577. pdd_cli-0.0.237/tests/test_issue_469_duplicate_unresolved.py +411 -0
  578. pdd_cli-0.0.237/tests/test_issue_592_failing_case.py +27 -0
  579. pdd_cli-0.0.237/tests/test_issue_600_agentic_weaknesses.py +294 -0
  580. pdd_cli-0.0.237/tests/test_issue_633_reproduction.py +372 -0
  581. pdd_cli-0.0.237/tests/test_issue_686_post_process_args_braces.py +42 -0
  582. pdd_cli-0.0.237/tests/test_issue_737_step_completion_markers.py +401 -0
  583. pdd_cli-0.0.237/tests/test_issue_791_reproduction.py +216 -0
  584. pdd_cli-0.0.237/tests/test_issue_794_anti_tdd_and_test_discovery.py +484 -0
  585. pdd_cli-0.0.237/tests/test_issue_794_repro.py +284 -0
  586. pdd_cli-0.0.237/tests/test_issue_830_remaining_fixes.py +452 -0
  587. pdd_cli-0.0.237/tests/test_issue_865_reproduction.py +250 -0
  588. pdd_cli-0.0.237/tests/test_issue_894_pytest_output_deadlock.py +138 -0
  589. pdd_cli-0.0.237/tests/test_issue_902.py +109 -0
  590. pdd_cli-0.0.237/tests/test_issue_902_prompt_sync.py +165 -0
  591. pdd_cli-0.0.237/tests/test_issue_926_preserve_comments_directive.py +149 -0
  592. pdd_cli-0.0.237/tests/test_issue_953_directory_scan_regression.py +154 -0
  593. pdd_cli-0.0.237/tests/test_jobs_sync_failure_detection.py +224 -0
  594. pdd_cli-0.0.237/tests/test_list_drift_detection.py +785 -0
  595. pdd_cli-0.0.237/tests/test_llm_invoke.py +6363 -0
  596. pdd_cli-0.0.237/tests/test_llm_invoke_csv_model_registration.py +88 -0
  597. pdd_cli-0.0.237/tests/test_llm_invoke_integration.py +276 -0
  598. pdd_cli-0.0.237/tests/test_llm_invoke_nested_schema.py +489 -0
  599. pdd_cli-0.0.237/tests/test_llm_invoke_retry_cost.py +248 -0
  600. pdd_cli-0.0.237/tests/test_llm_invoke_vertex_retry.py +241 -0
  601. pdd_cli-0.0.237/tests/test_load_prompt_template.py +212 -0
  602. pdd_cli-0.0.237/tests/test_logo_animation.py +433 -0
  603. pdd_cli-0.0.237/tests/test_metadata_sync.py +812 -0
  604. pdd_cli-0.0.237/tests/test_mock_vs_production_fix.py +68 -0
  605. pdd_cli-0.0.237/tests/test_model_tester.py +490 -0
  606. pdd_cli-0.0.237/tests/test_nextjs_rendering_model.py +359 -0
  607. pdd_cli-0.0.237/tests/test_one_session_eval.py +2348 -0
  608. pdd_cli-0.0.237/tests/test_one_session_sync.py +1123 -0
  609. pdd_cli-0.0.237/tests/test_opencode_provider.py +646 -0
  610. pdd_cli-0.0.237/tests/test_operation_log.py +810 -0
  611. pdd_cli-0.0.237/tests/test_operation_logging_e2e.py +474 -0
  612. pdd_cli-0.0.237/tests/test_path_resolution.py +298 -0
  613. pdd_cli-0.0.237/tests/test_pattern_completeness_verification.py +740 -0
  614. pdd_cli-0.0.237/tests/test_pddrc_initializer.py +643 -0
  615. pdd_cli-0.0.237/tests/test_pddrc_true_e2e.py +447 -0
  616. pdd_cli-0.0.237/tests/test_pin_example_hack.py +126 -0
  617. pdd_cli-0.0.237/tests/test_postprocess.py +593 -0
  618. pdd_cli-0.0.237/tests/test_postprocess_0.py +155 -0
  619. pdd_cli-0.0.237/tests/test_preprocess.py +3197 -0
  620. pdd_cli-0.0.237/tests/test_preprocess_main.py +385 -0
  621. pdd_cli-0.0.237/tests/test_preprocess_main_pdd_tags.py +464 -0
  622. pdd_cli-0.0.237/tests/test_process_csv_change.py +975 -0
  623. pdd_cli-0.0.237/tests/test_prompt_contract_validation.py +410 -0
  624. pdd_cli-0.0.237/tests/test_provider_env_isolation.py +168 -0
  625. pdd_cli-0.0.237/tests/test_provider_manager.py +754 -0
  626. pdd_cli-0.0.237/tests/test_pytest_output.py +681 -0
  627. pdd_cli-0.0.237/tests/test_quiet_flag.py +293 -0
  628. pdd_cli-0.0.237/tests/test_reasoning.py +27 -0
  629. pdd_cli-0.0.237/tests/test_remote_command_completion.py +268 -0
  630. pdd_cli-0.0.237/tests/test_remote_session.py +1401 -0
  631. pdd_cli-0.0.237/tests/test_render_mermaid.py +363 -0
  632. pdd_cli-0.0.237/tests/test_report.py +188 -0
  633. pdd_cli-0.0.237/tests/test_research_prompt_web_tools.py +184 -0
  634. pdd_cli-0.0.237/tests/test_server_routes_prompts.py +160 -0
  635. pdd_cli-0.0.237/tests/test_server_spawn.py +88 -0
  636. pdd_cli-0.0.237/tests/test_setup_tool.py +1109 -0
  637. pdd_cli-0.0.237/tests/test_split.py +119 -0
  638. pdd_cli-0.0.237/tests/test_split_main.py +518 -0
  639. pdd_cli-0.0.237/tests/test_split_seam_resolution.py +344 -0
  640. pdd_cli-0.0.237/tests/test_split_validation.py +676 -0
  641. pdd_cli-0.0.237/tests/test_step11_api_mocking_guidance.py +735 -0
  642. pdd_cli-0.0.237/tests/test_structural_test_guard.py +958 -0
  643. pdd_cli-0.0.237/tests/test_structural_test_guard_integration.py +254 -0
  644. pdd_cli-0.0.237/tests/test_summarize_directory.py +2041 -0
  645. pdd_cli-0.0.237/tests/test_sync_animation.py +185 -0
  646. pdd_cli-0.0.237/tests/test_sync_animation_0.py +185 -0
  647. pdd_cli-0.0.237/tests/test_sync_backward_compat.py +636 -0
  648. pdd_cli-0.0.237/tests/test_sync_code_main.py +639 -0
  649. pdd_cli-0.0.237/tests/test_sync_contract_matrix.py +133 -0
  650. pdd_cli-0.0.237/tests/test_sync_determine_operation.py +4806 -0
  651. pdd_cli-0.0.237/tests/test_sync_graph_order_consistency.py +98 -0
  652. pdd_cli-0.0.237/tests/test_sync_main.py +2400 -0
  653. pdd_cli-0.0.237/tests/test_sync_orchestration.py +7912 -0
  654. pdd_cli-0.0.237/tests/test_sync_order.py +733 -0
  655. pdd_cli-0.0.237/tests/test_sync_target_coverage_infinite_loop.py +268 -0
  656. pdd_cli-0.0.237/tests/test_sync_template_prompt_discovery.py +1068 -0
  657. pdd_cli-0.0.237/tests/test_sync_tui.py +582 -0
  658. pdd_cli-0.0.237/tests/test_template_expander.py +274 -0
  659. pdd_cli-0.0.237/tests/test_template_registry.py +358 -0
  660. pdd_cli-0.0.237/tests/test_thread_safe_redirector.py +202 -0
  661. pdd_cli-0.0.237/tests/test_time_reasoning_effort_env.py +288 -0
  662. pdd_cli-0.0.237/tests/test_trace.py +138 -0
  663. pdd_cli-0.0.237/tests/test_trace_main.py +614 -0
  664. pdd_cli-0.0.237/tests/test_track_cost.py +824 -0
  665. pdd_cli-0.0.237/tests/test_unfinished_prompt.py +540 -0
  666. pdd_cli-0.0.237/tests/test_update_command.py +296 -0
  667. pdd_cli-0.0.237/tests/test_update_main.py +3756 -0
  668. pdd_cli-0.0.237/tests/test_update_model_costs.py +922 -0
  669. pdd_cli-0.0.237/tests/test_update_prompt.py +277 -0
  670. pdd_cli-0.0.237/tests/test_user_story_tests.py +599 -0
  671. pdd_cli-0.0.237/tests/test_version.py +30 -0
  672. pdd_cli-0.0.237/tests/test_which.py +279 -0
  673. pdd_cli-0.0.237/tests/test_xml_tagger.py +124 -0
  674. pdd_cli-0.0.237/tests/test_z3_prompt_test_correspondence.py +232 -0
@@ -0,0 +1,7 @@
1
+ Copyright 2025 Prompt Driven, Inc.
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4
+
5
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
6
+
7
+ THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,326 @@
1
+ Metadata-Version: 2.4
2
+ Name: pdd-cli
3
+ Version: 0.0.237
4
+ Summary: PDD (Prompt-Driven Development) Command Line Interface
5
+ Author: Greg Tanaka
6
+ Author-email: glt@alumni.caltech.edu
7
+ License: MIT
8
+ Project-URL: Homepage, https://github.com/promptdriven/pdd.git
9
+ Project-URL: Repository, https://github.com/promptdriven/pdd.git
10
+ Project-URL: Issue-Tracker, https://github.com/promptdriven/pdd/issues
11
+ Keywords: prompt-driven development,code generation,AI,LLM,unit testing,software development
12
+ Classifier: Development Status :: 3 - Alpha
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: License :: OSI Approved :: MIT License
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Topic :: Software Development :: Code Generators
18
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
19
+ Requires-Python: >=3.12
20
+ Description-Content-Type: text/x-rst
21
+ License-File: LICENSE
22
+ Requires-Dist: GitPython==3.1.44
23
+ Requires-Dist: Requests==2.32.4
24
+ Requires-Dist: aiofiles==24.1.0
25
+ Requires-Dist: click==8.1.7
26
+ Requires-Dist: firecrawl-py==2.5.3
27
+ Requires-Dist: firebase_admin==6.6.0
28
+ Requires-Dist: keyring==25.6.0
29
+ Requires-Dist: nest_asyncio==1.6.0
30
+ Requires-Dist: pandas==2.2.3
31
+ Requires-Dist: psutil>=7.0.0
32
+ Requires-Dist: pydantic==2.11.4
33
+ Requires-Dist: litellm[caching]<=1.82.6,>=1.80.0
34
+ Requires-Dist: lxml>=5.0.0
35
+ Requires-Dist: rich==14.0.0
36
+ Requires-Dist: semver==3.0.2
37
+ Requires-Dist: setuptools
38
+ Requires-Dist: pytest==8.3.5
39
+ Requires-Dist: pytest-cov==5.0.0
40
+ Requires-Dist: boto3==1.35.99
41
+ Requires-Dist: google-cloud-aiplatform>=1.3
42
+ Requires-Dist: openai>=1.99.5
43
+ Requires-Dist: pillow-heif==1.1.1
44
+ Requires-Dist: Pillow==12.0.0
45
+ Requires-Dist: textual
46
+ Requires-Dist: python-dotenv==1.1.0
47
+ Requires-Dist: PyYAML==6.0.1
48
+ Requires-Dist: jsonschema==4.23.0
49
+ Requires-Dist: z3-solver==4.14.1.0
50
+ Requires-Dist: fastapi>=0.115.0
51
+ Requires-Dist: uvicorn[standard]>=0.32.0
52
+ Requires-Dist: websockets>=13.0
53
+ Requires-Dist: watchdog>=4.0.0
54
+ Requires-Dist: tiktoken>=0.7.0
55
+ Provides-Extra: dev
56
+ Requires-Dist: commitizen; extra == "dev"
57
+ Requires-Dist: pytest-cov; extra == "dev"
58
+ Requires-Dist: pytest-testmon; extra == "dev"
59
+ Requires-Dist: pytest-xdist; extra == "dev"
60
+ Requires-Dist: pytest-mock; extra == "dev"
61
+ Requires-Dist: pytest-asyncio; extra == "dev"
62
+ Requires-Dist: pytest-timeout; extra == "dev"
63
+ Requires-Dist: build; extra == "dev"
64
+ Requires-Dist: twine; extra == "dev"
65
+ Requires-Dist: httpx==0.28.1; extra == "dev"
66
+ Dynamic: license-file
67
+
68
+ .. image:: https://img.shields.io/badge/pdd--cli-v0.0.237-blue
69
+ :alt: PDD-CLI Version
70
+
71
+ .. image:: https://img.shields.io/badge/Discord-join%20chat-7289DA.svg?logo=discord&logoColor=white&link=https://discord.gg/Yp4RTh8bG7
72
+ :alt: Join us on Discord
73
+ :target: https://discord.gg/Yp4RTh8bG7
74
+
75
+ PDD (Prompt-Driven Development) Command Line Interface
76
+ ======================================================
77
+
78
+ The primary command is ``sync``, which automatically executes the complete PDD workflow loop—from dependency injection through code generation, testing, and verification. For most use cases, ``sync`` is the recommended starting point, as it intelligently determines what steps are needed and executes them in the correct order.
79
+
80
+ PDD (Prompt-Driven Development) is a command-line interface that harnesses AI models to generate and maintain code from prompt files. Whether you want to create new features, fix bugs, enhance unit tests, or manage complex prompt structures, pdd-cli streamlines your workflow through an intuitive interface and powerful automation.
81
+
82
+ .. image:: https://img.youtube.com/vi/5lBxpTSnjqo/0.jpg
83
+ :alt: Watch a video demonstration of PDD
84
+ :target: https://www.youtube.com/watch?v=5lBxpTSnjqo
85
+
86
+ Why Choose Prompt-Driven Development?
87
+ -------------------------------------
88
+
89
+ * **Tackle the Root Cause of Maintenance Costs**: Traditional development spends up to 90% of its budget on maintaining and modifying existing code. PDD addresses this by treating prompts—not code—as the primary source of truth. Instead of applying costly, complex patches, you update the high-level prompt and regenerate clean, consistent code.
90
+ * **Boost Developer Productivity & Focus**: PDD shifts your work from tedious, line-by-line coding to high-level system design. Its batch-oriented workflow (using commands like ``sync``) frees you from the constant supervision required by interactive AI assistants. You can define a task, launch the process, and focus on other priorities while the AI works in the background.
91
+ * **Maintain Control and Determinism**: Unlike agentic coders that can introduce unpredictable changes across a project, PDD gives you full control. You precisely define the context for every operation, ensuring that changes are targeted, deterministic, and safe. This is especially critical in large codebases, where unpredictable modifications can have cascading and destructive effects.
92
+ * **Enhance Code Quality and Consistency**: By using prompts as a single source of truth, PDD ensures your code, tests, and documentation never drift out of sync. This regenerative process produces a more reliable and understandable codebase compared to the tangled results of repeated patching.
93
+ * **Improve Collaboration**: Prompts are written in natural language, making them accessible to both technical and non-technical stakeholders. This fosters clearer communication and ensures the final product aligns with business requirements.
94
+ * **Reduce LLM Costs**: PDD's structured, batch-oriented nature is inherently more token-efficient and allows you to take advantage of significant discounts offered by LLM providers for batch processing APIs, making it a more cost-effective solution than many interactive tools.
95
+
96
+
97
+ Key Features
98
+ ------------
99
+
100
+ * **Automated `sync` Command**: A single command to automate the entire development cycle: from code generation and dependency management to testing and verification.
101
+ * **Cloud & Local Execution**: Run securely in the cloud with GitHub SSO (no API keys needed) or switch to local mode with the ``--local`` flag for full control.
102
+ * **Comprehensive Command Suite**: A full set of tools to ``generate``, ``test``, ``fix``, ``update``, and ``split`` your code and prompts.
103
+ * **Intelligent Testing**: Generate new unit tests, or improve existing ones by analyzing coverage reports to hit your desired targets.
104
+ * **Iterative Error Fixing**: Automatically find and correct errors in your code with commands like ``fix`` and ``crash``, which can loop until the issues are resolved.
105
+ * **Cost Tracking & Configuration**: Fine-tune AI model behavior with ``--strength`` and ``--temperature`` and track usage with optional cost reporting.
106
+ * **Cross-Language Support**: Work with Python, JavaScript, Java, C++, Go, and more, with automatic language detection from prompt filenames.
107
+
108
+
109
+ Quick Installation
110
+ ------------------
111
+
112
+ **Recommended: Using uv (Faster & Better Dependency Management)**
113
+
114
+ We recommend installing PDD using the `uv <https://github.com/astral-sh/uv>`_ package manager for better dependency management and automatic environment configuration:
115
+
116
+ .. code-block:: console
117
+
118
+ # Install uv if you haven't already
119
+ curl -LsSf https://astral.sh/uv/install.sh | sh
120
+
121
+ # Install PDD using uv tool install
122
+ uv tool install pdd-cli
123
+
124
+ This installation method ensures:
125
+
126
+ - Faster installations with optimized dependency resolution
127
+ - Automatic environment setup without manual configuration
128
+ - Proper handling of the PDD_PATH environment variable
129
+ - Better isolation from other Python packages
130
+
131
+ **Alternative: Using pip**
132
+
133
+ If you prefer, you can install with pip:
134
+
135
+ .. code-block:: console
136
+
137
+ pip install pdd-cli
138
+
139
+ After installation, verify:
140
+
141
+ .. code-block:: console
142
+
143
+ pdd --version
144
+
145
+ You'll see the current PDD version (e.g., 0.0.237).
146
+
147
+ Getting Started with Examples
148
+ -----------------------------
149
+
150
+ To quickly see PDD in action, we recommend exploring the ``examples/`` directory in the project repository. It contains ready-to-use sample prompts and projects to help you get started.
151
+
152
+ For instance, the ``handpaint`` example demonstrates how to generate a complete HTML canvas application from a single prompt. After cloning the repository, you can run it yourself:
153
+
154
+ .. code-block:: console
155
+
156
+ # Navigate to the example directory
157
+ cd examples/handpaint/pdd/
158
+
159
+ # Run the sync command
160
+ pdd sync handpaint
161
+
162
+ This will generate the full application based on the ``handpaint_html.prompt`` file.
163
+
164
+
165
+ Advanced Installation Tips
166
+ --------------------------
167
+
168
+
169
+ **Virtual Environment**
170
+
171
+ Create and activate a virtual environment, then install pdd-cli:
172
+
173
+ .. code-block:: console
174
+
175
+ python -m venv pdd-env
176
+
177
+ # Activate environment
178
+ # On Windows:
179
+ pdd-env\Scripts\activate
180
+ # On Unix/MacOS:
181
+ source pdd-env/bin/activate
182
+
183
+ # Install PDD (with uv - recommended)
184
+ uv tool install pdd-cli
185
+ # OR with pip
186
+ pip install pdd-cli
187
+
188
+
189
+ **Environment Variables**
190
+
191
+ Optionally, add environment variables to your shell startup (e.g., ``.bashrc``, ``.zshrc``):
192
+
193
+ .. code-block:: console
194
+
195
+ export PDD_AUTO_UPDATE=true
196
+ export PDD_GENERATE_OUTPUT_PATH=/path/to/generated/code/
197
+ export PDD_TEST_OUTPUT_PATH=/path/to/tests/
198
+
199
+ Tab Completion
200
+ ~~~~~~~~~~~~~~
201
+ Enable shell completion:
202
+
203
+ .. code-block:: console
204
+
205
+ pdd install_completion
206
+
207
+ Cloud vs Local
208
+ --------------
209
+
210
+ By default, PDD runs in cloud mode (currently waitlist), using GitHub SSO for secure access to AI models—no local API keys needed. If you want or need to run locally:
211
+
212
+ .. code-block:: console
213
+
214
+ pdd --local generate my_prompt_python.prompt
215
+
216
+ Be sure to configure API keys in your environment ahead of time:
217
+
218
+ .. code-block:: console
219
+
220
+ export OPENAI_API_KEY=your_api_key_here
221
+ export ANTHROPIC_API_KEY=your_api_key_here
222
+ # etc.
223
+
224
+ Basic Usage
225
+ -----------
226
+
227
+ All commands follow a standard pattern:
228
+
229
+ .. code-block:: console
230
+
231
+ pdd [GLOBAL OPTIONS] COMMAND [COMMAND OPTIONS] [ARGS]...
232
+
233
+ **Example – Sync**
234
+
235
+ The ``sync`` command automates the entire PDD workflow for a given basename. It intelligently runs generation, testing, and fixing steps as needed, with real-time progress feedback.
236
+
237
+ .. code-block:: console
238
+
239
+ pdd sync factorial_calculator
240
+
241
+ **Example – Generate Code**
242
+
243
+ Generate Python code from a prompt:
244
+
245
+ .. code-block:: console
246
+
247
+ pdd generate factorial_calculator_python.prompt
248
+
249
+ In cloud mode (no local keys required). Or locally if you prefer:
250
+
251
+ .. code-block:: console
252
+
253
+ pdd --local generate factorial_calculator_python.prompt
254
+
255
+ **Example – Test**
256
+
257
+ Automatically create or enhance tests:
258
+
259
+ .. code-block:: console
260
+
261
+ pdd test factorial_calculator_python.prompt src/factorial_calculator.py
262
+
263
+ Use coverage analysis:
264
+
265
+ .. code-block:: console
266
+
267
+ pdd test --coverage-report coverage.xml --existing-tests tests/test_factorial.py \
268
+ factorial_prompt.prompt src/factorial.py
269
+
270
+
271
+ **Example – Fix Iteratively**
272
+
273
+ Attempt to fix failing code or tests in multiple loops:
274
+
275
+ .. code-block:: console
276
+
277
+ pdd fix --loop \
278
+ factorial_calculator_python.prompt src/factorial_calculator.py tests/test_factorial.py errors.log
279
+
280
+ PDD will keep trying (with a budget limit configurable by ``--budget``) until tests pass or attempts are exhausted.
281
+
282
+ Frequently Asked Questions (FAQ)
283
+ --------------------------------
284
+
285
+ **What's the main difference between PDD and using an AI chat assistant (agentic coder)?**
286
+
287
+ Control and predictability. Interactive AI assistants can be unpredictable and make broad, unintended changes, which is risky in large codebases. PDD gives you full control. You define the exact context for every change, making the process deterministic and safe. PDD's batch-oriented workflow also frees you from constant supervision, boosting productivity.
288
+
289
+ **What is "Cloud vs. Local" execution?**
290
+
291
+ By default, PDD runs in cloud mode, using GitHub SSO for secure access to AI models—no local API keys needed. If you want or need to run locally, use the `--local` flag:
292
+
293
+ .. code-block:: console
294
+
295
+ pdd --local generate my_prompt_python.prompt
296
+
297
+ Be sure to configure API keys in your environment ahead of time:
298
+
299
+ .. code-block:: console
300
+
301
+ export OPENAI_API_KEY=your_api_key_here
302
+ export ANTHROPIC_API_KEY=your_api_key_here
303
+ # etc.
304
+
305
+ **Can I use PDD on an existing project?**
306
+
307
+ Yes. PDD is designed for both new and existing projects. You can start by creating prompts for new features. For existing, manually written code, you can use the `pdd update` command to create a prompt file that reflects the current state of your code. This allows you to gradually bring parts of your existing codebase under the PDD methodology.
308
+
309
+ **Do I need to be an expert prompt engineer?**
310
+
311
+ Not at all. Effective prompts are more about clearly defining your requirements in natural language than about complex "engineering." If you can write a good specification or a clear bug report, you can write a good prompt. The goal is to describe *what* you want the code to do, not how to write it.
312
+
313
+
314
+ Getting Help
315
+ ------------
316
+
317
+ Use inline help to discover commands and options:
318
+
319
+ .. code-block:: console
320
+
321
+ pdd --help
322
+ pdd generate --help
323
+ pdd fix --help
324
+ ...
325
+
326
+ Happy Prompt-Driven Coding!