rpr-cli 0.3.4__tar.gz → 0.3.5__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 (327) hide show
  1. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/PKG-INFO +12 -7
  2. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/README.md +11 -6
  3. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/rpr-parser/Cargo.lock +71 -3
  4. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/rpr-parser/Cargo.toml +5 -3
  5. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/rpr-parser/rpr_parser.pyi +10 -1
  6. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/rpr-parser/src/lib.rs +5 -0
  7. rpr_cli-0.3.5/rpr-parser/src/rename.rs +1087 -0
  8. rpr_cli-0.3.5/src/rpr/__init__.py +1 -0
  9. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/commands/rename.py +20 -1
  10. rpr_cli-0.3.5/src/rpr/project_rename.py +127 -0
  11. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/tests/test_rename.py +105 -7
  12. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/tests/test_rpr_parser_stub.py +4 -1
  13. rpr_cli-0.3.4/src/rpr/__init__.py +0 -1
  14. rpr_cli-0.3.4/src/rpr/project_rename.py +0 -521
  15. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/.github/agents/story.agent.md +0 -0
  16. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/.github/workflows/publish-pypi.yml +0 -0
  17. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/.gitignore +0 -0
  18. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/CLAUDE.md +0 -0
  19. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/GEMINI.md +0 -0
  20. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/LICENSE +0 -0
  21. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/changelogs/mui_v9.txt +0 -0
  22. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/code-map.md +0 -0
  23. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/nx_uv_setup.md +0 -0
  24. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/patch_output.py +0 -0
  25. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/plan-languageAwareTemplateAdd.prompt.md +0 -0
  26. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/pyproject.toml +0 -0
  27. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/rpr-parser/pyproject.toml +0 -0
  28. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/rpr-parser/src/config/container.rs +0 -0
  29. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/rpr-parser/src/config/mod.rs +0 -0
  30. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/rpr-parser/src/config/settings.rs +0 -0
  31. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/rpr-parser/src/graph.rs +0 -0
  32. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/rpr-parser/src/models/dtos/mod.rs +0 -0
  33. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/rpr-parser/src/models/entities/mod.rs +0 -0
  34. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/rpr-parser/src/models/entities/users.rs +0 -0
  35. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/rpr-parser/src/models/mod.rs +0 -0
  36. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/rpr-parser/src/parse.rs +0 -0
  37. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/rpr-parser/src/repos/base.rs +0 -0
  38. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/rpr-parser/src/repos/mod.rs +0 -0
  39. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/rpr-parser/src/repos/users.rs +0 -0
  40. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/rpr-parser/src/resolve.rs +0 -0
  41. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/rpr-parser/src/walker.rs +0 -0
  42. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/rpr-parser/uv.lock +0 -0
  43. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/special_files.md +0 -0
  44. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/agent/__init__.py +0 -0
  45. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/agent/approval.py +0 -0
  46. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/agent/bootstrap.py +0 -0
  47. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/agent/client.py +0 -0
  48. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/agent/control.py +0 -0
  49. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/agent/mock.py +0 -0
  50. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/agent/runtime.py +0 -0
  51. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/agent/session.py +0 -0
  52. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/agent/tools/__init__.py +0 -0
  53. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/agent/tools/base.py +0 -0
  54. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/agent/tools/mutating.py +0 -0
  55. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/agent/tools/readonly.py +0 -0
  56. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/agent/tools/registry.py +0 -0
  57. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/application/__init__.py +0 -0
  58. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/application/catalog.py +0 -0
  59. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/application/chat_service.py +0 -0
  60. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/application/checks.py +0 -0
  61. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/application/cli_adapter.py +0 -0
  62. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/application/completer.py +0 -0
  63. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/application/conversation_service.py +0 -0
  64. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/application/prompt_service.py +0 -0
  65. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/application/selector.py +0 -0
  66. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/application/shell.py +0 -0
  67. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/checks/__init__.py +0 -0
  68. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/checks/base.py +0 -0
  69. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/checks/instructions.py +0 -0
  70. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/checks/packages.py +0 -0
  71. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/checks/workspace.py +0 -0
  72. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/cli.py +0 -0
  73. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/commands/__init__.py +0 -0
  74. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/commands/add.py +0 -0
  75. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/commands/chat.py +0 -0
  76. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/commands/check.py +0 -0
  77. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/commands/generate/__init__.py +0 -0
  78. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/commands/generate/api.py +0 -0
  79. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/commands/generate/domain.py +0 -0
  80. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/commands/generate/engine.py +0 -0
  81. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/commands/generate/storybook.py +0 -0
  82. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/commands/generate/ui.py +0 -0
  83. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/commands/init.py +0 -0
  84. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/commands/map.py +0 -0
  85. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/commands/refresh.py +0 -0
  86. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/commands/settings.py +0 -0
  87. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/commands/sync.py +0 -0
  88. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/commands/update.py +0 -0
  89. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/context.py +0 -0
  90. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/dependencies.py +0 -0
  91. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/dependency_manifest_data.py +0 -0
  92. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/generators/__init__.py +0 -0
  93. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/generators/base.py +0 -0
  94. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/generators/claude.py +0 -0
  95. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/generators/codex.py +0 -0
  96. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/generators/copilot.py +0 -0
  97. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/generators/cursor.py +0 -0
  98. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/generators/gemini.py +0 -0
  99. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/generators/github.py +0 -0
  100. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/manifest_refresh.py +0 -0
  101. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/map/__init__.py +0 -0
  102. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/map/architecture.py +0 -0
  103. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/map/chains.py +0 -0
  104. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/map/classifier.py +0 -0
  105. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/map/coverage.py +0 -0
  106. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/map/dependencies.py +0 -0
  107. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/map/extractor.py +0 -0
  108. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/map/graph.py +0 -0
  109. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/map/output.py +0 -0
  110. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/map/responsibility.py +0 -0
  111. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/map/topology.py +0 -0
  112. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/map/walker.py +0 -0
  113. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/package_updates.py +0 -0
  114. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/domain/base_entity.md +0 -0
  115. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/domain/base_repo.md +0 -0
  116. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/domain/container.md +0 -0
  117. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/domain/settings.md +0 -0
  118. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/instructions/all.instructions.md +0 -0
  119. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/instructions/api.instructions.md +0 -0
  120. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/instructions/domain.instructions.md +0 -0
  121. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/instructions/frontend.instructions.md +0 -0
  122. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/instructions/rust-engine.instructions.md +0 -0
  123. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/instructions/setup-guide.instructions.md +0 -0
  124. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/instructions/tooling-setup.instructions.md +0 -0
  125. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/instructions/tooling.instructions.md +0 -0
  126. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/BACKEND_FLOW.md +0 -0
  127. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/README.md +0 -0
  128. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/client/content.ts +0 -0
  129. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/client/httpChatStreamClient.spec.ts +0 -0
  130. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/client/httpChatStreamClient.ts +0 -0
  131. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/client/index.ts +0 -0
  132. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/client/types.ts +0 -0
  133. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/composer/ChatComposer.spec.tsx +0 -0
  134. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/composer/ChatComposer.tsx +0 -0
  135. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/composer/__screenshots__/ChatComposer.spec.tsx/ChatComposer-renders-custom-action-buttons-beside-the-attachment-control-1.png +0 -0
  136. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/composer/fileDrop.spec.ts +0 -0
  137. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/composer/fileDrop.ts +0 -0
  138. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/composer/index.ts +0 -0
  139. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/composer/suggestions/ChatComposerMentionTokens.tsx +0 -0
  140. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/composer/suggestions/ChatSuggestionsPopover.tsx +0 -0
  141. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/composer/suggestions/LocalFileSuggestionAction.tsx +0 -0
  142. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/composer/suggestions/index.ts +0 -0
  143. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/composer/suggestions/localFileSuggestions.spec.ts +0 -0
  144. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/composer/suggestions/localFileSuggestions.ts +0 -0
  145. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/composer/suggestions/triggerDetection.spec.ts +0 -0
  146. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/composer/suggestions/triggerDetection.ts +0 -0
  147. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/composer/suggestions/types.ts +0 -0
  148. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/composer/suggestions/useChatSuggestions.ts +0 -0
  149. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/composer/types.ts +0 -0
  150. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/composer/useChatComposer.ts +0 -0
  151. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/composer/useChatStream.spec.tsx +0 -0
  152. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/composer/useChatStream.ts +0 -0
  153. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/experience/ChatExperience.spec.tsx +0 -0
  154. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/experience/ChatExperience.styles.tsx +0 -0
  155. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/experience/ChatExperience.tsx +0 -0
  156. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/experience/ChatExperienceComposer.styles.tsx +0 -0
  157. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/experience/ChatExperienceComposer.tsx +0 -0
  158. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/experience/ChatExperienceHeader.styles.tsx +0 -0
  159. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/experience/ChatExperienceHeader.tsx +0 -0
  160. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/experience/ThreadHistory.styles.tsx +0 -0
  161. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/experience/ThreadHistory.tsx +0 -0
  162. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/experience/chatStorage.spec.ts +0 -0
  163. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/experience/chatStorage.ts +0 -0
  164. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/experience/index.ts +0 -0
  165. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/experience/types.ts +0 -0
  166. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/experience/useChatExperience.spec.tsx +0 -0
  167. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/experience/useChatExperience.ts +0 -0
  168. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/index.ts +0 -0
  169. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/testing/createMockChatStreamClient.ts +0 -0
  170. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/testing/createMockSuggestionProvider.ts +0 -0
  171. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/testing/index.ts +0 -0
  172. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/thread/ChatMessage.tsx +0 -0
  173. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/thread/ChatMessageActions.tsx +0 -0
  174. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/thread/ChatMessageContent.spec.tsx +0 -0
  175. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/thread/ChatMessageContent.tsx +0 -0
  176. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/thread/ChatThread.spec.tsx +0 -0
  177. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/thread/ChatThread.tsx +0 -0
  178. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/thread/README.md +0 -0
  179. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/thread/contentFormat.ts +0 -0
  180. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/thread/index.ts +0 -0
  181. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/thread/streaming.ts +0 -0
  182. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/thread/types.ts +0 -0
  183. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/virtual-list/VirtualComponent.spec.tsx +0 -0
  184. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/virtual-list/VirtualComponent.tsx +0 -0
  185. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/virtual-list/VirtualComponentList.spec.tsx +0 -0
  186. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/virtual-list/VirtualComponentList.tsx +0 -0
  187. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/chat/virtual-list/index.ts +0 -0
  188. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/fetch.service.md +0 -0
  189. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/sticky-navigation.md +0 -0
  190. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/sticky-navigation.spec.md +0 -0
  191. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/js_special_files/vitest-browser-config.md +0 -0
  192. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/py_special_files/chat/api/routes/chat_routes.py +0 -0
  193. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/py_special_files/chat/api/tests/test_chat.py +0 -0
  194. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/py_special_files/chat/domain/models/dtos/chat_dtos.py +0 -0
  195. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/py_special_files/chat/domain/models/dtos/conversation_history_dtos.py +0 -0
  196. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/py_special_files/chat/domain/models/entities/conversation_history.py +0 -0
  197. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/py_special_files/chat/domain/repos/conversation_history.py +0 -0
  198. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/py_special_files/chat/domain/services/agent_session_codec.py +0 -0
  199. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/py_special_files/chat/domain/services/chat_service.py +0 -0
  200. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/py_special_files/chat/domain/services/conversation_history_service.py +0 -0
  201. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/py_special_files/chat/domain/services/conversation_operations.py +0 -0
  202. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/py_special_files/chat/domain/services/history_codec.py +0 -0
  203. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/py_special_files/chat/domain/services/in_memory_history_store.py +0 -0
  204. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/py_special_files/chat/domain/services/postgres_history_store.py +0 -0
  205. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/py_special_files/chat/domain/services/protocols/conversation_history_store.py +0 -0
  206. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/py_special_files/chat/domain/services/protocols/conversation_runtime.py +0 -0
  207. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/py_special_files/chat/domain/services/protocols/llm_provider.py +0 -0
  208. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/py_special_files/chat/domain/tests/test_chat_dtos.py +0 -0
  209. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/py_special_files/chat/domain/tests/test_chat_service.py +0 -0
  210. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/py_special_files/chat/domain/tests/test_history_codec.py +0 -0
  211. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/py_special_files/chat/domain/tests/test_history_projection.py +0 -0
  212. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/py_special_files/chat/domain/tests/test_persistence_config.py +0 -0
  213. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/py_special_files/chat/domain/tests/test_postgres_history_store.py +0 -0
  214. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/py_special_files/vllm_provider/domain/models/dtos/__init__.py +0 -0
  215. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/py_special_files/vllm_provider/domain/models/dtos/vllm_model_dtos.py +0 -0
  216. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/py_special_files/vllm_provider/domain/services/agents/VLLM_SETUP.md +0 -0
  217. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/py_special_files/vllm_provider/domain/services/agents/__init__.py +0 -0
  218. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/py_special_files/vllm_provider/domain/services/agents/model_catalog.py +0 -0
  219. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/py_special_files/vllm_provider/domain/services/agents/vllm_agent_factory.py +0 -0
  220. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/py_special_files/vllm_provider/domain/services/agents/vllm_agent_factory_protocol.py +0 -0
  221. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/py_special_files/vllm_provider/domain/services/agents/vllm_inference_coordinator.py +0 -0
  222. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/py_special_files/vllm_provider/domain/services/runtimes/__init__.py +0 -0
  223. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/py_special_files/vllm_provider/domain/services/runtimes/agents_sdk.py +0 -0
  224. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/py_special_files/vllm_provider/domain/services/runtimes/agents_sdk_message_mapping.py +0 -0
  225. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/py_special_files/vllm_provider/domain/tests/test_agents_sdk_runtime.py +0 -0
  226. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/py_special_files/vllm_provider/domain/tests/test_vllm_model_catalog.py +0 -0
  227. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/py_special_files/vllm_provider/domain/tests/test_vllm_provider.py +0 -0
  228. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/special_files/camel_case_model.md +0 -0
  229. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/special_files/domain_container.md +0 -0
  230. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/special_files/domain_settings.md +0 -0
  231. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/special_files/dto_util.md +0 -0
  232. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/special_files/encrypted_column.md +0 -0
  233. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/special_files/logging.md +0 -0
  234. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/special_files/mapper_util.md +0 -0
  235. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/special_files/partial_update.md +0 -0
  236. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/scaffolds/special_files/test_encrypted_column.md +0 -0
  237. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/templates/__init__.py +0 -0
  238. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/templates/registry.py +0 -0
  239. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/ui/__init__.py +0 -0
  240. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/ui/console.py +0 -0
  241. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/ui/markdown.py +0 -0
  242. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/ui/prompt_session.py +0 -0
  243. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/ui/renderers.py +0 -0
  244. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/ui/theme.py +0 -0
  245. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/src/rpr/workspace.py +0 -0
  246. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/stories/README.md +0 -0
  247. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/stories/chat-attachment-upload-gap.md +0 -0
  248. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/stories/completed/00-bootstrap-cli.md +0 -0
  249. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/stories/completed/01-rpr-init.md +0 -0
  250. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/stories/completed/02-rpr-generate-domain.md +0 -0
  251. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/stories/completed/03-rpr-generate-api.md +0 -0
  252. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/stories/completed/04-rpr-generate-ui.md +0 -0
  253. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/stories/completed/05-rpr-generate-engine.md +0 -0
  254. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/stories/completed/06-rpr-generate-storybook.md +0 -0
  255. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/stories/completed/07-rpr-sync-rules.md +0 -0
  256. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/stories/completed/08-rpr-add-template.md +0 -0
  257. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/stories/completed/09-rpr-check.md +0 -0
  258. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/stories/completed/10-rpr-domain-config.md +0 -0
  259. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/stories/completed/chat/18-rpr-terminal-ui-foundation.md +0 -0
  260. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/stories/completed/chat/19-rpr-markdown-rendering.md +0 -0
  261. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/stories/completed/chat/20-rpr-chat-repl.md +0 -0
  262. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/stories/completed/chat/21-rpr-agent-tool-loop.md +0 -0
  263. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/stories/completed/chat/22-rpr-chat-tui.md +0 -0
  264. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/stories/completed/chat/23-rpr-chat-unified-command-shell.md +0 -0
  265. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/stories/completed/chat/24-rpr-async-chat-runtime-and-services.md +0 -0
  266. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/stories/completed/chat/25-rpr-prompt-service-and-conversation-lifecycle.md +0 -0
  267. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/stories/completed/chat/26-rpr-shared-command-catalog.md +0 -0
  268. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/stories/completed/chat/27-rpr-slash-command-selection-panel.md +0 -0
  269. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/stories/completed/chat/28-rpr-chat-cancellable-and-multiline-input.md +0 -0
  270. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/stories/completed/chat/29-rpr-file-context-selection.md +0 -0
  271. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/stories/completed/map/11-rpr-map-command.md +0 -0
  272. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/stories/completed/map/12-rpr-map-file-walker.md +0 -0
  273. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/stories/completed/map/13-rpr-map-rust-engine.md +0 -0
  274. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/stories/completed/map/13a-rpr-map-gitignore.md +0 -0
  275. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/stories/completed/map/14-rpr-map-graph-builder.md +0 -0
  276. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/stories/completed/map/15-rpr-map-analysis-bridge.md +0 -0
  277. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/stories/completed/map/16-rpr-map-layer-classifier.md +0 -0
  278. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/stories/completed/map/17-rpr-map-output.md +0 -0
  279. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/stories/completed/map/17a-rpr-map-directory-topology.md +0 -0
  280. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/stories/completed/map/17b-rpr-map-architecture-assessment.md +0 -0
  281. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/stories/completed/map/17c-rpr-map-representative-chains.md +0 -0
  282. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/stories/completed/map/17d-rpr-map-multi-resolution-output.md +0 -0
  283. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/stories/map/30-rpr-map-directory-view-and-cycle-detection.md +0 -0
  284. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/stories/map/31-rpr-map-coupling-hotspots-and-verdict-reasoning.md +0 -0
  285. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/stories/map/32-rpr-map-dependencies-responsibilities-and-test-coverage.md +0 -0
  286. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/stories/package-maintenance/default-vite-8-oxc-toolchain.md +0 -0
  287. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/stories/package-maintenance/rpr-update-packages.md +0 -0
  288. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/stories/package-maintenance/typescript-7-frontend-scaffold-compatibility.md +0 -0
  289. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/tests/__init__.py +0 -0
  290. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/tests/test_add.py +0 -0
  291. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/tests/test_architecture.py +0 -0
  292. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/tests/test_architecture_unwrapped.py +0 -0
  293. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/tests/test_catalog.py +0 -0
  294. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/tests/test_chat.py +0 -0
  295. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/tests/test_chat_service.py +0 -0
  296. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/tests/test_check.py +0 -0
  297. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/tests/test_completer.py +0 -0
  298. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/tests/test_context.py +0 -0
  299. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/tests/test_generate_api.py +0 -0
  300. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/tests/test_generate_domain.py +0 -0
  301. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/tests/test_generate_engine.py +0 -0
  302. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/tests/test_generate_storybook.py +0 -0
  303. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/tests/test_generate_ui.py +0 -0
  304. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/tests/test_init.py +0 -0
  305. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/tests/test_map.py +0 -0
  306. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/tests/test_map_chains.py +0 -0
  307. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/tests/test_map_classifier.py +0 -0
  308. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/tests/test_map_coverage.py +0 -0
  309. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/tests/test_map_dependencies.py +0 -0
  310. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/tests/test_map_extractor.py +0 -0
  311. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/tests/test_map_graph.py +0 -0
  312. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/tests/test_map_output.py +0 -0
  313. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/tests/test_map_responsibility.py +0 -0
  314. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/tests/test_map_topology.py +0 -0
  315. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/tests/test_map_walker.py +0 -0
  316. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/tests/test_package_updates.py +0 -0
  317. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/tests/test_packaging.py +0 -0
  318. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/tests/test_prompt_session.py +0 -0
  319. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/tests/test_refresh.py +0 -0
  320. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/tests/test_selector.py +0 -0
  321. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/tests/test_settings.py +0 -0
  322. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/tests/test_sync.py +0 -0
  323. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/tests/test_ui.py +0 -0
  324. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/tests/test_update_packages.py +0 -0
  325. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/untitled:plan-chatAttachmentUploadGap.prompt.md +0 -0
  326. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/update_output.py +0 -0
  327. {rpr_cli-0.3.4 → rpr_cli-0.3.5}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: rpr-cli
