devsquad 3.6.1__tar.gz → 3.6.6__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 (189) hide show
  1. devsquad-3.6.6/PKG-INFO +665 -0
  2. devsquad-3.6.6/README.md +585 -0
  3. devsquad-3.6.6/devsquad.egg-info/PKG-INFO +665 -0
  4. {devsquad-3.6.1 → devsquad-3.6.6}/devsquad.egg-info/SOURCES.txt +26 -0
  5. {devsquad-3.6.1 → devsquad-3.6.6}/devsquad.egg-info/requires.txt +24 -3
  6. devsquad-3.6.6/pyproject.toml +214 -0
  7. devsquad-3.6.6/scripts/MANUAL_PUBLISHING_GUIDE.md +226 -0
  8. devsquad-3.6.6/scripts/PUBLISHING_GUIDE.md +208 -0
  9. devsquad-3.6.6/scripts/RELEASE_NOTES_V3.6.5.md +570 -0
  10. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/alert_manager.py +138 -147
  11. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/api/__init__.py +1 -1
  12. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/api/models.py +104 -99
  13. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/api/routes/__init__.py +2 -2
  14. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/api/routes/dispatch.py +52 -67
  15. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/api/routes/lifecycle.py +94 -98
  16. devsquad-3.6.6/scripts/api/routes/metrics.py +90 -0
  17. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/api/routes/metrics_gates.py +63 -63
  18. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/api_server.py +56 -60
  19. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/auth.py +124 -112
  20. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/cli/cli_visual.py +216 -224
  21. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/cli.py +216 -153
  22. devsquad-3.6.6/scripts/code_quality.py +360 -0
  23. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/__init__.py +102 -84
  24. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/adaptive_role_selector.py +20 -27
  25. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/adaptive_role_selector_test.py +8 -6
  26. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/agent_briefing.py +125 -178
  27. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/ai_semantic_matcher.py +89 -56
  28. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/anchor_checker.py +148 -48
  29. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/anti_rationalization.py +37 -117
  30. devsquad-3.6.6/scripts/collaboration/async_adapter.py +339 -0
  31. devsquad-3.6.6/scripts/collaboration/async_coordinator.py +857 -0
  32. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/async_integration_example.py +45 -59
  33. devsquad-3.6.6/scripts/collaboration/async_llm_backend.py +692 -0
  34. devsquad-3.6.6/scripts/collaboration/audit_logger.py +881 -0
  35. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/batch_scheduler.py +7 -13
  36. devsquad-3.6.6/scripts/collaboration/cache_interface.py +361 -0
  37. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/checkpoint_manager.py +105 -109
  38. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/ci_feedback_adapter.py +53 -55
  39. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/code_map_generator.py +57 -42
  40. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/concern_pack_loader.py +22 -23
  41. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/confidence_score.py +144 -166
  42. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/config_loader.py +32 -32
  43. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/consensus.py +32 -22
  44. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/context_compressor.py +120 -72
  45. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/coordinator.py +145 -133
  46. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/dispatcher.py +580 -351
  47. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/dual_layer_context.py +18 -11
  48. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/enhanced_worker.py +58 -51
  49. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/execution_guard.py +19 -41
  50. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/execution_guard_test.py +6 -8
  51. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/feature_usage_tracker.py +54 -51
  52. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/feedback_control_loop.py +52 -64
  53. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/feedback_control_loop_test.py +23 -17
  54. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/five_axis_consensus.py +33 -26
  55. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/input_validator.py +80 -135
  56. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/integration_example.py +63 -72
  57. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/intent_workflow_mapper.py +156 -80
  58. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/language_parsers.py +90 -64
  59. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/lifecycle_protocol.py +153 -149
  60. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/llm_backend.py +72 -55
  61. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/llm_cache.py +96 -106
  62. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/llm_cache_async.py +60 -94
  63. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/llm_retry.py +79 -100
  64. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/llm_retry_async.py +72 -82
  65. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/mce_adapter.py +87 -87
  66. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/memory_bridge.py +318 -244
  67. devsquad-3.6.6/scripts/collaboration/models.py +1215 -0
  68. devsquad-3.6.6/scripts/collaboration/multi_level_cache.py +703 -0
  69. devsquad-3.6.6/scripts/collaboration/multi_tenant.py +862 -0
  70. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/null_providers.py +37 -31
  71. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/operation_classifier.py +25 -36
  72. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/output_slicer.py +16 -15
  73. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/performance_fingerprint.py +52 -50
  74. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/performance_monitor.py +45 -51
  75. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/permission_guard.py +205 -151
  76. devsquad-3.6.6/scripts/collaboration/prometheus_metrics.py +399 -0
  77. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/prompt_assembler.py +233 -90
  78. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/prompt_variant_generator.py +36 -52
  79. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/protocols.py +27 -25
  80. devsquad-3.6.6/scripts/collaboration/rbac_engine.py +740 -0
  81. devsquad-3.6.6/scripts/collaboration/redis_cache.py +652 -0
  82. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/report_formatter.py +103 -86
  83. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/retrospective.py +59 -54
  84. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/role_matcher.py +34 -27
  85. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/role_template_market.py +37 -53
  86. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/rule_collector.py +137 -83
  87. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/scratchpad.py +38 -41
  88. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/similar_task_recommender.py +17 -16
  89. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/similar_task_recommender_test.py +4 -4
  90. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/skill_registry.py +45 -30
  91. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/skillifier.py +156 -133
  92. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/standardized_role_template.py +71 -62
  93. devsquad-3.6.6/scripts/collaboration/structured_logging.py +365 -0
  94. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/task_completion_checker.py +38 -39
  95. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/test_quality_guard.py +199 -166
  96. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/unified_gate_engine.py +98 -75
  97. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/usage_tracker.py +74 -78
  98. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/user_friendly_error.py +4 -6
  99. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/verification_gate.py +38 -43
  100. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/warmup_manager.py +64 -63
  101. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/worker.py +74 -55
  102. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/workflow_engine.py +197 -140
  103. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/dashboard.py +109 -120
  104. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/generate_benchmark_report.py +123 -118
  105. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/history_manager.py +195 -178
  106. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/mcp_server.py +64 -49
  107. devsquad-3.6.6/scripts/verify_v361.py +75 -0
  108. {devsquad-3.6.1 → devsquad-3.6.6}/skills/__init__.py +1 -1
  109. devsquad-3.6.6/skills/dispatch/handler.py +147 -0
  110. devsquad-3.6.6/skills/intent/handler.py +156 -0
  111. {devsquad-3.6.1 → devsquad-3.6.6}/skills/registry.py +3 -4
  112. {devsquad-3.6.1 → devsquad-3.6.6}/skills/retrospective/handler.py +17 -13
  113. {devsquad-3.6.1 → devsquad-3.6.6}/skills/review/handler.py +18 -16
  114. {devsquad-3.6.1 → devsquad-3.6.6}/skills/security/handler.py +30 -41
  115. {devsquad-3.6.1 → devsquad-3.6.6}/skills/test/handler.py +8 -6
  116. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_agent_briefing.py +62 -98
  117. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_anchor_retrospective.py +29 -36
  118. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_anti_rationalization.py +12 -21
  119. devsquad-3.6.6/tests/test_api_server_v362.py +662 -0
  120. devsquad-3.6.6/tests/test_auth_phase5.py +333 -0
  121. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_ci_feedback_adapter.py +5 -5
  122. devsquad-3.6.6/tests/test_cli_deep_v362.py +438 -0
  123. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_cli_lifecycle.py +26 -28
  124. devsquad-3.6.6/tests/test_cli_phase5.py +329 -0
  125. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_collaboration_claw_integration_test.py +21 -63
  126. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_collaboration_context_compressor_test.py +175 -70
  127. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_collaboration_core_test.py +132 -61
  128. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_collaboration_dispatcher_test.py +30 -27
  129. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_collaboration_dispatcher_ux_test.py +31 -26
  130. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_collaboration_e2e_test.py +151 -54
  131. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_collaboration_enhanced_e2e_test.py +261 -155
  132. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_collaboration_llm_cache_test.py +75 -75
  133. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_collaboration_llm_retry_test.py +84 -119
  134. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_collaboration_mce_adapter_test.py +15 -25
  135. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_collaboration_memory_bridge_test.py +405 -256
  136. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_collaboration_performance_monitor_test.py +36 -40
  137. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_collaboration_permission_guard_test.py +179 -53
  138. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_collaboration_prompt_optimization_test.py +80 -86
  139. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_collaboration_role_mapping_test.py +28 -23
  140. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_collaboration_skillifier_test.py +183 -87
  141. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_collaboration_test_quality_guard.py +197 -164
  142. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_collaboration_test_quality_guard_test.py +97 -95
  143. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_collaboration_upstream_test.py +12 -10
  144. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_collaboration_warmup_manager_test.py +199 -121
  145. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_comprehensive_integration.py +71 -41
  146. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_confidence_score.py +100 -177
  147. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_config_injection.py +48 -61
  148. devsquad-3.6.6/tests/test_dispatcher_phase5_core.py +339 -0
  149. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_extended_integration.py +27 -19
  150. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_final_integration.py +49 -47
  151. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_five_axis_consensus.py +3 -5
  152. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_full_lifecycle_adapter.py +17 -8
  153. devsquad-3.6.6/tests/test_history_manager_v362.py +464 -0
  154. devsquad-3.6.6/tests/test_input_validator_phase5.py +266 -0
  155. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_intent_workflow_mapper.py +18 -51
  156. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_lifecycle_protocol.py +9 -10
  157. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_llm_cache_protocol.py +72 -70
  158. devsquad-3.6.6/tests/test_mcp_server_v362.py +545 -0
  159. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_null_providers.py +83 -78
  160. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_operation_classifier.py +6 -6
  161. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_output_slicer.py +2 -4
  162. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_performance_fingerprint.py +5 -9
  163. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_performance_monitor_protocol.py +70 -88
  164. devsquad-3.6.6/tests/test_permission_guard_phase5.py +235 -0
  165. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_plan_c_unified_architecture.py +25 -30
  166. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_production_features.py +153 -167
  167. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_protocols.py +77 -67
  168. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_quick_bonus.py +12 -9
  169. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_rule_injection_security.py +12 -5
  170. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_standardized_role_template.py +1 -1
  171. {devsquad-3.6.1 → devsquad-3.6.6}/tests/test_verification_gate.py +5 -18
  172. devsquad-3.6.1/PKG-INFO +0 -945
  173. devsquad-3.6.1/README.md +0 -889
  174. devsquad-3.6.1/devsquad.egg-info/PKG-INFO +0 -945
  175. devsquad-3.6.1/pyproject.toml +0 -91
  176. devsquad-3.6.1/scripts/collaboration/models.py +0 -537
  177. devsquad-3.6.1/skills/dispatch/handler.py +0 -52
  178. devsquad-3.6.1/skills/intent/handler.py +0 -59
  179. {devsquad-3.6.1 → devsquad-3.6.6}/LICENSE +0 -0
  180. {devsquad-3.6.1 → devsquad-3.6.6}/devsquad.egg-info/dependency_links.txt +0 -0
  181. {devsquad-3.6.1 → devsquad-3.6.6}/devsquad.egg-info/entry_points.txt +0 -0
  182. {devsquad-3.6.1 → devsquad-3.6.6}/devsquad.egg-info/top_level.txt +0 -0
  183. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/__init__.py +0 -0
  184. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/ai_semantic_matcher.py +0 -0
  185. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/cli/__init__.py +0 -0
  186. {devsquad-3.6.1 → devsquad-3.6.6}/scripts/collaboration/_version.py +0 -0
  187. {devsquad-3.6.1 → devsquad-3.6.6}/setup.cfg +0 -0
  188. {devsquad-3.6.1 → devsquad-3.6.6}/skills/retrospective/__init__.py +0 -0
  189. {devsquad-3.6.1 → devsquad-3.6.6}/skills/test/__init__.py +0 -0
