rpr-cli 0.1.3__tar.gz → 0.1.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 (221) hide show
  1. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/.github/workflows/publish-pypi.yml +10 -5
  2. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/PKG-INFO +6 -2
  3. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/README.md +5 -1
  4. rpr_cli-0.1.5/src/rpr/__init__.py +1 -0
  5. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/dependency_manifest_data.py +11 -33
  6. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/tests/test_init.py +11 -2
  7. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/tests/test_refresh.py +2 -0
  8. rpr_cli-0.1.3/src/rpr/__init__.py +0 -1
  9. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/.github/agents/story.agent.md +0 -0
  10. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/.gitignore +0 -0
  11. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/CLAUDE.md +0 -0
  12. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/GEMINI.md +0 -0
  13. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/LICENSE +0 -0
  14. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/Sample-dot-github/instructions/all.instructions.md +0 -0
  15. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/Sample-dot-github/instructions/api.instructions.md +0 -0
  16. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/Sample-dot-github/instructions/domain.instructions.md +0 -0
  17. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/Sample-dot-github/instructions/frontend.instructions.md +0 -0
  18. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/Sample-dot-github/instructions/rust-engine.instructions.md +0 -0
  19. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/Sample-dot-github/instructions/setup-guide.instructions.md +0 -0
  20. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/Sample-dot-github/instructions/tooling-setup.instructions.md +0 -0
  21. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/Sample-dot-github/instructions/tooling.instructions.md +0 -0
  22. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/Sample-dot-github/scaffolds/README.md +0 -0
  23. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/Sample-dot-github/scaffolds/api/main.py +0 -0
  24. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/Sample-dot-github/scaffolds/domain/base-repo.md +0 -0
  25. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/Sample-dot-github/scaffolds/domain/base_entity.md +0 -0
  26. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/Sample-dot-github/scaffolds/frontend/api.service.ts +0 -0
  27. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/Sample-dot-github/scaffolds/frontend/useStateNavigation.ts +0 -0
  28. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/changelogs/mui_v9.txt +0 -0
  29. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/code-map.md +0 -0
  30. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/nx_uv_setup.md +0 -0
  31. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/patch_output.py +0 -0
  32. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/pyproject.toml +0 -0
  33. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/rpr-parser/Cargo.lock +0 -0
  34. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/rpr-parser/Cargo.toml +0 -0
  35. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/rpr-parser/pyproject.toml +0 -0
  36. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/rpr-parser/rpr_parser.pyi +0 -0
  37. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/rpr-parser/src/config/container.rs +0 -0
  38. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/rpr-parser/src/config/mod.rs +0 -0
  39. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/rpr-parser/src/config/settings.rs +0 -0
  40. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/rpr-parser/src/graph.rs +0 -0
  41. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/rpr-parser/src/lib.rs +0 -0
  42. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/rpr-parser/src/models/dtos/mod.rs +0 -0
  43. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/rpr-parser/src/models/entities/mod.rs +0 -0
  44. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/rpr-parser/src/models/entities/users.rs +0 -0
  45. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/rpr-parser/src/models/mod.rs +0 -0
  46. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/rpr-parser/src/parse.rs +0 -0
  47. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/rpr-parser/src/repos/base.rs +0 -0
  48. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/rpr-parser/src/repos/mod.rs +0 -0
  49. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/rpr-parser/src/repos/users.rs +0 -0
  50. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/rpr-parser/src/resolve.rs +0 -0
  51. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/rpr-parser/src/walker.rs +0 -0
  52. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/rpr-parser/uv.lock +0 -0
  53. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/special_files.md +0 -0
  54. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/agent/__init__.py +0 -0
  55. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/agent/approval.py +0 -0
  56. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/agent/bootstrap.py +0 -0
  57. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/agent/client.py +0 -0
  58. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/agent/control.py +0 -0
  59. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/agent/mock.py +0 -0
  60. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/agent/runtime.py +0 -0
  61. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/agent/session.py +0 -0
  62. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/agent/tools/__init__.py +0 -0
  63. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/agent/tools/base.py +0 -0
  64. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/agent/tools/mutating.py +0 -0
  65. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/agent/tools/readonly.py +0 -0
  66. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/agent/tools/registry.py +0 -0
  67. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/application/__init__.py +0 -0
  68. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/application/catalog.py +0 -0
  69. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/application/chat_service.py +0 -0
  70. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/application/checks.py +0 -0
  71. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/application/cli_adapter.py +0 -0
  72. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/application/completer.py +0 -0
  73. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/application/conversation_service.py +0 -0
  74. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/application/prompt_service.py +0 -0
  75. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/application/selector.py +0 -0
  76. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/application/shell.py +0 -0
  77. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/checks/__init__.py +0 -0
  78. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/checks/base.py +0 -0
  79. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/checks/instructions.py +0 -0
  80. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/checks/packages.py +0 -0
  81. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/checks/workspace.py +0 -0
  82. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/cli.py +0 -0
  83. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/commands/__init__.py +0 -0
  84. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/commands/add.py +0 -0
  85. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/commands/chat.py +0 -0
  86. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/commands/check.py +0 -0
  87. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/commands/generate/__init__.py +0 -0
  88. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/commands/generate/api.py +0 -0
  89. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/commands/generate/domain.py +0 -0
  90. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/commands/generate/engine.py +0 -0
  91. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/commands/generate/storybook.py +0 -0
  92. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/commands/generate/ui.py +0 -0
  93. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/commands/init.py +0 -0
  94. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/commands/map.py +0 -0
  95. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/commands/refresh.py +0 -0
  96. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/commands/settings.py +0 -0
  97. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/commands/sync.py +0 -0
  98. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/context.py +0 -0
  99. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/dependencies.py +0 -0
  100. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/generators/__init__.py +0 -0
  101. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/generators/base.py +0 -0
  102. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/generators/claude.py +0 -0
  103. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/generators/copilot.py +0 -0
  104. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/generators/cursor.py +0 -0
  105. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/generators/gemini.py +0 -0
  106. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/manifest_refresh.py +0 -0
  107. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/map/__init__.py +0 -0
  108. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/map/architecture.py +0 -0
  109. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/map/chains.py +0 -0
  110. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/map/classifier.py +0 -0
  111. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/map/coverage.py +0 -0
  112. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/map/dependencies.py +0 -0
  113. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/map/extractor.py +0 -0
  114. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/map/graph.py +0 -0
  115. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/map/output.py +0 -0
  116. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/map/responsibility.py +0 -0
  117. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/map/topology.py +0 -0
  118. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/map/walker.py +0 -0
  119. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/scaffolds/domain/base_entity.md +0 -0
  120. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/scaffolds/domain/base_repo.md +0 -0
  121. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/scaffolds/domain/container.md +0 -0
  122. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/scaffolds/domain/settings.md +0 -0
  123. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/scaffolds/instructions/all.instructions.md +0 -0
  124. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/scaffolds/instructions/api.instructions.md +0 -0
  125. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/scaffolds/instructions/domain.instructions.md +0 -0
  126. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/scaffolds/instructions/frontend.instructions.md +0 -0
  127. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/scaffolds/instructions/rust-engine.instructions.md +0 -0
  128. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/scaffolds/instructions/setup-guide.instructions.md +0 -0
  129. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/scaffolds/instructions/tooling-setup.instructions.md +0 -0
  130. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/scaffolds/instructions/tooling.instructions.md +0 -0
  131. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/scaffolds/js_special_files/fetch.service.md +0 -0
  132. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/scaffolds/js_special_files/sticky-navigation.md +0 -0
  133. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/scaffolds/special_files/domain_container.md +0 -0
  134. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/scaffolds/special_files/domain_settings.md +0 -0
  135. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/scaffolds/special_files/dto_util.md +0 -0
  136. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/scaffolds/special_files/encrypted_column.md +0 -0
  137. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/scaffolds/special_files/mapper_util.md +0 -0
  138. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/scaffolds/special_files/partial_update.md +0 -0
  139. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/templates/__init__.py +0 -0
  140. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/templates/registry.py +0 -0
  141. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/ui/__init__.py +0 -0
  142. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/ui/console.py +0 -0
  143. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/ui/markdown.py +0 -0
  144. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/ui/prompt_session.py +0 -0
  145. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/ui/renderers.py +0 -0
  146. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/ui/theme.py +0 -0
  147. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/src/rpr/workspace.py +0 -0
  148. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/stories/README.md +0 -0
  149. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/stories/completed/00-bootstrap-cli.md +0 -0
  150. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/stories/completed/01-rpr-init.md +0 -0
  151. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/stories/completed/02-rpr-generate-domain.md +0 -0
  152. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/stories/completed/03-rpr-generate-api.md +0 -0
  153. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/stories/completed/04-rpr-generate-ui.md +0 -0
  154. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/stories/completed/05-rpr-generate-engine.md +0 -0
  155. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/stories/completed/06-rpr-generate-storybook.md +0 -0
  156. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/stories/completed/07-rpr-sync-rules.md +0 -0
  157. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/stories/completed/08-rpr-add-template.md +0 -0
  158. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/stories/completed/09-rpr-check.md +0 -0
  159. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/stories/completed/10-rpr-domain-config.md +0 -0
  160. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/stories/completed/chat/18-rpr-terminal-ui-foundation.md +0 -0
  161. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/stories/completed/chat/19-rpr-markdown-rendering.md +0 -0
  162. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/stories/completed/chat/20-rpr-chat-repl.md +0 -0
  163. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/stories/completed/chat/21-rpr-agent-tool-loop.md +0 -0
  164. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/stories/completed/chat/22-rpr-chat-tui.md +0 -0
  165. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/stories/completed/chat/23-rpr-chat-unified-command-shell.md +0 -0
  166. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/stories/completed/chat/24-rpr-async-chat-runtime-and-services.md +0 -0
  167. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/stories/completed/chat/25-rpr-prompt-service-and-conversation-lifecycle.md +0 -0
  168. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/stories/completed/chat/26-rpr-shared-command-catalog.md +0 -0
  169. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/stories/completed/chat/27-rpr-slash-command-selection-panel.md +0 -0
  170. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/stories/completed/chat/28-rpr-chat-cancellable-and-multiline-input.md +0 -0
  171. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/stories/completed/chat/29-rpr-file-context-selection.md +0 -0
  172. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/stories/completed/map/11-rpr-map-command.md +0 -0
  173. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/stories/completed/map/12-rpr-map-file-walker.md +0 -0
  174. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/stories/completed/map/13-rpr-map-rust-engine.md +0 -0
  175. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/stories/completed/map/13a-rpr-map-gitignore.md +0 -0
  176. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/stories/completed/map/14-rpr-map-graph-builder.md +0 -0
  177. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/stories/completed/map/15-rpr-map-analysis-bridge.md +0 -0
  178. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/stories/completed/map/16-rpr-map-layer-classifier.md +0 -0
  179. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/stories/completed/map/17-rpr-map-output.md +0 -0
  180. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/stories/completed/map/17a-rpr-map-directory-topology.md +0 -0
  181. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/stories/completed/map/17b-rpr-map-architecture-assessment.md +0 -0
  182. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/stories/completed/map/17c-rpr-map-representative-chains.md +0 -0
  183. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/stories/completed/map/17d-rpr-map-multi-resolution-output.md +0 -0
  184. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/stories/map/30-rpr-map-directory-view-and-cycle-detection.md +0 -0
  185. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/stories/map/31-rpr-map-coupling-hotspots-and-verdict-reasoning.md +0 -0
  186. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/stories/map/32-rpr-map-dependencies-responsibilities-and-test-coverage.md +0 -0
  187. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/tests/__init__.py +0 -0
  188. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/tests/test_add.py +0 -0
  189. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/tests/test_architecture.py +0 -0
  190. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/tests/test_architecture_unwrapped.py +0 -0
  191. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/tests/test_catalog.py +0 -0
  192. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/tests/test_chat.py +0 -0
  193. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/tests/test_chat_service.py +0 -0
  194. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/tests/test_check.py +0 -0
  195. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/tests/test_completer.py +0 -0
  196. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/tests/test_context.py +0 -0
  197. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/tests/test_generate_api.py +0 -0
  198. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/tests/test_generate_domain.py +0 -0
  199. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/tests/test_generate_engine.py +0 -0
  200. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/tests/test_generate_storybook.py +0 -0
  201. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/tests/test_generate_ui.py +0 -0
  202. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/tests/test_map.py +0 -0
  203. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/tests/test_map_chains.py +0 -0
  204. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/tests/test_map_classifier.py +0 -0
  205. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/tests/test_map_coverage.py +0 -0
  206. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/tests/test_map_dependencies.py +0 -0
  207. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/tests/test_map_extractor.py +0 -0
  208. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/tests/test_map_graph.py +0 -0
  209. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/tests/test_map_output.py +0 -0
  210. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/tests/test_map_responsibility.py +0 -0
  211. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/tests/test_map_topology.py +0 -0
  212. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/tests/test_map_walker.py +0 -0
  213. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/tests/test_packaging.py +0 -0
  214. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/tests/test_prompt_session.py +0 -0
  215. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/tests/test_rpr_parser_stub.py +0 -0
  216. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/tests/test_selector.py +0 -0
  217. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/tests/test_settings.py +0 -0
  218. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/tests/test_sync.py +0 -0
  219. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/tests/test_ui.py +0 -0
  220. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/update_output.py +0 -0
  221. {rpr_cli-0.1.3 → rpr_cli-0.1.5}/uv.lock +0 -0
