bpsai-pair 2.9.3__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 (231) hide show
  1. bpsai_pair-2.9.3/LICENSE +8 -0
  2. bpsai_pair-2.9.3/MANIFEST.in +3 -0
  3. bpsai_pair-2.9.3/PKG-INFO +222 -0
  4. bpsai_pair-2.9.3/README.md +175 -0
  5. bpsai_pair-2.9.3/bpsai_pair/__init__.py +40 -0
  6. bpsai_pair-2.9.3/bpsai_pair/__main__.py +4 -0
  7. bpsai_pair-2.9.3/bpsai_pair/benchmarks/__init__.py +15 -0
  8. bpsai_pair-2.9.3/bpsai_pair/benchmarks/reports.py +259 -0
  9. bpsai_pair-2.9.3/bpsai_pair/benchmarks/runner.py +363 -0
  10. bpsai_pair-2.9.3/bpsai_pair/benchmarks/validation.py +161 -0
  11. bpsai_pair-2.9.3/bpsai_pair/cli.py +212 -0
  12. bpsai_pair-2.9.3/bpsai_pair/commands/__init__.py +64 -0
  13. bpsai_pair-2.9.3/bpsai_pair/commands/arch.py +327 -0
  14. bpsai_pair-2.9.3/bpsai_pair/commands/audit.py +98 -0
  15. bpsai_pair-2.9.3/bpsai_pair/commands/benchmark.py +193 -0
  16. bpsai_pair-2.9.3/bpsai_pair/commands/budget.py +319 -0
  17. bpsai_pair-2.9.3/bpsai_pair/commands/cache.py +103 -0
  18. bpsai_pair-2.9.3/bpsai_pair/commands/compaction_commands.py +201 -0
  19. bpsai_pair-2.9.3/bpsai_pair/commands/config.py +212 -0
  20. bpsai_pair-2.9.3/bpsai_pair/commands/containment_commands.py +596 -0
  21. bpsai_pair-2.9.3/bpsai_pair/commands/context_commands.py +214 -0
  22. bpsai_pair-2.9.3/bpsai_pair/commands/core.py +86 -0
  23. bpsai_pair-2.9.3/bpsai_pair/commands/enforce.py +347 -0
  24. bpsai_pair-2.9.3/bpsai_pair/commands/init_commands.py +375 -0
  25. bpsai_pair-2.9.3/bpsai_pair/commands/mcp.py +127 -0
  26. bpsai_pair-2.9.3/bpsai_pair/commands/metrics.py +547 -0
  27. bpsai_pair-2.9.3/bpsai_pair/commands/orchestrate.py +381 -0
  28. bpsai_pair-2.9.3/bpsai_pair/commands/preset.py +149 -0
  29. bpsai_pair-2.9.3/bpsai_pair/commands/security.py +270 -0
  30. bpsai_pair-2.9.3/bpsai_pair/commands/session.py +71 -0
  31. bpsai_pair-2.9.3/bpsai_pair/commands/session_check.py +233 -0
  32. bpsai_pair-2.9.3/bpsai_pair/commands/state.py +548 -0
  33. bpsai_pair-2.9.3/bpsai_pair/commands/timer.py +199 -0
  34. bpsai_pair-2.9.3/bpsai_pair/commands/upgrade.py +535 -0
  35. bpsai_pair-2.9.3/bpsai_pair/commands/validation_commands.py +452 -0
  36. bpsai_pair-2.9.3/bpsai_pair/compaction.py +379 -0
  37. bpsai_pair-2.9.3/bpsai_pair/context/__init__.py +6 -0
  38. bpsai_pair-2.9.3/bpsai_pair/context/cache.py +157 -0
  39. bpsai_pair-2.9.3/bpsai_pair/context/loader.py +97 -0
  40. bpsai_pair-2.9.3/bpsai_pair/core/__init__.py +103 -0
  41. bpsai_pair-2.9.3/bpsai_pair/core/bypass_log.py +171 -0
  42. bpsai_pair-2.9.3/bpsai_pair/core/config.py +113 -0
  43. bpsai_pair-2.9.3/bpsai_pair/core/config_defaults.py +72 -0
  44. bpsai_pair-2.9.3/bpsai_pair/core/config_helpers.py +128 -0
  45. bpsai_pair-2.9.3/bpsai_pair/core/config_loader.py +261 -0
  46. bpsai_pair-2.9.3/bpsai_pair/core/config_templates.py +204 -0
  47. bpsai_pair-2.9.3/bpsai_pair/core/config_validator.py +485 -0
  48. bpsai_pair-2.9.3/bpsai_pair/core/constants.py +69 -0
  49. bpsai_pair-2.9.3/bpsai_pair/core/deprecation.py +187 -0
  50. bpsai_pair-2.9.3/bpsai_pair/core/enforcement.py +854 -0
  51. bpsai_pair-2.9.3/bpsai_pair/core/hooks.py +732 -0
  52. bpsai_pair-2.9.3/bpsai_pair/core/ops.py +569 -0
  53. bpsai_pair-2.9.3/bpsai_pair/core/preconditions.py +318 -0
  54. bpsai_pair-2.9.3/bpsai_pair/core/presets.py +579 -0
  55. bpsai_pair-2.9.3/bpsai_pair/core/routing.py +224 -0
  56. bpsai_pair-2.9.3/bpsai_pair/core/task_state.py +587 -0
  57. bpsai_pair-2.9.3/bpsai_pair/core/utils.py +87 -0
  58. bpsai_pair-2.9.3/bpsai_pair/data/__init__.py +1 -0
  59. bpsai_pair-2.9.3/bpsai_pair/data/__pycache__/__init__.cpython-314.pyc +0 -0
  60. bpsai_pair-2.9.3/bpsai_pair/data/cookiecutter-paircoder/cookiecutter.json +12 -0
  61. bpsai_pair-2.9.3/bpsai_pair/data/cookiecutter-paircoder/{{cookiecutter.project_slug}}/.agentpackignore +19 -0
  62. bpsai_pair-2.9.3/bpsai_pair/data/cookiecutter-paircoder/{{cookiecutter.project_slug}}/.claude/agents/planner.md +122 -0
  63. bpsai_pair-2.9.3/bpsai_pair/data/cookiecutter-paircoder/{{cookiecutter.project_slug}}/.claude/agents/reviewer.md +177 -0
  64. bpsai_pair-2.9.3/bpsai_pair/data/cookiecutter-paircoder/{{cookiecutter.project_slug}}/.claude/agents/security-auditor.md +112 -0
  65. bpsai_pair-2.9.3/bpsai_pair/data/cookiecutter-paircoder/{{cookiecutter.project_slug}}/.claude/agents/security.md +236 -0
  66. bpsai_pair-2.9.3/bpsai_pair/data/cookiecutter-paircoder/{{cookiecutter.project_slug}}/.claude/commands/pc-plan.md +33 -0
  67. bpsai_pair-2.9.3/bpsai_pair/data/cookiecutter-paircoder/{{cookiecutter.project_slug}}/.claude/commands/prep-release.md +42 -0
  68. bpsai_pair-2.9.3/bpsai_pair/data/cookiecutter-paircoder/{{cookiecutter.project_slug}}/.claude/commands/start-task.md +35 -0
  69. bpsai_pair-2.9.3/bpsai_pair/data/cookiecutter-paircoder/{{cookiecutter.project_slug}}/.claude/commands/update-skills.md +22 -0
  70. bpsai_pair-2.9.3/bpsai_pair/data/cookiecutter-paircoder/{{cookiecutter.project_slug}}/.claude/settings.json +60 -0
  71. bpsai_pair-2.9.3/bpsai_pair/data/cookiecutter-paircoder/{{cookiecutter.project_slug}}/.claude/skills/architecting-modules/SKILL.md +302 -0
  72. bpsai_pair-2.9.3/bpsai_pair/data/cookiecutter-paircoder/{{cookiecutter.project_slug}}/.claude/skills/creating-skills/SKILL.md +153 -0
  73. bpsai_pair-2.9.3/bpsai_pair/data/cookiecutter-paircoder/{{cookiecutter.project_slug}}/.claude/skills/designing-and-implementing/SKILL.md +85 -0
  74. bpsai_pair-2.9.3/bpsai_pair/data/cookiecutter-paircoder/{{cookiecutter.project_slug}}/.claude/skills/finishing-branches/SKILL.md +74 -0
  75. bpsai_pair-2.9.3/bpsai_pair/data/cookiecutter-paircoder/{{cookiecutter.project_slug}}/.claude/skills/implementing-with-tdd/SKILL.md +89 -0
  76. bpsai_pair-2.9.3/bpsai_pair/data/cookiecutter-paircoder/{{cookiecutter.project_slug}}/.claude/skills/managing-task-lifecycle/SKILL.md +367 -0
  77. bpsai_pair-2.9.3/bpsai_pair/data/cookiecutter-paircoder/{{cookiecutter.project_slug}}/.claude/skills/managing-task-lifecycle/reference/all-cli-commands.md +1008 -0
  78. bpsai_pair-2.9.3/bpsai_pair/data/cookiecutter-paircoder/{{cookiecutter.project_slug}}/.claude/skills/managing-task-lifecycle/reference/bps-trello-conventions.md +84 -0
  79. bpsai_pair-2.9.3/bpsai_pair/data/cookiecutter-paircoder/{{cookiecutter.project_slug}}/.claude/skills/managing-task-lifecycle/scripts/check_completion.py +113 -0
  80. bpsai_pair-2.9.3/bpsai_pair/data/cookiecutter-paircoder/{{cookiecutter.project_slug}}/.claude/skills/managing-task-lifecycle/scripts/validate_task_status.py +101 -0
  81. bpsai_pair-2.9.3/bpsai_pair/data/cookiecutter-paircoder/{{cookiecutter.project_slug}}/.claude/skills/planning-with-trello/SKILL.md +284 -0
  82. bpsai_pair-2.9.3/bpsai_pair/data/cookiecutter-paircoder/{{cookiecutter.project_slug}}/.claude/skills/reviewing-code/SKILL.md +68 -0
  83. bpsai_pair-2.9.3/bpsai_pair/data/cookiecutter-paircoder/{{cookiecutter.project_slug}}/.editorconfig +17 -0
  84. bpsai_pair-2.9.3/bpsai_pair/data/cookiecutter-paircoder/{{cookiecutter.project_slug}}/.gitignore +5 -0
  85. bpsai_pair-2.9.3/bpsai_pair/data/cookiecutter-paircoder/{{cookiecutter.project_slug}}/.paircoder/capabilities.yaml +398 -0
  86. bpsai_pair-2.9.3/bpsai_pair/data/cookiecutter-paircoder/{{cookiecutter.project_slug}}/.paircoder/config.yaml +349 -0
  87. bpsai_pair-2.9.3/bpsai_pair/data/cookiecutter-paircoder/{{cookiecutter.project_slug}}/.paircoder/context/project.md +107 -0
  88. bpsai_pair-2.9.3/bpsai_pair/data/cookiecutter-paircoder/{{cookiecutter.project_slug}}/.paircoder/context/state.md +67 -0
  89. bpsai_pair-2.9.3/bpsai_pair/data/cookiecutter-paircoder/{{cookiecutter.project_slug}}/.paircoder/context/workflow.md +168 -0
  90. bpsai_pair-2.9.3/bpsai_pair/data/cookiecutter-paircoder/{{cookiecutter.project_slug}}/.paircoder/plans/.gitkeep +2 -0
  91. bpsai_pair-2.9.3/bpsai_pair/data/cookiecutter-paircoder/{{cookiecutter.project_slug}}/.paircoder/security/allowlist.yaml +132 -0
  92. bpsai_pair-2.9.3/bpsai_pair/data/cookiecutter-paircoder/{{cookiecutter.project_slug}}/.paircoder/security/sandbox.yaml +49 -0
  93. bpsai_pair-2.9.3/bpsai_pair/data/cookiecutter-paircoder/{{cookiecutter.project_slug}}/.paircoder/security/secret-allowlist.yaml +105 -0
  94. bpsai_pair-2.9.3/bpsai_pair/data/cookiecutter-paircoder/{{cookiecutter.project_slug}}/.paircoder/tasks/.gitkeep +2 -0
  95. bpsai_pair-2.9.3/bpsai_pair/data/cookiecutter-paircoder/{{cookiecutter.project_slug}}/CLAUDE.md +289 -0
  96. bpsai_pair-2.9.3/bpsai_pair/data/cookiecutter-paircoder/{{cookiecutter.project_slug}}/README.md +91 -0
  97. bpsai_pair-2.9.3/bpsai_pair/github/__init__.py +5 -0
  98. bpsai_pair-2.9.3/bpsai_pair/github/client.py +422 -0
  99. bpsai_pair-2.9.3/bpsai_pair/github/commands.py +385 -0
  100. bpsai_pair-2.9.3/bpsai_pair/github/pr.py +570 -0
  101. bpsai_pair-2.9.3/bpsai_pair/init_bundled_cli.py +58 -0
  102. bpsai_pair-2.9.3/bpsai_pair/integrations/__init__.py +21 -0
  103. bpsai_pair-2.9.3/bpsai_pair/integrations/time_tracking.py +336 -0
  104. bpsai_pair-2.9.3/bpsai_pair/integrations/toggl.py +225 -0
  105. bpsai_pair-2.9.3/bpsai_pair/mcp/__init__.py +10 -0
  106. bpsai_pair-2.9.3/bpsai_pair/mcp/server.py +305 -0
  107. bpsai_pair-2.9.3/bpsai_pair/mcp/tools/__init__.py +27 -0
  108. bpsai_pair-2.9.3/bpsai_pair/mcp/tools/context.py +81 -0
  109. bpsai_pair-2.9.3/bpsai_pair/mcp/tools/metrics.py +173 -0
  110. bpsai_pair-2.9.3/bpsai_pair/mcp/tools/orchestration.py +335 -0
  111. bpsai_pair-2.9.3/bpsai_pair/mcp/tools/planning.py +158 -0
  112. bpsai_pair-2.9.3/bpsai_pair/mcp/tools/tasks.py +252 -0
  113. bpsai_pair-2.9.3/bpsai_pair/mcp/tools/trello.py +372 -0
  114. bpsai_pair-2.9.3/bpsai_pair/metrics/__init__.py +55 -0
  115. bpsai_pair-2.9.3/bpsai_pair/metrics/accuracy.py +337 -0
  116. bpsai_pair-2.9.3/bpsai_pair/metrics/budget.py +116 -0
  117. bpsai_pair-2.9.3/bpsai_pair/metrics/burndown.py +240 -0
  118. bpsai_pair-2.9.3/bpsai_pair/metrics/collector.py +392 -0
  119. bpsai_pair-2.9.3/bpsai_pair/metrics/estimation.py +756 -0
  120. bpsai_pair-2.9.3/bpsai_pair/metrics/reports.py +229 -0
  121. bpsai_pair-2.9.3/bpsai_pair/metrics/velocity.py +319 -0
  122. bpsai_pair-2.9.3/bpsai_pair/migrate.py +389 -0
  123. bpsai_pair-2.9.3/bpsai_pair/orchestration/__init__.py +92 -0
  124. bpsai_pair-2.9.3/bpsai_pair/orchestration/agent_selector.py +445 -0
  125. bpsai_pair-2.9.3/bpsai_pair/orchestration/autonomous.py +620 -0
  126. bpsai_pair-2.9.3/bpsai_pair/orchestration/handoff.py +219 -0
  127. bpsai_pair-2.9.3/bpsai_pair/orchestration/headless.py +310 -0
  128. bpsai_pair-2.9.3/bpsai_pair/orchestration/invoker.py +420 -0
  129. bpsai_pair-2.9.3/bpsai_pair/orchestration/manager.py +335 -0
  130. bpsai_pair-2.9.3/bpsai_pair/orchestration/orchestrator.py +627 -0
  131. bpsai_pair-2.9.3/bpsai_pair/orchestration/package_builder.py +427 -0
  132. bpsai_pair-2.9.3/bpsai_pair/orchestration/planner.py +463 -0
  133. bpsai_pair-2.9.3/bpsai_pair/orchestration/reviewer.py +642 -0
  134. bpsai_pair-2.9.3/bpsai_pair/orchestration/security.py +753 -0
  135. bpsai_pair-2.9.3/bpsai_pair/orchestration/serializer.py +177 -0
  136. bpsai_pair-2.9.3/bpsai_pair/orchestration/workflow_guide.py +372 -0
  137. bpsai_pair-2.9.3/bpsai_pair/planning/__init__.py +29 -0
  138. bpsai_pair-2.9.3/bpsai_pair/planning/auto_assign.py +219 -0
  139. bpsai_pair-2.9.3/bpsai_pair/planning/cli_update_cache.py +153 -0
  140. bpsai_pair-2.9.3/bpsai_pair/planning/commands.py +51 -0
  141. bpsai_pair-2.9.3/bpsai_pair/planning/helpers.py +506 -0
  142. bpsai_pair-2.9.3/bpsai_pair/planning/intent_commands.py +97 -0
  143. bpsai_pair-2.9.3/bpsai_pair/planning/intent_detection.py +415 -0
  144. bpsai_pair-2.9.3/bpsai_pair/planning/models.py +466 -0
  145. bpsai_pair-2.9.3/bpsai_pair/planning/parser.py +569 -0
  146. bpsai_pair-2.9.3/bpsai_pair/planning/plan_commands.py +470 -0
  147. bpsai_pair-2.9.3/bpsai_pair/planning/plan_estimation.py +82 -0
  148. bpsai_pair-2.9.3/bpsai_pair/planning/plan_trello_sync.py +291 -0
  149. bpsai_pair-2.9.3/bpsai_pair/planning/standup.py +351 -0
  150. bpsai_pair-2.9.3/bpsai_pair/planning/standup_commands.py +145 -0
  151. bpsai_pair-2.9.3/bpsai_pair/planning/state.py +383 -0
  152. bpsai_pair-2.9.3/bpsai_pair/planning/task_archive_commands.py +398 -0
  153. bpsai_pair-2.9.3/bpsai_pair/planning/task_commands.py +595 -0
  154. bpsai_pair-2.9.3/bpsai_pair/planning/token_estimator.py +383 -0
  155. bpsai_pair-2.9.3/bpsai_pair/release/__init__.py +19 -0
  156. bpsai_pair-2.9.3/bpsai_pair/release/commands.py +610 -0
  157. bpsai_pair-2.9.3/bpsai_pair/release/template.py +290 -0
  158. bpsai_pair-2.9.3/bpsai_pair/security/__init__.py +105 -0
  159. bpsai_pair-2.9.3/bpsai_pair/security/allowlist.py +408 -0
  160. bpsai_pair-2.9.3/bpsai_pair/security/checkpoint.py +523 -0
  161. bpsai_pair-2.9.3/bpsai_pair/security/containment.py +451 -0
  162. bpsai_pair-2.9.3/bpsai_pair/security/containment_config.py +121 -0
  163. bpsai_pair-2.9.3/bpsai_pair/security/data_classes.py +183 -0
  164. bpsai_pair-2.9.3/bpsai_pair/security/dependencies.py +600 -0
  165. bpsai_pair-2.9.3/bpsai_pair/security/image_manager.py +112 -0
  166. bpsai_pair-2.9.3/bpsai_pair/security/interactive_runner.py +186 -0
  167. bpsai_pair-2.9.3/bpsai_pair/security/network.py +138 -0
  168. bpsai_pair-2.9.3/bpsai_pair/security/network_control.py +74 -0
  169. bpsai_pair-2.9.3/bpsai_pair/security/review.py +612 -0
  170. bpsai_pair-2.9.3/bpsai_pair/security/runner.py +335 -0
  171. bpsai_pair-2.9.3/bpsai_pair/security/sandbox.py +65 -0
  172. bpsai_pair-2.9.3/bpsai_pair/security/secrets.py +540 -0
  173. bpsai_pair-2.9.3/bpsai_pair/session.py +278 -0
  174. bpsai_pair-2.9.3/bpsai_pair/skills/__init__.py +142 -0
  175. bpsai_pair-2.9.3/bpsai_pair/skills/classifier.py +640 -0
  176. bpsai_pair-2.9.3/bpsai_pair/skills/cli_commands.py +20 -0
  177. bpsai_pair-2.9.3/bpsai_pair/skills/display_helpers.py +254 -0
  178. bpsai_pair-2.9.3/bpsai_pair/skills/exporter.py +550 -0
  179. bpsai_pair-2.9.3/bpsai_pair/skills/gap_detector.py +501 -0
  180. bpsai_pair-2.9.3/bpsai_pair/skills/gaps_commands.py +468 -0
  181. bpsai_pair-2.9.3/bpsai_pair/skills/gates.py +723 -0
  182. bpsai_pair-2.9.3/bpsai_pair/skills/generator.py +476 -0
  183. bpsai_pair-2.9.3/bpsai_pair/skills/installer.py +464 -0
  184. bpsai_pair-2.9.3/bpsai_pair/skills/scorer.py +559 -0
  185. bpsai_pair-2.9.3/bpsai_pair/skills/skill_commands.py +469 -0
  186. bpsai_pair-2.9.3/bpsai_pair/skills/skill_gap_commands.py +430 -0
  187. bpsai_pair-2.9.3/bpsai_pair/skills/subagent_commands.py +137 -0
  188. bpsai_pair-2.9.3/bpsai_pair/skills/subagent_detector.py +713 -0
  189. bpsai_pair-2.9.3/bpsai_pair/skills/suggestion.py +783 -0
  190. bpsai_pair-2.9.3/bpsai_pair/skills/validator.py +360 -0
  191. bpsai_pair-2.9.3/bpsai_pair/sprint/__init__.py +12 -0
  192. bpsai_pair-2.9.3/bpsai_pair/sprint/commands.py +239 -0
  193. bpsai_pair-2.9.3/bpsai_pair/tasks/__init__.py +15 -0
  194. bpsai_pair-2.9.3/bpsai_pair/tasks/archiver.py +307 -0
  195. bpsai_pair-2.9.3/bpsai_pair/tasks/changelog.py +180 -0
  196. bpsai_pair-2.9.3/bpsai_pair/tasks/lifecycle.py +231 -0
  197. bpsai_pair-2.9.3/bpsai_pair/tokens.py +291 -0
  198. bpsai_pair-2.9.3/bpsai_pair/trello/__init__.py +33 -0
  199. bpsai_pair-2.9.3/bpsai_pair/trello/activity.py +287 -0
  200. bpsai_pair-2.9.3/bpsai_pair/trello/auth.py +63 -0
  201. bpsai_pair-2.9.3/bpsai_pair/trello/board_commands.py +184 -0
  202. bpsai_pair-2.9.3/bpsai_pair/trello/board_setup.py +111 -0
  203. bpsai_pair-2.9.3/bpsai_pair/trello/client.py +995 -0
  204. bpsai_pair-2.9.3/bpsai_pair/trello/commands.py +62 -0
  205. bpsai_pair-2.9.3/bpsai_pair/trello/connection.py +107 -0
  206. bpsai_pair-2.9.3/bpsai_pair/trello/field_commands.py +294 -0
  207. bpsai_pair-2.9.3/bpsai_pair/trello/fields.py +416 -0
  208. bpsai_pair-2.9.3/bpsai_pair/trello/list_resolver.py +257 -0
  209. bpsai_pair-2.9.3/bpsai_pair/trello/progress.py +225 -0
  210. bpsai_pair-2.9.3/bpsai_pair/trello/sync.py +459 -0
  211. bpsai_pair-2.9.3/bpsai_pair/trello/sync_cards.py +222 -0
  212. bpsai_pair-2.9.3/bpsai_pair/trello/sync_checklists.py +129 -0
  213. bpsai_pair-2.9.3/bpsai_pair/trello/sync_commands.py +221 -0
  214. bpsai_pair-2.9.3/bpsai_pair/trello/sync_fields.py +271 -0
  215. bpsai_pair-2.9.3/bpsai_pair/trello/sync_helpers.py +197 -0
  216. bpsai_pair-2.9.3/bpsai_pair/trello/task_commands.py +55 -0
  217. bpsai_pair-2.9.3/bpsai_pair/trello/task_display.py +172 -0
  218. bpsai_pair-2.9.3/bpsai_pair/trello/task_helpers.py +547 -0
  219. bpsai_pair-2.9.3/bpsai_pair/trello/task_lifecycle.py +299 -0
  220. bpsai_pair-2.9.3/bpsai_pair/trello/task_operations.py +276 -0
  221. bpsai_pair-2.9.3/bpsai_pair/trello/templates.py +339 -0
  222. bpsai_pair-2.9.3/bpsai_pair/trello/webhook.py +571 -0
  223. bpsai_pair-2.9.3/bpsai_pair/trello/webhook_commands.py +258 -0
  224. bpsai_pair-2.9.3/bpsai_pair.egg-info/PKG-INFO +222 -0
  225. bpsai_pair-2.9.3/bpsai_pair.egg-info/SOURCES.txt +229 -0
  226. bpsai_pair-2.9.3/bpsai_pair.egg-info/dependency_links.txt +1 -0
  227. bpsai_pair-2.9.3/bpsai_pair.egg-info/entry_points.txt +3 -0
  228. bpsai_pair-2.9.3/bpsai_pair.egg-info/requires.txt +22 -0
  229. bpsai_pair-2.9.3/bpsai_pair.egg-info/top_level.txt +1 -0
  230. bpsai_pair-2.9.3/pyproject.toml +99 -0
  231. bpsai_pair-2.9.3/setup.cfg +4 -0