@@ -0,0 +1,665 @@
1
+ Metadata-Version: 2.4
2
+ Name: devsquad
3
+ Version: 3.6.6
4
+ Summary: Production-Ready Multi-Role AI Task Orchestrator
5
+ Author-email: DevSquad Team <devsquad@example.com>
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/lulin70/DevSquad
8
+ Project-URL: Documentation, https://github.com/lulin70/DevSquad/blob/main/README.md
9
+ Project-URL: Repository, https://github.com/lulin70/DevSquad.git
10
+ Project-URL: Issues, https://github.com/lulin70/DevSquad/issues
11
+ Project-URL: PyPI, https://pypi.org/project/devsquad/
12
+ Keywords: multi-agent,orchestration,llm,ai,collaboration,role-based,consensus,cybernetics,task-dispatch,openai,anthropic,cli,api,dashboard
13
+ Classifier: Development Status :: 5 - Production/Stable
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: License :: OSI Approved :: MIT License
16
+ Classifier: Operating System :: OS Independent
17
+ Classifier: Programming Language :: Python :: 3
18
+ Classifier: Programming Language :: Python :: 3.10
19
+ Classifier: Programming Language :: Python :: 3.11
20
+ Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
22
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
23
+ Classifier: Typing :: Typed
24
+ Requires-Python: >=3.10
25
+ Description-Content-Type: text/markdown
26
+ License-File: LICENSE
27
+ Requires-Dist: pyyaml>=6.0
28
+ Requires-Dist: fastapi>=0.100.0
29
+ Requires-Dist: uvicorn[standard]>=0.23.0
30
+ Requires-Dist: pydantic>=2.0
31
+ Provides-Extra: openai
32
+ Requires-Dist: openai>=1.0; extra == "openai"
33
+ Provides-Extra: anthropic
34
+ Requires-Dist: anthropic>=0.18; extra == "anthropic"
35
+ Provides-Extra: carrymem
36
+ Requires-Dist: carrymem[devsquad]>=0.2.8; extra == "carrymem"
37
+ Provides-Extra: mcp
38
+ Requires-Dist: mcp>=0.9; extra == "mcp"
39
+ Provides-Extra: monitoring
40
+ Requires-Dist: psutil>=5.9; extra == "monitoring"
41
+ Requires-Dist: prometheus-client>=0.19; extra == "monitoring"
42
+ Provides-Extra: api
43
+ Requires-Dist: fastapi>=0.100.0; extra == "api"
44
+ Requires-Dist: uvicorn[standard]>=0.23.0; extra == "api"
45
+ Requires-Dist: pydantic>=2.0; extra == "api"
46
+ Provides-Extra: visualization
47
+ Requires-Dist: streamlit>=1.28.0; extra == "visualization"
48
+ Requires-Dist: jupyter>=1.0; extra == "visualization"
49
+ Provides-Extra: alerts
50
+ Requires-Dist: slack-sdk>=3.21.0; extra == "alerts"
51
+ Provides-Extra: dev
52
+ Requires-Dist: pytest>=7.0; extra == "dev"
53
+ Requires-Dist: pytest-asyncio>=0.21; extra == "dev"
54
+ Requires-Dist: pytest-cov>=4.1; extra == "dev"
55
+ Requires-Dist: ruff>=0.4.0; extra == "dev"
56
+ Requires-Dist: mypy>=1.0; extra == "dev"
57
+ Requires-Dist: black>=23.0; extra == "dev"
58
+ Requires-Dist: flake8>=6.0; extra == "dev"
59
+ Provides-Extra: all
60
+ Requires-Dist: openai>=1.0; extra == "all"
61
+ Requires-Dist: anthropic>=0.18; extra == "all"
62
+ Requires-Dist: carrymem[devsquad]>=0.2.8; extra == "all"
63
+ Requires-Dist: mcp>=0.9; extra == "all"
64
+ Requires-Dist: psutil>=5.9; extra == "all"
65
+ Requires-Dist: prometheus-client>=0.19; extra == "all"
66
+ Requires-Dist: fastapi>=0.100.0; extra == "all"
67
+ Requires-Dist: uvicorn[standard]>=0.23.0; extra == "all"
68
+ Requires-Dist: pydantic>=2.0; extra == "all"
69
+ Requires-Dist: streamlit>=1.28.0; extra == "all"
70
+ Requires-Dist: jupyter>=1.0; extra == "all"
71
+ Requires-Dist: slack-sdk>=3.21.0; extra == "all"
72
+ Requires-Dist: pytest>=7.0; extra == "all"
73
+ Requires-Dist: pytest-asyncio>=0.21; extra == "all"
74
+ Requires-Dist: pytest-cov>=4.1; extra == "all"
75
+ Requires-Dist: ruff>=0.4.0; extra == "all"
76
+ Requires-Dist: mypy>=1.0; extra == "all"
77
+ Requires-Dist: black>=23.0; extra == "all"
78
+ Requires-Dist: flake8>=6.0; extra == "all"
79
+ Dynamic: license-file
80
+
81
+ # DevSquad — Multi-Role AI Task Orchestrator
82
+
83
+ <p align="center">
84
+ <strong>🎯 把「单个 AI 助手」升级成「7 人 AI 专业团队」</strong>
85
+ <br>
86
+ <em>One task → Multi-role AI collaboration → One conclusion | V3.6.6 Enterprise Ready</em>
87
+ </p>
88
+
89
+ <p align="center">
90
+ <img alt="Python" src="https://img.shields.io/badge/Python-3.9+-blue?logo=python&logoColor=white" />
91
+ <img alt="License" src="https://img.shields.io/badge/License-MIT-green" />
92
+ <img alt="Tests" src="https://img.shields.io/badge/Tests-1731%20passing-brightgreen" />
93
+ <img alt="Version" src="https://img.shields.io/badge/V3.6.6-success" />
94
+ <img alt="CI" src="https://img.shields.io/badge/CI-GitHub_Actions-blue?logo=githubactions" />
95
+ <img alt="Quality" src="https://img.shields.io/badge/Code%20Quality-4.3%2F5%20%E2%98%85%E2%98%85%E2%98%85%E2%98%85%E2%98%86-blue" />
96
+ <img alt="Security" src="https://img.shields.io/badge/Security-5%2F5%20%E2%98%85%E2%98%85%E2%98%85%E2%98%85%E2%98%85-success" />
97
+ </p>
98
+
99
+ ---
100
+
101
+ ## 📖 太长不看?先看这个(30 秒)
102
+
103
+ ### DevSquad 是什么?
104
+
105
+ **DevSquad** 是一个多角色 AI 任务编排器。当你提交一个任务时,它不再是单个 AI 回答,而是让 **7 个专业角色**(架构师、安全专家、测试员、开发者等)**并行协作**,最后给出经过多方审核的结论。
106
+
107
+ ```
108
+ 传统 AI: 你 ──→ ChatGPT ──→ 一个回答(可能不全面)
109
+ DevSquad: 你 ──→ DevSquad ──→ [架构师+安全+测试+开发...] ──→ 多维度共识结论
110
+ ```
111
+
112
+ ### 核心优势(对比单 AI)
113
+
114
+ | 痛点 | 传统单 AI | DevSquad |
115
+ |------|----------|----------|
116
+ | **视角单一** | 只有通用视角 | 7 个专业角色并行审视 ✅ |
117
+ | **质量不可控** | 可能遗漏安全问题 | 多维度交叉验证 + 共识机制 ✅ |
118
+ | **无审计追踪** | 不知道回答依据什么 | 完整审计链 + SHA256 完整性校验 ✅ |
119
+ | **复杂任务崩溃** | 长任务容易丢失上下文 | Checkpoint 断点续传 + 工作流引擎 ✅ |
120
+
121
+ ### 最快上手(5 分钟)
122
+
123
+ ```bash
124
+ # 安装
125
+ pip install devsquad
126
+
127
+ # 运行 - 让 AI 团队帮你设计认证系统
128
+ devsquad run "设计一个安全的用户认证系统" --roles architect,security,tester,coder
129
+
130
+ # 输出结构化报告:
131
+ # ✅ 架构师建议:采用 JWT + Refresh Token 方案...
132
+ # ✅ 安全专家审查:需防范 CSRF、XSS、SQL 注入...
133
+ # ✅ 测试策略:单元测试覆盖率达 90%+...
134
+ # ✅ 开发实现:提供完整代码框架...
135
+ # 📊 共识结论:方案可行,风险可控...
136
+ ```
137
+
138
+ ### 什么时候用 DevSquad?
139
+
140
+ | 你的需求 | 推荐方案 |
141
+ |---------|---------|
142
+ | 简单问答("Python 怎么写 for 循环?") | 直接用 ChatGPT/Claude ✅ |
143
+ | 代码片段审查 | DevSquad 单角色模式 ✅ |
144
+ | 复杂系统设计(需要多视角) | **DevSquad 多角色协作** 🎯 |
145
+ | 生产环境自动化流程 | **DevSquad + REST API + Dashboard** 🎯 |
146
+
147
+ 📚 **想深入了解?** → [完整快速入门指南](QUICKSTART.md) | [70+ 模块详细参考](SKILL.md)
148
+
149
+ ---
150
+
151
+ <details>
152
+ <summary>🔍 点击展开:完整功能介绍与架构详解</summary>
153
+
154
+ ## 🚀 V3.6.6: Enterprise Edition Release
155
+
156
+ **DevSquad V3.6.6** adds enterprise-grade features and comprehensive E2E testing: RBAC Engine with 15+ permissions and 5 roles, Audit Logger with SHA256 integrity chain, Multi-Tenancy Manager with 3 isolation levels, Sensitive Data Masker for PII protection, AsyncIO transformation for 2x throughput improvement, Redis Cache Integration with L1→L2→L3 three-level cache achieving 95%+ hit rate, Prometheus Monitoring with 12 core metrics, E2E Test Suite with 27 test cases covering 5 scenarios (CLI/API/Collaboration/Enterprise/Error Recovery) with 100% pass rate in 9 seconds, Code Quality improvements including print() → logging migration, TODO/FIXME cleanup, pre-commit hooks, and .editorconfig — making DevSquad truly enterprise-ready with 13,000+ lines new code, 1731 tests passing, and 97% maturity score.
157
+
158
+ ---
159
+
160
+ ## ⚡ Quick Start (4 Ways to Use DevSquad)
161
+
162
+ ### 方式 1:命令行(推荐新手)
163
+
164
+ ```bash
165
+ # Interactive setup wizard (1-2 minutes)
166
+ python scripts/cli.py init
167
+
168
+ # Then start collaborating!
169
+ devsquad dispatch -t "your task description"
170
+ ```
171
+
172
+ ### 方式 2:Web Dashboard(推荐团队)
173
+
174
+ ```bash
175
+ # Start Streamlit dashboard with authentication
176
+ streamlit run scripts/dashboard.py
177
+
178
+ # Open http://localhost:8501
179
+ # Login with default account, then change password immediately.
180
+ # Username: admin Password: <your-secure-password>
181
+ ```
182
+
183
+ ### 方式 3:REST API(推荐集成)
184
+
185
+ ```bash
186
+ # Install dependencies
187
+ pip install fastapi uvicorn
188
+
189
+ # Start API server
190
+ uvicorn scripts.api_server:app --host 0.0.0.0 --port 8000 --reload
191
+
192
+ # Access Swagger UI: http://localhost:8000/docs
193
+ # Access ReDoc: http://localhost:8000/redoc
194
+ ```
195
+
196
+ ### 方式 4:Python API(推荐开发者)
197
+
198
+ ```python
199
+ from scripts.collaboration.dispatcher import MultiAgentDispatcher
200
+
201
+ dispatcher = MultiAgentDispatcher()
202
+ result = dispatcher.dispatch(
203
+ task="Optimize database query performance",
204
+ roles=["architect", "security", "tester"],
205
+ )
206
+ print(result.report)
207
+ print(result.consensus)
208
+ ```
209
+
210
+ ---
211
+
212
+ ## 👥 7 Core Roles
213
+
214
+ | Role | CLI ID | Aliases | Weight | Best For |
215
+ |------|--------|---------|--------|----------|
216
+ | 🏗️ **Architect** | `arch` | `architect` | 1.5 | System design, tech stack, performance/security architecture |
217
+ | 📋 **Product Manager** | `pm` | `product-manager` | 1.2 | Requirements, user stories, acceptance criteria |
218
+ | 🛡️ **Security Expert** | `sec` | `security` | 1.1 | Threat modeling, vulnerability audit, compliance |
219
+ | 🧪 **Tester** | `test` | `tester`, `qa` | 1.0 | Test strategy, quality assurance, edge cases |
220
+ | 💻 **Coder** | `coder` | `solo-coder`, `dev` | 1.0 | Implementation, code review, performance optimization |
221
+ | 🔧 **DevOps** | `infra` | `devops` | 1.0 | CI/CD, containerization, monitoring, infrastructure |
222
+ | 🎨 **UI Designer** | `ui` | `ui-designer` | 0.9 | UX flow, interaction design, accessibility |
223
+
224
+ **Auto-match**: If no roles specified, the dispatcher automatically matches based on task keywords.
225
+
226
+ ---
227
+
228
+ ## 🏗️ Five Capability Domains (Architecture Overview)
229
+
230
+ DevSquad's 70+ modules are organized into **5 capability domains**, each solving a specific problem:
231
+
232
+ ### 🎯 Domain 1: Task Orchestration Engine (Core)
233
+
234
+ > **让 7 个角色高效协作的「指挥中心」**
235
+
236
+ | Module | Purpose | When to Use |
237
+ |--------|---------|------------|
238
+ | **MultiAgentDispatcher** | Unified dispatch entry point | All tasks automatically |
239
+ | **Coordinator** | Task decomposition + role assignment | Complex tasks needing breakdown |
240
+ | **Scratchpad** | Shared blackboard for real-time info exchange | Inter-role collaboration |
241
+ | **ConsensusEngine** | Weighted voting + veto + escalation mechanism | Security/architecture disputes |
242
+ | **BatchScheduler** | Parallel/sequential hybrid scheduling | Resource-constrained environments |
243
+
244
+ **Core Workflow:**
245
+ ```
246
+ User Task → [InputValidator] → [RoleMatcher] → [Coordinator Orchestration]
247
+ → [ThreadPoolExecutor Parallel Workers] → [Scratchpad Real-time Sharing]
248
+ → [ConsensusEngine] → [ReportFormatter] → [Structured Report]
249
+ ```
250
+
251
+ ### 🛡️ Domain 2: Quality Assurance System
252
+
253
+ > **防止 AI 「偷懒」或「幻觉」**
254
+
255
+ | Module | Purpose | When to Use |
256
+ |--------|---------|------------|
257
+ | **InputValidator** | Security validation + 21-pattern prompt injection detection | Production environments |
258
+ | **VerificationGate** | Mandatory evidence requirements + 7 Red Flags detection | Critical decision scenarios |
259
+ | **AntiRationalizationEngine** | Per-role excuse→rebuttal tables to prevent quality shortcuts | High quality requirements |
260
+ | **TestQualityGuard** | Test quality audit (API validation / anti-pattern detection / dimension coverage) | Pre-release verification |
261
+ | **PermissionGuard** | 4-level safety gate (PLAN/DEFAULT/AUTO/BYPASS) | Security-sensitive tasks |
262
+
263
+ ### ⚡ Domain 3: Performance & Reliability
264
+
265
+ > **让系统更快、更稳定、更省钱**
266
+
267
+ | Module | Purpose | When to Use |
268
+ |--------|---------|------------|
269
+ | **LLMCache** | TTL-based LRU cache with disk persistence (60-80% cost reduction) | High-frequency usage |
270
+ | **LLMRetry** | Exponential backoff + circuit breaker + multi-backend fallback | Unstable networks |
271
+ | **FeedbackControlLoop** | Closed-loop feedback control with automatic iteration until quality threshold met | High quality output pursuit |
272
+ | **ExecutionGuard** | Real-time abort guard (timeout/output/keywords) for safe execution | Long-running tasks |
273
+ | **FallbackBackend** | Automatic backend failover with health monitoring | High availability requirements |
274
+
275
+ ### 📊 Domain 4: Observability & Governance
276
+
277
+ > **知道系统在做什么、做得怎么样**
278
+
279
+ | Module | Purpose | When to Use |
280
+ |--------|---------|------------|
281
+ | **PerformanceMonitor** | P95/P99 response time, CPU/memory tracking, bottleneck detection | Performance tuning |
282
+ | **UsageTracker** | Token/cost usage tracking and reporting | Cost control |
283
+ | **AuditLogger** | SHA256 integrity operation logs with CSV/JSON export | Compliance auditing |
284
+ | **RBAC Engine** | 15+ fine-grained permissions, 5 roles (SUPER_ADMIN/ADMIN/OPERATOR/ANALYST/VIEWER) | Enterprise access control |
285
+ | **HistoryManager** | SQLite time-series storage: metrics snapshots, alert history, API logs | Retrospective analysis |
286
+ | **AlertManager** | Multi-channel alerting: Console/Slack/Email/Webhook with rate limiting | Production monitoring |
287
+
288
+ ### 🔌 Domain 5: Integration & Extension
289
+
290
+ > **融入你的现有工具链**
291
+
292
+ | Module | Purpose | When to Use |
293
+ |--------|---------|------------|
294
+ | **CLI** | Command-line interface with lifecycle commands | Daily developer usage |
295
+ | **REST API (FastAPI)** | 10+ endpoints with OpenAPI/Swagger docs | Microservice integration |
296
+ | **Dashboard (Streamlit)** | Interactive web dashboard with authentication | Operations team visualization |
297
+ | **MCP Protocol** | Integration with TRAE/Claude Code/Cursor | AI Agent ecosystem |
298
+ | **Docker Support** | Multi-stage build for production deployment | Containerized environments |
299
+ | **GitHub Actions CI** | Python 3.9-3.12 matrix testing | CI/CD pipelines |
300
+
301
+ ---
302
+
303
+ ## 🔬 Cybernetics Enhancement Modules (V3.6.1)
304
+
305
+ > **非侵入式包装设计 — 可选开关,零修改现有核心逻辑**
306
+
307
+ The 5 cybernetic modules work independently or together without modifying existing core logic:
308
+
309
+ ```
310
+ User Task
311
+
312
+ [SimilarTaskRecommender] ← Optional: suggest roles from history
313
+
314
+ [AdaptiveRoleSelector] ← Optional: optimize role selection
315
+
316
+ [MultiAgentDispatcher]
317
+
318
+ [FeedbackControlLoop] ← Wrap dispatcher for auto-iteration
319
+ ↓ [each worker step]
320
+ [ExecutionGuard] ← Guard each worker execution
321
+
322
+ [PerformanceFingerprint] ← Record after dispatch completes
323
+ ```
324
+
325
+ ### 1️⃣ FeedbackControlLoop (反馈闭环控制器)
326
+ - Closed-loop feedback control with automatic iteration until quality threshold met
327
+ - Configurable quality gate (`quality_gate`) and maximum iterations
328
+ - Lightweight quality assessment (no LLM calls), supports dry-run mode
329
+
330
+ ### 2️⃣ ExecutionGuard (执行守护者)
331
+ - Real-time execution monitoring with 4 abort conditions: timeout, output size, token count, critical keywords
332
+ - Lightweight checks (<1ms), zero external dependencies
333
+ - Dynamically configurable thresholds
334
+
335
+ ### 3️⃣ PerformanceFingerprint (性能指纹系统)
336
+ - Unified execution fingerprint recording (fuses 4 data sources)
337
+ - Pure Python TF-IDF implementation (no sklearn/numpy), supports English/Chinese mixed content
338
+ - JSON persistence to `.devsquad_data/fingerprints/`, graceful cold-start degradation
339
+
340
+ ### 4️⃣ SimilarTaskRecommender (相似任务推荐器)
341
+ - TF-IDF-based task similarity search with historical success configuration recommendations
342
+ - Intelligent role combination recommendation, intent prediction, execution time estimation
343
+ - Confidence scoring (high/medium/low), graceful cold-start degradation
344
+
345
+ ### 5️⃣ AdaptiveRoleSelector (自适应角色选择器)
346
+ - Three-tier selection strategy based on historical success rates
347
+ - Configurable minimum success rate and maximum role count
348
+ - Supports manual statistics updates and comprehensive role effectiveness reporting
349
+
350
+ **Recommended usage** (progressive adoption):
351
+ ```python
352
+ from scripts.collaboration import (
353
+ MultiAgentDispatcher, FeedbackControlLoop,
354
+ ExecutionGuard, PerformanceFingerprint
355
+ )
356
+
357
+ dispatcher = MultiAgentDispatcher()
358
+ guard = ExecutionGuard()
359
+ fingerprint = PerformanceFingerprint()
360
+
361
+ # Option 1: Full cybernetics stack
362
+ loop = FeedbackControlLoop(dispatcher, quality_gate=0.7)
363
+ result = loop.run("Your task here")
364
+
365
+ # Option 2: Guard only (minimal adoption)
366
+ result = dispatcher.dispatch("Your task")
367
+ for w in result.worker_results:
368
+ abort, reason = guard.check_abort(w.output, w.duration)
369
+ if abort:
370
+ print(f"Aborted: {reason}")
371
+
372
+ # Option 3: Learning only
373
+ fingerprint.record_execution("task", result, result.timing, result.matched_roles)
374
+ similar = fingerprint.find_similar("new task", top_k=3)
375
+ ```
376
+
377
+ All modules are **optional switches** — DevSquad works perfectly without them.
378
+
379
+ ---
380
+
381
+ ## 🏗️ Architecture Overview (Layered Design)
382
+
383
+ ```
384
+ ┌─────────────────────────────────────────────────────────────┐
385
+ │ User Access Layer │
386
+ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
387
+ │ │ Streamlit │ │ FastAPI REST │ │ CLI/Notebook │ │
388
+ │ │ Dashboard │ │ API Server │ │ (Existing) │ │
389
+ │ │ (Auth+HTTPS) │ │ (Swagger) │ │ │ │
390
+ │ └──────┬───────┘ └──────┬───────┘ └──────────────┘ │
391
+ └─────────┼───────────────┼───────────────────────────────────┘
392
+ │ │
393
+ ▼ ▼
394
+ ┌─────────────────────────────────────────────────────────────┐
395
+ │ Business Logic Layer │
396
+ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
397
+ │ │AuthManager │ │AlertManager │ │HistoryMgr │ │
398
+ │ │(RBAC Auth) │ │(Multi-Chnl) │ │(SQLite TSDB)│ │
399
+ │ └─────────────┘ └─────────────┘ └─────────────┘ │
400
+ │ ┌─────────────────────────────────────────────┐ │
401
+ │ │ LifecycleProtocol (11-Phase Engine) │ │
402
+ │ │ UnifiedGateEngine + CheckpointManager │ │
403
+ │ └─────────────────────────────────────────────┘ │
404
+ └─────────────────────────┬───────────────────────────────────┘
405
+
406
+
407
+ ┌─────────────────────────────────────────────────────────────┐
408
+ │ Data Persistence Layer │
409
+ │ ┌────────────┐ ┌────────────┐ ┌────────────────────────┐ │
410
+ │ │ SQLite DB │ │ YAML Config│ │ Checkpoint Files │ │
411
+ │ │ (History) │ │ (Deploy) │ │ (Lifecycle State) │ │
412
+ │ └────────────┘ └────────────┘ └────────────────────────┘ │
413
+ └─────────────────────────────────────────────────────────────┘
414
+ ```
415
+
416
+ ---
417
+
418
+ ## 🧩 Layered Sub-Skill Architecture (V3.6.0)
419
+
420
+ > DevSquad provides **6 atomic sub-skills** that can be used independently or together.
421
+ > Each sub-skill is a thin wrapper (~50 lines) importing existing core modules — no duplicated logic.
422
+
423
+ ```
424
+ skills/
425
+ ├── dispatch/ → DispatchSkill — MultiAgentDispatcher (7-role orchestration)
426
+ ├── intent/ → IntentSkill — IntentWorkflowMapper (6 intents × 3 languages)
427
+ ├── review/ → ReviewSkill — FiveAxisConsensusEngine (5-axis code review)
428
+ ├── security/ → SecuritySkill — InputValidator + OperationClassifier + PermissionGuard
429
+ ├── test/ → TestSkill — TestQualityGuard + test strategy generation
430
+ └── retrospective/ → RetroSkill — RetrospectiveEngine + pattern extraction
431
+ ```
432
+
433
+ ### Sub-Skill Quick Reference
434
+
435
+ | Skill | Core Method | Wraps | Mock Mode |
436
+ |-------|------------|-------|:---------:|
437
+ | `dispatch` | `run(task, roles, mode)` | MultiAgentDispatcher | ✅ |
438
+ | `intent` | `detect(text, lang)` | IntentWorkflowMapper | ✅ |
439
+ | `review` | `review(code)` | FiveAxisConsensusEngine | ✅ |
440
+ | `security` | `scan_input(text)` | InputValidator + OpClassifier | ✅ |
441
+ | `test` | `generate_strategy(module)` | TestQualityGuard | ✅ |
442
+ | `retrospective` | `run_retrospective(results)` | RetrospectiveEngine | ✅ |
443
+
444
+ ### Usage Examples
445
+
446
+ ```python
447
+ # Direct import (recommended for single skill)
448
+ from skills.dispatch.handler import DispatchSkill
449
+ result = DispatchSkill().run("Fix login bug", roles=["coder", "tester"])
450
+
451
+ # Via registry (dynamic discovery)
452
+ from skills import get_skill, list_skills
453
+ print(list_skills()) # ['dispatch', 'intent', 'review', 'security', 'test', 'retrospective']
454
+ skill = get_skill("security")
455
+ result = skill.scan_input("DROP TABLE users; --")
456
+ ```
457
+
458
+ All sub-skills work **without any API key** in Mock mode.
459
+
460
+ ---
461
+
462
+ ## 📋 Plan C Architecture (Core Engine)
463
+
464
+ **Unified Lifecycle Architecture** - Resolves CLI 6 commands vs 11-phase lifecycle:
465
+
466
+ ```
467
+ CLI View Layer (6 commands) Core Engine (11 phases)
468
+ ┌─────────────────────┐ ┌──────────────────────────┐
469
+ │ spec → P1, P2 │───View ──→│ P1: Requirements │
470
+ │ plan → P7 │ Mapping │ P2: Architecture │
471
+ │ build → P8 │ │ P3: Technical Design │
472
+ │ test → P9 │ │ ... │
473
+ │ review → P8,P6 │ │ P10: Deployment │
474
+ │ ship → P10 │ │ P11: Operations │
475
+ └─────────────────────┘ └──────────────────────────┘
476
+ ↓ ↓
477
+ UnifiedGateEngine CheckpointManager
478
+ (Phase + Worker gates) (Lifecycle state persistence)
479
+ ```
480
+
481
+ **Core Components:**
482
+ - ✅ **LifecycleProtocol** - Abstract interface for unified lifecycle management
483
+ - ✅ **UnifiedGateEngine** - Integrates VerificationGate + Phase transition gates
484
+ - ✅ **FullLifecycleAdapter** - Complete 11-phase lifecycle with dependency resolution
485
+ - ✅ **Enhanced CheckpointManager** - Auto save/restore lifecycle state across sessions
486
+
487
+ ---
488
+
489
+ ## 📦 Installation
490
+
491
+ ### Prerequisites
492
+ - **Python 3.9+** (3.9, 3.10, 3.11, 3.12 supported)
493
+ - **pip** or **pipenv** for package management
494
+
495
+ ### Option A: PyPI Install (Recommended)
496
+ ```bash
497
+ # Install from PyPI — zero setup, ready to use
498
+ pip install devsquad
499
+
500
+ # With optional dependencies
501
+ pip install "devsquad[api]" # FastAPI + Streamlit dashboard
502
+ pip install "devsquad[all]" # All optional features
503
+ ```
504
+
505
+ ### Option B: Git Clone + Local Install
506
+ ```bash
507
+ git clone https://github.com/weiransoft/devsquad.git
508
+ cd DevSquad
509
+
510
+ # Install core package (minimal dependencies)
511
+ pip install -e .
512
+
513
+ # Ready to use!
514
+ devsquad dispatch -t "Design user authentication system"
515
+ ```
516
+
517
+ ### Verify Installation
518
+ ```bash
519
+ # Check version
520
+ devsquad --version
521
+ # Expected: devsquad 3.6.6
522
+
523
+ # Run tests
524
+ pytest tests/ -v --tb=short
525
+ # Expected: 1500+ passed
526
+ ```
527
+
528
+ ---
529
+
530
+ ## ⚙️ Configuration
531
+
532
+ Create `.devsquad.yaml` in your project root:
533
+
534
+ ```yaml
535
+ quality_control:
536
+ enabled: true
537
+ strict_mode: true
538
+ min_quality_score: 85
539
+
540
+ llm:
541
+ backend: openai
542
+ base_url: "" # Set via DEVSQUAD_OPENAI_BASE_URL env var
543
+ model: "" # Set via DEVSQUAD_OPENAI_MODEL env var
544
+ timeout: 120
545
+ ```
546
+
547
+ Or use environment variables (higher priority):
548
+
549
+ ```bash
550
+ export DEVSQUAD_LLM_BACKEND=openai
551
+ export DEVSQUAD_OPENAI_BASE_URL=https://api.openai.com/v1
552
+ export DEVSQUAD_OPENAI_MODEL=gpt-4
553
+ export DEVSQUAD_OPENAI_API_KEY=sk-...
554
+ ```
555
+
556
+ **Environment Variables Reference:**
557
+
558
+ | Variable | Purpose | Default |
559
+ |----------|---------|---------|
560
+ | `DEVSQUAD_LLM_BACKEND` | Default backend type (mock\|trae\|openai\|anthropic\|fallback) | `mock` |
561
+ | `DEVSQUAD_OPENAI_API_KEY` | OpenAI/MOKA AI API key | None |
562
+ | `DEVSQUAD_OPENAI_BASE_URL` | OpenAI-compatible base URL | None |
563
+ | `DEVSQUAD_OPENAI_MODEL` | OpenAI model name | `gpt-4` |
564
+ | `DEVSQUAD_ANTHROPIC_API_KEY` | Anthropic API key | None |
565
+ | `DEVSQUAD_ANTHROPIC_BASE_URL` | Anthropic-compatible base URL | None |
566
+ | `DEVSQUAD_ANTHROPIC_MODEL` | Anthropic model name | `claude-sonnet-4-20250514` |
567
+ | `DEVSQUAD_LOG_LEVEL` | Logging level | `WARNING` |
568
+
569
+ ---
570
+
571
+ ## 🧪 Testing
572
+
573
+ ### Quick Smoke Test (< 30 seconds)
574
+ ```bash
575
+ python3 scripts/cli.py --version # Expected: DevSquad 3.6.6
576
+ python3 scripts/cli.py status # Expected: System ready
577
+ python3 scripts/cli.py roles # Expected: 7 core roles listed
578
+ ```
579
+
580
+ ### Full Test Suite
581
+ ```bash
582
+ # Run all tests (1731 tests passing)
583
+ python3 -m pytest tests/ -q --tb=line
584
+
585
+ # With coverage report
586
+ python3 -m pytest tests/ --cov=scripts --cov-report=term-missing --cov-fail-under=80
587
+ ```
588
+
589
+ ### Test Layering Strategy
590
+
591
+ | Priority | Scope | Examples | Count |
592
+ |----------|-------|----------|-------|
593
+ | **P0** | Quality Framework Core | AntiRationalization, VerificationGate, IntentWorkflowMapper, AuthManager | ~200 |
594
+ | **P1** | Enhancement Modules | FiveAxisConsensus, OperationClassifier, OutputSlicer | ~150 |
595
+ | **P1+** | Cybernetics (V3.6.6) | FeedbackControlLoop, ExecutionGuard, PerformanceFingerprint, etc. | **110** |
596
+ | **P2** | Integration & E2E | Full lifecycle dispatch, cross-module integration | ~200 |
597
+ | **P3** | Unit per Module | Core dispatcher, RoleMapping, MCEAdapter, LLM backends | ~400+ |
598
+
599
+ **Total: 1731 tests**
600
+
601
+ Run by priority:
602
+ ```bash
603
+ # P0 only (critical path, < 10s)
604
+ python3 -m pytest tests/ -k "anti_ratif or verification or intent_workflow or auth" -q
605
+
606
+ # P0 + P1 (quality + enhancement, < 30s)
607
+ python3 -m pytest tests/ -k "anti_ratif or verification or intent or auth or five_axis or operation" -q
608
+
609
+ # Full suite
610
+ python3 -m pytest tests/ -q --tb=line
611
+ ```
612
+
613
+ ---
614
+
615
+ ## 📚 Documentation
616
+
617
+ | Document | Description | Language |
618
+ |----------|-------------|----------|
619
+ | [**QUICKSTART.md**](QUICKSTART.md) | **⭐ 30 秒快速入门指南(推荐新用户)** | 中文 |
620
+ | [SKILL.md](SKILL.md) | 完整技能手册 + 70+ 模块参考 | EN/CN/JP |
621
+ | [GUIDE.md](GUIDE.md) | 完全用户指南 | 中文 |
622
+ | [INSTALL.md](INSTALL.md) | 安装指南 (Unix + Windows) | EN/CN |
623
+ | [EXAMPLES.md](EXAMPLES.md) | 实际使用示例 | EN |
624
+ | [CHANGELOG.md](CHANGELOG.md) | 版本历史记录 | EN |
625
+ | [docs/i18n/README_CN.md](docs/i18n/README_CN.md) | 中文说明 | 中文 |
626
+ | [docs/i18n/README_JP.md](docs/i18n/README_JP.md) | 日本語説明 | 日本語 |
627
+ | [docs/PRD.md](docs/PRD.md) | 产品需求文档 | 中文 |
628
+ | [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) | 技术架构文档 | 中文 |
629
+
630
+ ---
631
+
632
+ ## 🤝 Contributing
633
+
634
+ 1. Fork the repository
635
+ 2. Create feature branch (`git checkout -b feature/amazing-feature`)
636
+ 3. Commit changes (`git commit -m 'Add amazing feature'`)
637
+ 4. Push to branch (`git push origin feature/amazing-feature`)
638
+ 5. Open a Pull Request
639
+
640
+ ---
641
+
642
+ ## 📄 License
643
+
644
+ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
645
+
646
+ ---
647
+
648
+ <p align="center">
649
+ <strong>⭐ 如果 DevSquad 对你有帮助,请给个 Star!⭐</strong>
650
+ <br>
651
+ <em>让更多开发者享受到「AI 团队协作」的力量</em>
652
+ <br>
653
+ <br>
654
+ <strong>🙏 Acknowledgments</strong>
655
+ <br>
656
+ Inspired by <a href="https://github.com/weiransoft/TraeMultiAgentSkill">TraeMultiAgentSkill</a> upstream project
657
+ <br>
658
+ Built with ❤️ by the DevSquad team
659
+ </p>
660
+
661
+ ---
662
+
663
+ *Last updated: 2026-05-23 | Version: V3.6.6*
664
+
665
+ </details>