@@ -9,20 +9,26 @@ on:
9
9
  jobs:
10
10
  publish:
11
11
  runs-on: ubuntu-latest
12
+ env:
13
+ FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
14
+ environment:
15
+ name: pypi
16
+ url: https://pypi.org/p/rpr-cli
12
17
  permissions:
13
18
  contents: read
19
+ id-token: write
14
20
 
15
21
  steps:
16
22
  - name: Check out repository
17
- uses: actions/checkout@v4
23
+ uses: actions/checkout@v6
18
24
 
19
25
  - name: Set up Python
20
- uses: actions/setup-python@v5
26
+ uses: actions/setup-python@v6
21
27
  with:
22
28
  python-version: "3.14"
23
29
 
24
30
  - name: Set up uv
25
- uses: astral-sh/setup-uv@v5
31
+ uses: astral-sh/setup-uv@v8.1.0
26
32
 
27
33
  - name: Validate tag matches package version
28
34
  run: |
@@ -50,5 +56,4 @@ jobs:
50
56
  - name: Publish to PyPI
51
57
  uses: pypa/gh-action-pypi-publish@release/v1
52
58
  with:
53
- user: __token__
54
- password: ${{ secrets.PYPI_API_TOKEN }}
59
+ attestations: true
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rpr-cli
3
- Version: 0.1.3
3
+ Version: 0.1.5
4
4
  Summary: RPR CLI -- React Python Rust monorepo scaffolding orchestrator