3
- Version: 0.3.4
3
+ Version: 0.3.5
4
4
  Summary: RPR CLI -- React Python Rust monorepo scaffolding orchestrator
5
5
  License-Expression: MIT
6
6
  License-File: LICENSE
@@ -74,9 +74,13 @@ Run `rpr rename <new-name>` from an initialized workspace root to update RPR
74
74
  metadata, package and Nx project names, imports, commands, paths, lockfiles, and
75
75
  matching references in user-added text files. The command shows its complete
76
76
  change plan before asking for confirmation. Use `--dry-run` to preview without
77
- writing or `--yes` to skip the prompt. Dependency directories, VCS data, build
78
- outputs, binary contents, and symlink targets are not changed. The outer workspace
79
- directory keeps its existing name.
77
+ writing or `--yes` to skip the prompt. On its first invocation, rename creates a
78
+ `.rename-ignore` file and stops so you can review the generated dependency,
79
+ environment, cache, and build-output exclusions before rerunning. The file uses
80
+ gitignore-style patterns and is independent of `.gitignore`, allowing ignored
81
+ source and experiments to remain in rename scope. Binary contents, VCS data, and
82
+ symlink targets are never changed. The outer workspace directory keeps its
83
+ existing name.
80
84
 
81
85
  `rpr init <project-name>` creates the project directory when it does not exist. If the directory already exists and is not an NX workspace, RPR initializes Git and runs `nx init` inside that directory.