@@ -0,0 +1,8 @@
1
+ Copyright (c) 2025-2026 BPS AI Software. All rights reserved.
2
+
3
+ This software and associated documentation files (the "Software") are
4
+ proprietary and confidential. Unauthorized copying, modification,
5
+ distribution, or use of this Software, via any medium, is strictly
6
+ prohibited without the express written permission of BPS AI Software.
7
+
8
+ For licensing inquiries: info@bpsaisoftware.com
@@ -0,0 +1,3 @@
1
+ include LICENSE
2
+ include README.md
3
+ recursive-include bpsai_pair/data *
@@ -0,0 +1,222 @@
1
+ Metadata-Version: 2.4
2
+ Name: bpsai-pair
3
+ Version: 2.9.3
4
+ Summary: AI-augmented pair programming framework with 182+ CLI commands for planning, orchestration, Trello/GitHub integration, and autonomous workflows
5
+ Author-email: BPS AI Software <dev@bpsai.com>
6
+ License-Expression: LicenseRef-Proprietary
7
+ Project-URL: Homepage, https://github.com/BPSAI/paircoder
8
+ Project-URL: Documentation, https://github.com/BPSAI/paircoder#readme
9
+ Project-URL: Repository, https://github.com/BPSAI/paircoder
10
+ Project-URL: Issues, https://github.com/BPSAI/paircoder/issues
11
+ Project-URL: Changelog, https://github.com/BPSAI/paircoder/blob/main/CHANGELOG.md
12
+ Keywords: ai,pair-programming,cli,claude,gpt,codex,gemini,mcp,trello,github,autonomous,workflow,planning,tasks
13
+ Classifier: Development Status :: 4 - Beta
14
+ Classifier: Environment :: Console
15
+ Classifier: Intended Audience :: Developers
16
+ Classifier: Operating System :: OS Independent
17
+ Classifier: Programming Language :: Python :: 3
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Programming Language :: Python :: 3.13
21
+ Classifier: Topic :: Software Development
22
+ Classifier: Topic :: Software Development :: Build Tools
23
+ Classifier: Topic :: Software Development :: Version Control :: Git
24
+ Classifier: Typing :: Typed
25
+ Requires-Python: >=3.11
26
+ Description-Content-Type: text/markdown
27
+ License-File: LICENSE
28
+ Requires-Dist: typer>=0.12
29
+ Requires-Dist: rich>=13.7
30
+ Requires-Dist: pyyaml>=6.0
31
+ Requires-Dist: tiktoken>=0.5.0
32
+ Provides-Extra: trello
33
+ Requires-Dist: py-trello>=0.19.0; extra == "trello"
34
+ Provides-Extra: mcp
35
+ Requires-Dist: mcp>=1.0.0; extra == "mcp"
36
+ Provides-Extra: docs
37
+ Requires-Dist: sphinx>=7.0; extra == "docs"
38
+ Requires-Dist: sphinx-rtd-theme>=2.0; extra == "docs"
39
+ Requires-Dist: sphinx-autodoc-typehints>=2.0; extra == "docs"
40
+ Requires-Dist: sphinx-copybutton>=0.5; extra == "docs"
41
+ Requires-Dist: myst-parser>=2.0; extra == "docs"
42
+ Requires-Dist: sphinx-click>=5.0; extra == "docs"
43
+ Provides-Extra: sandbox
44
+ Requires-Dist: docker>=7.0.0; extra == "sandbox"
45
+ Requires-Dist: dockerpty>=0.4.1; extra == "sandbox"
46
+ Dynamic: license-file
47
+
48
+ # PairCoder — AI-Augmented Pair Programming Framework
49
+
50
+ [![PyPI version](https://badge.fury.io/py/bpsai-pair.svg)](https://badge.fury.io/py/bpsai-pair)
51
+ [![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/)
52
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
53
+
54
+ PairCoder is a **repo-native toolkit** for pairing with AI coding agents (Claude, GPT, Codex, Gemini). It standardizes project memory in `.paircoder/`, provides structured workflows via skills, and ships a CLI with **182+ commands** to orchestrate the entire development lifecycle.
55
+
56
+ ## Key Features
57
+
58
+ | Feature | Description |
59
+ |---------|-------------|
60
+ | **Planning System** | Plans, sprints, tasks with YAML+MD format |
61
+ | **Skills** | Claude Code native skills with cross-platform export |
62
+ | **Orchestration** | Multi-agent coordination, model routing by complexity |
63
+ | **Autonomous Workflow** | Auto-session for hands-off task execution |
64
+ | **Contained Autonomy** | Docker-enforced isolation with three-tier access control |
65
+ | **Architecture Enforcement** | File/function size limits with pre-commit/CI gates |
66
+ | **Presets** | 8 built-in presets (python-cli, bps, autonomous, etc.) |
67
+ | **GitHub Integration** | Auto-PR creation, task-linked PRs, archive on merge |
68
+ | **Trello Integration** | Board/card management, progress comments, webhooks |
69
+ | **Standup Generation** | Daily summaries in markdown/slack/trello formats |
70
+ | **Metrics** | Token tracking, cost estimation, budget enforcement |
71
+ | **Time Tracking** | Built-in timer with Toggl integration |
72
+ | **MCP Server** | 15 tools for autonomous agent operation |
73
+ | **Auto-Hooks** | Automatic Trello sync and state updates on task changes |
74
+
75
+ ## Quick Start
76
+
77
+ ### Install
78
+
79
+ ```bash
80
+ pip install bpsai-pair
81
+ bpsai-pair --version
82
+ ```
83
+
84
+ ### Initialize a Project
85
+
86
+ ```bash
87
+ # New project with preset
88
+ bpsai-pair init my-project --preset python-cli
89
+ cd my-project
90
+
91
+ # List available presets
92
+ bpsai-pair preset list
93
+
94
+ # Initialize with BPS Trello workflow
95
+ bpsai-pair init my-project --preset bps
96
+
97
+ # Existing project
98
+ cd your-project
99
+ bpsai-pair init .
100
+ ```
101
+
102
+ ### Optional Dependencies
103
+
104
+ ```bash
105
+ # For MCP/Claude Desktop integration
106
+ pip install 'bpsai-pair[mcp]'
107
+
108
+ # For Trello integration
109
+ pip install 'bpsai-pair[trello]'
110
+
111
+ # For Docker sandbox (contained autonomy)
112
+ pip install 'bpsai-pair[sandbox]'
113
+
114
+ # All extras
115
+ pip install 'bpsai-pair[mcp,trello,sandbox]'
116
+ ```
117
+
118
+ ## Project Structure
119
+
120
+ After initialization, your project will have:
121
+
122
+ ```
123
+ my-project/
124
+ ├── .paircoder/ # PairCoder data
125
+ │ ├── config.yaml # Project configuration
126
+ │ ├── capabilities.yaml # LLM capability manifest
127
+ │ ├── context/ # Project context files
128
+ │ │ ├── project.md # Project overview
129
+ │ │ ├── workflow.md # Workflow guidelines
130
+ │ │ └── state.md # Current state
131
+ │ ├── plans/ # Plan files (.plan.yaml)
132
+ │ ├── tasks/ # Task files (.task.md)
133
+ │ └── history/ # Archives, metrics
134
+ ├── .claude/ # Claude Code native
135
+ │ ├── skills/ # Model-invoked skills
136
+ │ ├── agents/ # Custom subagents
137
+ │ └── commands/ # Slash commands
138
+ ├── AGENTS.md # Universal AI entry point
139
+ └── CLAUDE.md # Claude Code instructions
140
+ ```
141
+
142
+ ## CLI Commands (180+)
143
+
144
+ ### Core Commands
145
+
146
+ | Command | Description |
147
+ |---------|-------------|
148
+ | `init [path] [--preset]` | Initialize repo with PairCoder structure |
149
+ | `feature <name>` | Create feature branch with context |
150
+ | `pack [--lite]` | Package context for AI agents |
151
+ | `context-sync` | Update the context loop |
152
+ | `status` | Show current context and recent changes |
153
+ | `validate` | Check repo structure and consistency |
154
+
155
+ ### Planning & Tasks
156
+
157
+ | Command | Description |
158
+ |---------|-------------|
159
+ | `plan new <slug>` | Create a new plan |
160
+ | `plan list` | List all plans |
161
+ | `plan show <id>` | Show plan details |
162
+ | `plan status [id]` | Show progress with task breakdown |
163
+ | `task list` | List all tasks |
164
+ | `task update <id> --status` | Update task status (fires hooks) |
165
+
166
+ ### Trello Integration
167
+
168
+ | Command | Description |
169
+ |---------|-------------|
170
+ | `trello connect` | Connect to Trello (store credentials) |
171
+ | `trello boards` | List available boards |
172
+ | `ttask list` | List tasks from board |
173
+ | `ttask start <id>` | Start working on a task |
174
+ | `ttask done <id>` | Complete task with summary |
175
+
176
+ ### MCP Server
177
+
178
+ | Command | Description |
179
+ |---------|-------------|
180
+ | `mcp serve` | Start MCP server (stdio transport) |
181
+ | `mcp tools` | List available tools |
182
+ | `mcp test <tool>` | Test a tool locally |
183
+
184
+ ### Contained Autonomy
185
+
186
+ | Command | Description |
187
+ |---------|-------------|
188
+ | `contained-auto [task]` | Start contained autonomous session |
189
+ | `containment status` | Show containment mode and protected paths |
190
+ | `containment rollback` | Rollback to checkpoint |
191
+
192
+ ## Skills System
193
+
194
+ PairCoder provides Claude Code native skills in `.claude/skills/`:
195
+
196
+ - **designing-and-implementing** — Feature development workflow
197
+ - **implementing-with-tdd** — Test-driven development
198
+ - **reviewing-code** — Code review workflow
199
+ - **finishing-branches** — Branch completion
200
+ - **managing-task-lifecycle** — Task workflow with Trello
201
+ - **planning-with-trello** — Planning with Trello integration
202
+ - **releasing-versions** — Release preparation workflow
203
+
204
+ Export skills to other platforms:
205
+ ```bash
206
+ bpsai-pair skill export --format cursor # Export to Cursor
207
+ bpsai-pair skill export --format continue # Export to Continue.dev
208
+ bpsai-pair skill export --format all # Export to all platforms
209
+ ```
210
+
211
+ ## Documentation
212
+
213
+ - [Full Documentation](https://github.com/BPSAI/paircoder#readme) — Complete guide with all 180+ commands
214
+ - [User Guide](https://github.com/BPSAI/paircoder/blob/main/.paircoder/docs/USER_GUIDE.md) — Getting started guide
215
+ - [Feature Matrix](https://github.com/BPSAI/paircoder/blob/main/.paircoder/docs/FEATURE_MATRIX.md) — Complete feature inventory
216
+ - [Contained Autonomy](https://github.com/BPSAI/paircoder/blob/main/docs/CONTAINED_AUTONOMY.md) — Docker isolation guide
217
+
218
+ ## License
219
+
220
+ PairCoder is proprietary software. See [LICENSE](LICENSE) for terms.
221
+
222
+ For licensing inquiries, contact info@bpsaisoftware.com
@@ -0,0 +1,175 @@
1
+ # PairCoder — AI-Augmented Pair Programming Framework
2
+
3
+ [![PyPI version](https://badge.fury.io/py/bpsai-pair.svg)](https://badge.fury.io/py/bpsai-pair)
4
+ [![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/)
5
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
6
+
7
+ PairCoder is a **repo-native toolkit** for pairing with AI coding agents (Claude, GPT, Codex, Gemini). It standardizes project memory in `.paircoder/`, provides structured workflows via skills, and ships a CLI with **182+ commands** to orchestrate the entire development lifecycle.
8
+
9
+ ## Key Features
10
+
11
+ | Feature | Description |
12
+ |---------|-------------|
13
+ | **Planning System** | Plans, sprints, tasks with YAML+MD format |
14
+ | **Skills** | Claude Code native skills with cross-platform export |
15
+ | **Orchestration** | Multi-agent coordination, model routing by complexity |
16
+ | **Autonomous Workflow** | Auto-session for hands-off task execution |
17
+ | **Contained Autonomy** | Docker-enforced isolation with three-tier access control |
18
+ | **Architecture Enforcement** | File/function size limits with pre-commit/CI gates |
19
+ | **Presets** | 8 built-in presets (python-cli, bps, autonomous, etc.) |
20
+ | **GitHub Integration** | Auto-PR creation, task-linked PRs, archive on merge |
21
+ | **Trello Integration** | Board/card management, progress comments, webhooks |
22
+ | **Standup Generation** | Daily summaries in markdown/slack/trello formats |
23
+ | **Metrics** | Token tracking, cost estimation, budget enforcement |
24
+ | **Time Tracking** | Built-in timer with Toggl integration |
25
+ | **MCP Server** | 15 tools for autonomous agent operation |
26
+ | **Auto-Hooks** | Automatic Trello sync and state updates on task changes |
27
+
28
+ ## Quick Start
29
+
30
+ ### Install
31
+
32
+ ```bash
33
+ pip install bpsai-pair
34
+ bpsai-pair --version
35
+ ```
36
+
37
+ ### Initialize a Project
38
+
39
+ ```bash
40
+ # New project with preset
41
+ bpsai-pair init my-project --preset python-cli
42
+ cd my-project
43
+
44
+ # List available presets
45
+ bpsai-pair preset list
46
+
47
+ # Initialize with BPS Trello workflow
48
+ bpsai-pair init my-project --preset bps
49
+
50
+ # Existing project
51
+ cd your-project
52
+ bpsai-pair init .
53
+ ```
54
+
55
+ ### Optional Dependencies
56
+
57
+ ```bash
58
+ # For MCP/Claude Desktop integration
59
+ pip install 'bpsai-pair[mcp]'
60
+
61
+ # For Trello integration
62
+ pip install 'bpsai-pair[trello]'
63
+
64
+ # For Docker sandbox (contained autonomy)
65
+ pip install 'bpsai-pair[sandbox]'
66
+
67
+ # All extras
68
+ pip install 'bpsai-pair[mcp,trello,sandbox]'
69
+ ```
70
+
71
+ ## Project Structure
72
+
73
+ After initialization, your project will have:
74
+
75
+ ```
76
+ my-project/
77
+ ├── .paircoder/ # PairCoder data
78
+ │ ├── config.yaml # Project configuration
79
+ │ ├── capabilities.yaml # LLM capability manifest
80
+ │ ├── context/ # Project context files
81
+ │ │ ├── project.md # Project overview
82
+ │ │ ├── workflow.md # Workflow guidelines
83
+ │ │ └── state.md # Current state
84
+ │ ├── plans/ # Plan files (.plan.yaml)
85
+ │ ├── tasks/ # Task files (.task.md)
86
+ │ └── history/ # Archives, metrics
87
+ ├── .claude/ # Claude Code native
88
+ │ ├── skills/ # Model-invoked skills
89
+ │ ├── agents/ # Custom subagents
90
+ │ └── commands/ # Slash commands
91
+ ├── AGENTS.md # Universal AI entry point
92
+ └── CLAUDE.md # Claude Code instructions
93
+ ```
94
+
95
+ ## CLI Commands (180+)
96
+
97
+ ### Core Commands
98
+
99
+ | Command | Description |
100
+ |---------|-------------|
101
+ | `init [path] [--preset]` | Initialize repo with PairCoder structure |
102
+ | `feature <name>` | Create feature branch with context |
103
+ | `pack [--lite]` | Package context for AI agents |
104
+ | `context-sync` | Update the context loop |
105
+ | `status` | Show current context and recent changes |
106
+ | `validate` | Check repo structure and consistency |
107
+
108
+ ### Planning & Tasks
109
+
110
+ | Command | Description |
111
+ |---------|-------------|
112
+ | `plan new <slug>` | Create a new plan |
113
+ | `plan list` | List all plans |
114
+ | `plan show <id>` | Show plan details |
115
+ | `plan status [id]` | Show progress with task breakdown |
116
+ | `task list` | List all tasks |
117
+ | `task update <id> --status` | Update task status (fires hooks) |
118
+
119
+ ### Trello Integration
120
+
121
+ | Command | Description |
122
+ |---------|-------------|
123
+ | `trello connect` | Connect to Trello (store credentials) |
124
+ | `trello boards` | List available boards |
125
+ | `ttask list` | List tasks from board |
126
+ | `ttask start <id>` | Start working on a task |
127
+ | `ttask done <id>` | Complete task with summary |
128
+
129
+ ### MCP Server
130
+
131
+ | Command | Description |
132
+ |---------|-------------|
133
+ | `mcp serve` | Start MCP server (stdio transport) |
134
+ | `mcp tools` | List available tools |
135
+ | `mcp test <tool>` | Test a tool locally |
136
+
137
+ ### Contained Autonomy
138
+
139
+ | Command | Description |
140
+ |---------|-------------|
141
+ | `contained-auto [task]` | Start contained autonomous session |
142
+ | `containment status` | Show containment mode and protected paths |
143
+ | `containment rollback` | Rollback to checkpoint |
144
+
145
+ ## Skills System
146
+
147
+ PairCoder provides Claude Code native skills in `.claude/skills/`:
148
+
149
+ - **designing-and-implementing** — Feature development workflow
150
+ - **implementing-with-tdd** — Test-driven development
151
+ - **reviewing-code** — Code review workflow
152
+ - **finishing-branches** — Branch completion
153
+ - **managing-task-lifecycle** — Task workflow with Trello
154
+ - **planning-with-trello** — Planning with Trello integration
155
+ - **releasing-versions** — Release preparation workflow
156
+
157
+ Export skills to other platforms:
158
+ ```bash
159
+ bpsai-pair skill export --format cursor # Export to Cursor
160
+ bpsai-pair skill export --format continue # Export to Continue.dev
161
+ bpsai-pair skill export --format all # Export to all platforms
162
+ ```
163
+
164
+ ## Documentation
165
+
166
+ - [Full Documentation](https://github.com/BPSAI/paircoder#readme) — Complete guide with all 180+ commands
167
+ - [User Guide](https://github.com/BPSAI/paircoder/blob/main/.paircoder/docs/USER_GUIDE.md) — Getting started guide
168
+ - [Feature Matrix](https://github.com/BPSAI/paircoder/blob/main/.paircoder/docs/FEATURE_MATRIX.md) — Complete feature inventory
169
+ - [Contained Autonomy](https://github.com/BPSAI/paircoder/blob/main/docs/CONTAINED_AUTONOMY.md) — Docker isolation guide
170
+
171
+ ## License
172
+
173
+ PairCoder is proprietary software. See [LICENSE](LICENSE) for terms.
174
+
175
+ For licensing inquiries, contact info@bpsaisoftware.com
@@ -0,0 +1,40 @@
1
+ """bpsai_pair package"""
2
+ try:
3
+ from importlib.metadata import version, PackageNotFoundError
4
+ __version__ = version("bpsai-pair")
5
+ except PackageNotFoundError:
6
+ __version__ = "dev"
7
+
8
+ # Core modules
9
+ from . import cli
10
+ from .core import config # Moved to core/ in T24.2
11
+ from .core import utils # Merged utils/pyutils/jsonio to core/ in T24.7
12
+
13
+ # Feature modules (public API)
14
+ from . import planning
15
+ from . import tasks
16
+ from . import trello
17
+ from . import github
18
+ from . import metrics
19
+ from . import orchestration
20
+ from . import mcp
21
+ from . import context
22
+ from .core import presets # Moved to core/ in T24.6
23
+
24
+ __all__ = [
25
+ "__version__",
26
+ # Core
27
+ "cli",
28
+ "config",
29
+ "utils",
30
+ # Features
31
+ "planning",
32
+ "tasks",
33
+ "trello",
34
+ "github",
35
+ "metrics",
36
+ "orchestration",
37
+ "mcp",
38
+ "context",
39
+ "presets",
40
+ ]
@@ -0,0 +1,4 @@
1
+ from .cli import app
2
+
3
+ if __name__ == "__main__":
4
+ app()
@@ -0,0 +1,15 @@
1
+ """Benchmarking framework module."""
2
+
3
+ from .runner import BenchmarkRunner, BenchmarkResult, BenchmarkConfig
4
+ from .validation import BenchmarkValidator, ValidationResult
5
+ from .reports import BenchmarkReporter, BenchmarkComparison
6
+
7
+ __all__ = [
8
+ "BenchmarkRunner",
9
+ "BenchmarkResult",
10
+ "BenchmarkConfig",
11
+ "BenchmarkValidator",
12
+ "ValidationResult",
13
+ "BenchmarkReporter",
14
+ "BenchmarkComparison",
15
+ ]