5
5
  License-Expression: MIT
6
6
  License-File: LICENSE
@@ -55,6 +55,8 @@ uv add ../project-getting-started/dist/rpr_cli-*.whl
55
55
 
56
56
  Create a new NX + UV monorepo, then add apps and packages as needed.
57
57
 
58
+ > NX monorepo uses integrated mode.
59
+
58
60
  ```bash
59
61
  rpr init my-app # Create/init my-app with root NX + UV tooling and AI instructions
60
62
  cd my-app
@@ -227,7 +229,9 @@ This repo is set up to publish the package `rpr-cli` to PyPI from GitHub Actions
227
229
  One-time setup:
228
230
 
229
231
  1. Create the PyPI project `rpr-cli`.
230
- 2. Add a repository secret named `PYPI_API_TOKEN` with an API token that can upload that project.
232
+ 2. Create a PyPI Trusted Publisher for this repository using workflow `.github/workflows/publish-pypi.yml` and environment `pypi`.
233
+
234
+ No `PYPI_API_TOKEN` secret is required when publishing through GitHub Actions OIDC.
231
235
 
232
236
  Release flow:
233
237
 
@@ -40,6 +40,8 @@ uv add ../project-getting-started/dist/rpr_cli-*.whl
40
40
 
41
41
  Create a new NX + UV monorepo, then add apps and packages as needed.
42
42
 
43
+ > NX monorepo uses integrated mode.
44
+
43
45
  ```bash