82
86
 
@@ -217,13 +221,14 @@ The `chat` command also supports:
217
221
  # Install Python dependencies
218
222
  uv sync
219
223
 
220
- # Build the Rust extension (rpr_parser) — required for rpr map acceleration
224
+ # Build the Rust extension (rpr_parser) — required for rename and map acceleration
221
225
  cd rpr-parser && uv run maturin develop && cd ..
222
226
  ```
223
227
 
224
228
  > **Note:** `uv tool install dist/rpr-*.whl` uses the root hatchling build backend and does **not** build the
225
- > Rust extension. You must run `maturin develop` separately before using `rpr map` with the Rust
226
- > backend. Without it, `rpr map` falls back to the pure-Python implementation automatically.
229
+ > Rust extension. You must run `maturin develop` separately before using `rpr rename` or `rpr map`
230
+ > with the Rust backend. Rename requires the extension; map falls back to the pure-Python
231
+ > implementation when it is unavailable.
227
232
 
228
233
  #### Running Tests
229
234
 
@@ -57,9 +57,13 @@ Run `rpr rename <new-name>` from an initialized workspace root to update RPR
57
57
  metadata, package and Nx project names, imports, commands, paths, lockfiles, and
58
58
  matching references in user-added text files. The command shows its complete
59
59
  change plan before asking for confirmation. Use `--dry-run` to preview without
60
- writing or `--yes` to skip the prompt. Dependency directories, VCS data, build
61
- outputs, binary contents, and symlink targets are not changed. The outer workspace
62
- directory keeps its existing name.
60
+ writing or `--yes` to skip the prompt. On its first invocation, rename creates a
61
+ `.rename-ignore` file and stops so you can review the generated dependency,
62
+ environment, cache, and build-output exclusions before rerunning. The file uses
63
+ gitignore-style patterns and is independent of `.gitignore`, allowing ignored
64
+ source and experiments to remain in rename scope. Binary contents, VCS data, and
65
+ symlink targets are never changed. The outer workspace directory keeps its
66
+ existing name.
63
67
 
64
68
  `rpr init <project-name>` creates the project directory when it does not exist. If the directory already exists and is not an NX workspace, RPR initializes Git and runs `nx init` inside that directory.
65
69
 
@@ -200,13 +204,14 @@ The `chat` command also supports:
200
204
  # Install Python dependencies
201
205
  uv sync
202
206
 
203
- # Build the Rust extension (rpr_parser) — required for rpr map acceleration
207
+ # Build the Rust extension (rpr_parser) — required for rename and map acceleration
204
208
  cd rpr-parser && uv run maturin develop && cd ..
205
209
  ```
206
210
 
207
211
  > **Note:** `uv tool install dist/rpr-*.whl` uses the root hatchling build backend and does **not** build the
208
- > Rust extension. You must run `maturin develop` separately before using `rpr map` with the Rust
209
- > backend. Without it, `rpr map` falls back to the pure-Python implementation automatically.
212
+ > Rust extension. You must run `maturin develop` separately before using `rpr rename` or `rpr map`
213
+ > with the Rust backend. Rename requires the extension; map falls back to the pure-Python
214
+ > implementation when it is unavailable.
210
215
 
211
216
  #### Running Tests
212
217
 
@@ -1991,8 +1991,12 @@ dependencies = [
1991
1991
  "pyo3-log",
1992
1992
  "rayon",
1993
1993
  "sea-orm",
1994
+ "serde_json",
1995
+ "serde_yaml",
1996
+ "sha2",
1994
1997
  "tempfile",
1995
1998
  "tokio",
1999
+ "toml",
1996
2000
  "tree-sitter",
1997
2001
  "tree-sitter-cpp",
1998
2002
  "tree-sitter-javascript",
@@ -2283,6 +2287,15 @@ dependencies = [
2283
2287
  "zmij",
2284
2288
  ]
2285
2289
 
2290
+ [[package]]
2291
+ name = "serde_spanned"
2292
+ version = "1.1.1"
2293
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2294
+ checksum = "6662b5879511e06e8999a8a235d848113e942c9124f211511b16466ee2995f26"
2295
+ dependencies = [
2296
+ "serde_core",
2297
+ ]
2298
+
2286
2299
  [[package]]
2287
2300
  name = "serde_urlencoded"
2288
2301
  version = "0.7.1"
@@ -2295,6 +2308,19 @@ dependencies = [
2295
2308
  "serde",
2296
2309
  ]
2297
2310
 
2311
+ [[package]]
2312
+ name = "serde_yaml"
2313
+ version = "0.9.34+deprecated"
2314
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2315
+ checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47"
2316
+ dependencies = [
2317
+ "indexmap",
2318
+ "itoa",
2319
+ "ryu",
2320
+ "serde",
2321
+ "unsafe-libyaml",
2322
+ ]
2323
+
2298
2324
  [[package]]
2299
2325
  name = "sha1"
2300
2326
  version = "0.10.6"
@@ -2807,6 +2833,30 @@ dependencies = [
2807
2833
  "tokio",
2808
2834
  ]
2809
2835
 
2836
+ [[package]]
2837
+ name = "toml"
2838
+ version = "0.9.12+spec-1.1.0"
2839
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2840
+ checksum = "cf92845e79fc2e2def6a5d828f0801e29a2f8acc037becc5ab08595c7d5e9863"
2841
+ dependencies = [
2842
+ "indexmap",
2843
+ "serde_core",
2844
+ "serde_spanned",
2845
+ "toml_datetime 0.7.5+spec-1.1.0",
2846
+ "toml_parser",
2847
+ "toml_writer",
2848
+ "winnow 0.7.15",
2849
+ ]
2850
+
2851
+ [[package]]
2852
+ name = "toml_datetime"
2853
+ version = "0.7.5+spec-1.1.0"
2854
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2855
+ checksum = "92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347"
2856
+ dependencies = [
2857
+ "serde_core",
2858
+ ]
2859
+
2810
2860
  [[package]]
2811
2861
  name = "toml_datetime"
2812
2862
  version = "1.1.0+spec-1.1.0"
@@ -2823,9 +2873,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
2823
2873
  checksum = "16bff38f1d86c47f9ff0647e6838d7bb362522bdf44006c7068c2b1e606f1f3c"
2824
2874
  dependencies = [
2825
2875
  "indexmap",
2826
- "toml_datetime",
2876
+ "toml_datetime 1.1.0+spec-1.1.0",
2827
2877
  "toml_parser",
2828
- "winnow",
2878
+ "winnow 1.0.0",
2829
2879
  ]
2830
2880
 
2831
2881
  [[package]]
@@ -2834,9 +2884,15 @@ version = "1.1.0+spec-1.1.0"
2834
2884
  source = "registry+https://github.com/rust-lang/crates.io-index"
2835
2885
  checksum = "2334f11ee363607eb04df9b8fc8a13ca1715a72ba8662a26ac285c98aabb4011"
2836
2886
  dependencies = [
2837
- "winnow",
2887
+ "winnow 1.0.0",
2838
2888
  ]
2839
2889
 
2890
+ [[package]]
2891
+ name = "toml_writer"
2892
+ version = "1.1.2+spec-1.1.0"
2893
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2894
+ checksum = "7d56353a2a665ad0f41a421187180aab746c8c325620617ad883a99a1cbe66d2"
2895
+
2840
2896
  [[package]]
2841
2897
  name = "tracing"
2842
2898
  version = "0.1.44"
@@ -2978,6 +3034,12 @@ version = "0.2.6"
2978
3034
  source = "registry+https://github.com/rust-lang/crates.io-index"
2979
3035
  checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853"
2980
3036
 
3037
+ [[package]]
3038
+ name = "unsafe-libyaml"
3039
+ version = "0.2.11"
3040
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3041
+ checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861"
3042
+
2981
3043
  [[package]]
2982
3044
  name = "url"
2983
3045
  version = "2.5.8"
@@ -3314,6 +3376,12 @@ version = "0.48.5"
3314
3376
  source = "registry+https://github.com/rust-lang/crates.io-index"
3315
3377
  checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
3316
3378
 
3379
+ [[package]]
3380
+ name = "winnow"
3381
+ version = "0.7.15"
3382
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3383
+ checksum = "df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945"
3384
+
3317
3385
  [[package]]
3318
3386
  name = "winnow"
3319
3387
  version = "1.0.0"
@@ -18,6 +18,11 @@ tree-sitter-javascript = "0.25"
18
18
  tree-sitter-rust = "0.24"
19
19
  tree-sitter-cpp = "0.23"
20
20
  ignore = "0.4.25"
21
+ serde_json = "1"
22
+ serde_yaml = "0.9"
23
+ sha2 = "0.10"
24
+ tempfile = "3"
25
+ toml = "0.9"
21
26
  sea-orm = { version = "2.0.0-rc", features = [ "sqlx-sqlite", "runtime-tokio", "macros", "debug-print", "with-uuid", "with-chrono", "with-time", "with-json" ] }
22
27
  uuid = { version = "1", features = ["v4"] }
23
28
  dotenvy = "0.15.7"
@@ -26,9 +31,6 @@ dirs = "6.0.0"
26
31
  log = "0.4.29"
27
32
  pyo3-log = "0.13.3"
28
33
 
29
- [dev-dependencies]
30
- tempfile = "3"
31
-
32
34
  [profile.release]
33
35
  lto = true
34
36
  codegen-units = 1
@@ -17,7 +17,16 @@ class DependencyGraphPayload(TypedDict):
17
17
  cycles: list[list[str]]
18
18
 
19
19
 
20
+ class RenamePlan:
21
+ @property
22
+ def backend(self) -> Literal["rust"]: ...
23
+ def summary(self) -> dict[str, object]: ...
24
+
25
+
20
26
  def init_env() -> None: ...
21
27
  def close_env() -> None: ...
22
28
  def reset_logging() -> None: ...
23
- def build_dependency_graph(abs_root: str) -> DependencyGraphPayload: ...
29
+ def build_dependency_graph(abs_root: str) -> DependencyGraphPayload: ...
30
+ def ensure_rename_ignore(abs_root: str) -> bool: ...
31
+ def plan_project_rename(abs_root: str, new_name: str) -> RenamePlan: ...
32
+ def apply_project_rename(plan: RenamePlan) -> None: ...
@@ -10,6 +10,7 @@ mod graph;
10
10
  mod models;
11
11
  mod parse;
12
12
  mod repos;
13
+ mod rename;
13
14
  mod resolve;
14
15
  mod walker;
15
16
 
@@ -138,5 +139,9 @@ fn rpr_parser(m: &Bound<'_, PyModule>) -> PyResult<()> {
138
139
  m.add_function(wrap_pyfunction!(close_env, m)?)?;
139
140
  m.add_function(wrap_pyfunction!(reset_logging, m)?)?;
140
141
  m.add_function(wrap_pyfunction!(build_dependency_graph, m)?)?;
142
+ m.add_class::<rename::NativeRenamePlan>()?;
143
+ m.add_function(wrap_pyfunction!(rename::ensure_rename_ignore, m)?)?;
144
+ m.add_function(wrap_pyfunction!(rename::plan_project_rename, m)?)?;
145
+ m.add_function(wrap_pyfunction!(rename::apply_project_rename, m)?)?;
141
146
  Ok(())
142
147
  }