44
46
  rpr init my-app # Create/init my-app with root NX + UV tooling and AI instructions
45
47
  cd my-app
@@ -212,7 +214,9 @@ This repo is set up to publish the package `rpr-cli` to PyPI from GitHub Actions
212
214
  One-time setup:
213
215
 
214
216
  1. Create the PyPI project `rpr-cli`.
215
- 2. Add a repository secret named `PYPI_API_TOKEN` with an API token that can upload that project.
217
+ 2. Create a PyPI Trusted Publisher for this repository using workflow `.github/workflows/publish-pypi.yml` and environment `pypi`.
218
+
219
+ No `PYPI_API_TOKEN` secret is required when publishing through GitHub Actions OIDC.
216
220
 
217
221
  Release flow:
218
222
 
@@ -0,0 +1 @@
1
+ __version__ = "0.1.5"
@@ -6,59 +6,37 @@ from __future__ import annotations
6
6
  MANIFEST = {
7
7
  "root_node_dev_dependencies": {
8
8
  "@eslint/js": {
9
- "registry": "npm",
10
- "specifier": "latest",
11
- "strategy": "caret",
9
+ "specifier": "^9.39.4",
12
10
  },
13
11
  "@nx/eslint": {
14
- "registry": "npm",
15
- "specifier": "latest",
16
- "strategy": "caret",
12
+ "specifier": "^22.7.1",
17
13
  },
18
14
  "@nx/eslint-plugin": {
19
- "registry": "npm",
20
- "specifier": "latest",
21
- "strategy": "caret",
15
+ "specifier": "^22.7.1",
22
16
  },
23
17
  "eslint": {
24
- "registry": "npm",
25
- "specifier": "latest",
26
- "strategy": "caret",
18
+ "specifier": "^9.39.4",
27
19
  },
28
20
  "eslint-plugin-import": {
29
- "registry": "npm",
30
- "specifier": "latest",
31
- "strategy": "caret",
21
+ "specifier": "^2.32.0",
32
22
  },
33
23
  "eslint-plugin-jsx-a11y": {
34
- "registry": "npm",
35
- "specifier": "latest",
36
- "strategy": "caret",
24
+ "specifier": "^6.10.2",
37
25
  },
38
26
  "eslint-plugin-react": {
39
- "registry": "npm",
40
- "specifier": "latest",
41
- "strategy": "caret",
27
+ "specifier": "^7.37.5",
42
28
  },
43
29
  "eslint-plugin-react-hooks": {
44
- "registry": "npm",
45
- "specifier": "latest",
46
- "strategy": "caret",
30
+ "specifier": "^7.1.1",
47
31
  },
48
32
  "globals": {
49
- "registry": "npm",
50
- "specifier": "latest",
51
- "strategy": "caret",
33
+ "specifier": "^15.15.0",
52
34
  },
53
35
  "prettier": {
54
- "registry": "npm",
55
- "specifier": "latest",
56
- "strategy": "caret",
36
+ "specifier": "^3.7.4",
57
37
  },
58
38
  "typescript-eslint": {
59
- "registry": "npm",
60
- "specifier": "latest",
61
- "strategy": "caret",
39
+ "specifier": "^8.59.2",
62
40
  },
63
41
  },
64
42
  "root_storybook_dev_dependencies": {
@@ -74,8 +74,17 @@ def test_init_new_workspace_disables_nx_cloud(monkeypatch):
74
74
  package_json = json.loads((project_dir / "package.json").read_text())
75
75
  assert package_json["scripts"]["lint"] == "npx nx run-many --target=lint --all"
76
76
  assert package_json["workspaces"] == ["apps/*", "packages/node/*"]
77
- assert "eslint" in package_json["devDependencies"]
78
- assert "prettier" in package_json["devDependencies"]
77
+ dev_dependencies = package_json["devDependencies"]
78
+ assert "eslint" in dev_dependencies
79
+ assert "prettier" in dev_dependencies
80
+ assert dev_dependencies["eslint"] == "^9.39.4"
81
+ assert dev_dependencies["@eslint/js"] == "^9.39.4"
82
+ assert dev_dependencies["eslint-plugin-import"] == "^2.32.0"
83
+ assert dev_dependencies["eslint-plugin-jsx-a11y"] == "^6.10.2"
84
+ assert dev_dependencies["eslint-plugin-react"] == "^7.37.5"
85
+ assert not any(
86
+ version == "latest" for version in dev_dependencies.values()
87
+ )
79
88
 
80
89
  assert (project_dir / "eslint.config.mjs").exists()
81
90
  assert (project_dir / ".prettierrc").exists()
@@ -27,6 +27,8 @@ def test_refresh_manifest_updates_manifest_data_file(monkeypatch, tmp_path: Path
27
27
  assert result.exit_code == 0, result.stdout
28
28
  assert "uvicorn[standard]: uvicorn[standard]>=0.34 -> uvicorn[standard]>=9.9.9" in result.stdout
29
29
  updated = manifest_path.read_text()
30
+ assert "'eslint': {'specifier': '^9.39.4'}" in updated
31
+ assert "'eslint-plugin-import': {'specifier': '^2.32.0'}" in updated
30
32
  assert "'specifier': '^9.9.9'" in updated
31
33
  assert "'specifier': 'fastapi>=9.9.9'" in updated
32
34
  assert "'specifier': 'uvicorn[standard]>=9.9.9'" in updated
@@ -1 +0,0 @@
1
- __version__ = "0.1.3"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes