devsquad 3.6.7__tar.gz → 4.0.0__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.
- {devsquad-3.6.7 → devsquad-4.0.0}/PKG-INFO +70 -37
- {devsquad-3.6.7 → devsquad-4.0.0}/README.md +64 -36
- {devsquad-3.6.7 → devsquad-4.0.0}/devsquad.egg-info/PKG-INFO +70 -37
- devsquad-4.0.0/devsquad.egg-info/SOURCES.txt +354 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/devsquad.egg-info/requires.txt +6 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/pyproject.toml +20 -8
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/api/__init__.py +26 -2
- devsquad-4.0.0/scripts/api/rate_limit.py +299 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/api/routes/dispatch.py +183 -39
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/api/routes/lifecycle.py +96 -23
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/api/routes/metrics.py +5 -2
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/api/routes/metrics_gates.py +83 -37
- devsquad-4.0.0/scripts/api/security.py +428 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/api_server.py +98 -33
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/auth.py +159 -58
- devsquad-4.0.0/scripts/benchmark_async_dispatch.py +124 -0
- devsquad-4.0.0/scripts/benchmark_ponytail_smart.py +435 -0
- devsquad-4.0.0/scripts/benchmark_real_llm.py +151 -0
- devsquad-4.0.0/scripts/check_version_consistency.py +267 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/cli/cli_visual.py +7 -10
- devsquad-4.0.0/scripts/cli.py +486 -0
- devsquad-4.0.0/scripts/cli_dispatch.py +328 -0
- devsquad-4.0.0/scripts/cli_lifecycle.py +209 -0
- devsquad-4.0.0/scripts/cli_utils.py +319 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/__init__.py +104 -16
- devsquad-4.0.0/scripts/collaboration/_version.py +1 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/adaptive_role_selector.py +5 -5
- devsquad-4.0.0/scripts/collaboration/adversarial_verify.py +374 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/agent_briefing.py +79 -10
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/ai_semantic_matcher.py +28 -13
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/anchor_checker.py +20 -4
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/anti_rationalization.py +2 -2
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/async_adapter.py +13 -16
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/async_coordinator.py +89 -55
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/async_llm_backend.py +263 -75
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/audit_logger.py +60 -46
- devsquad-4.0.0/scripts/collaboration/autonomous/__init__.py +39 -0
- devsquad-4.0.0/scripts/collaboration/autonomous/git_driver.py +167 -0
- devsquad-4.0.0/scripts/collaboration/autonomous/loop_controller.py +535 -0
- devsquad-4.0.0/scripts/collaboration/autonomous/notes_memory.py +105 -0
- devsquad-4.0.0/scripts/collaboration/autonomous/run_state.py +120 -0
- devsquad-4.0.0/scripts/collaboration/autonomous/sleep_guard.py +166 -0
- devsquad-4.0.0/scripts/collaboration/autonomous/smart_confirmation.py +179 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/batch_scheduler.py +4 -4
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/cache_interface.py +128 -27
- devsquad-4.0.0/scripts/collaboration/ccr_store.py +253 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/checkpoint_manager.py +144 -9
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/ci_feedback_adapter.py +60 -4
- devsquad-4.0.0/scripts/collaboration/code_graph_query.py +182 -0
- devsquad-4.0.0/scripts/collaboration/code_graph_storage.py +483 -0
- devsquad-4.0.0/scripts/collaboration/code_knowledge_graph.py +346 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/code_map_generator.py +39 -7
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/concern_pack_loader.py +19 -7
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/confidence_score.py +16 -2
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/consensus.py +35 -9
- devsquad-4.0.0/scripts/collaboration/consensus_gate.py +209 -0
- devsquad-4.0.0/scripts/collaboration/constants.py +66 -0
- devsquad-4.0.0/scripts/collaboration/content_cache.py +349 -0
- devsquad-4.0.0/scripts/collaboration/content_crusher.py +327 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/context_compressor.py +173 -10
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/coordinator.py +365 -60
- devsquad-4.0.0/scripts/collaboration/dispatch_audit.py +436 -0
- devsquad-4.0.0/scripts/collaboration/dispatch_component_factory.py +329 -0
- devsquad-4.0.0/scripts/collaboration/dispatch_hooks.py +156 -0
- devsquad-4.0.0/scripts/collaboration/dispatch_lifecycle.py +28 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/dispatch_models.py +42 -4
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/dispatch_performance.py +8 -7
- devsquad-4.0.0/scripts/collaboration/dispatch_pre_steps.py +556 -0
- devsquad-4.0.0/scripts/collaboration/dispatch_rbac.py +290 -0
- devsquad-4.0.0/scripts/collaboration/dispatch_result_assembler.py +197 -0
- devsquad-4.0.0/scripts/collaboration/dispatch_services.py +276 -0
- devsquad-4.0.0/scripts/collaboration/dispatch_steps.py +451 -0
- devsquad-4.0.0/scripts/collaboration/dispatch_steps_base.py +63 -0
- devsquad-4.0.0/scripts/collaboration/dispatch_steps_consensus_mixin.py +144 -0
- devsquad-4.0.0/scripts/collaboration/dispatch_steps_feedback_mixin.py +281 -0
- devsquad-4.0.0/scripts/collaboration/dispatch_steps_quality_mixin.py +228 -0
- devsquad-4.0.0/scripts/collaboration/dispatch_steps_services_mixin.py +69 -0
- devsquad-4.0.0/scripts/collaboration/dispatcher.py +837 -0
- devsquad-4.0.0/scripts/collaboration/dispatcher_async_mixin.py +154 -0
- devsquad-4.0.0/scripts/collaboration/dispatcher_audit_mixin.py +68 -0
- devsquad-4.0.0/scripts/collaboration/dispatcher_base.py +128 -0
- devsquad-4.0.0/scripts/collaboration/dispatcher_error_mixin.py +68 -0
- devsquad-4.0.0/scripts/collaboration/dispatcher_factory.py +38 -0
- devsquad-4.0.0/scripts/collaboration/dispatcher_lifecycle_mixin.py +54 -0
- devsquad-4.0.0/scripts/collaboration/dispatcher_status_mixin.py +118 -0
- devsquad-4.0.0/scripts/collaboration/dispatcher_utils_mixin.py +161 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/dual_layer_context.py +77 -7
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/enhanced_worker.py +214 -45
- devsquad-4.0.0/scripts/collaboration/enterprise_feature.py +288 -0
- devsquad-4.0.0/scripts/collaboration/event_bus.py +42 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/execution_guard.py +3 -3
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/feature_usage_tracker.py +61 -7
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/feedback_control_loop.py +63 -10
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/five_axis_consensus.py +37 -1
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/input_validator.py +70 -4
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/intent_workflow_mapper.py +27 -2
- devsquad-4.0.0/scripts/collaboration/judge_agent.py +904 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/language_parsers.py +160 -11
- devsquad-4.0.0/scripts/collaboration/learned_rule_store.py +201 -0
- devsquad-4.0.0/scripts/collaboration/lifecycle_gate.py +136 -0
- devsquad-4.0.0/scripts/collaboration/lifecycle_protocol.py +246 -0
- devsquad-4.0.0/scripts/collaboration/lifecycle_shortcut_adapter.py +954 -0
- devsquad-4.0.0/scripts/collaboration/lifecycle_shortcut_helpers.py +612 -0
- devsquad-4.0.0/scripts/collaboration/lifecycle_templates.py +205 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/llm_backend.py +309 -63
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/llm_cache.py +103 -62
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/llm_cache_async.py +46 -44
- devsquad-4.0.0/scripts/collaboration/llm_cache_base.py +236 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/llm_retry.py +83 -136
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/llm_retry_async.py +88 -128
- devsquad-4.0.0/scripts/collaboration/llm_retry_base.py +453 -0
- devsquad-4.0.0/scripts/collaboration/loop_engineering/__init__.py +52 -0
- devsquad-4.0.0/scripts/collaboration/loop_engineering/discovery_probe.py +51 -0
- devsquad-4.0.0/scripts/collaboration/loop_engineering/handoff_adapter.py +47 -0
- devsquad-4.0.0/scripts/collaboration/loop_engineering/independent_evaluator.py +57 -0
- devsquad-4.0.0/scripts/collaboration/loop_engineering/kernel.py +211 -0
- devsquad-4.0.0/scripts/collaboration/loop_engineering/loop_scheduler.py +62 -0
- devsquad-4.0.0/scripts/collaboration/loop_engineering/models.py +123 -0
- devsquad-4.0.0/scripts/collaboration/loop_engineering/protocols.py +74 -0
- devsquad-4.0.0/scripts/collaboration/loop_engineering/unified_memory.py +59 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/mce_adapter.py +103 -24
- devsquad-4.0.0/scripts/collaboration/memory_bridge.py +420 -0
- devsquad-4.0.0/scripts/collaboration/memory_claw_source.py +441 -0
- devsquad-4.0.0/scripts/collaboration/memory_forgetting.py +137 -0
- devsquad-4.0.0/scripts/collaboration/memory_index.py +237 -0
- devsquad-4.0.0/scripts/collaboration/memory_query.py +379 -0
- devsquad-4.0.0/scripts/collaboration/memory_serializer.py +425 -0
- devsquad-4.0.0/scripts/collaboration/memory_types.py +243 -0
- devsquad-4.0.0/scripts/collaboration/micro_task_planner.py +861 -0
- devsquad-4.0.0/scripts/collaboration/models.py +63 -0
- devsquad-4.0.0/scripts/collaboration/models_base.py +674 -0
- devsquad-4.0.0/scripts/collaboration/models_dispatch.py +331 -0
- devsquad-4.0.0/scripts/collaboration/models_lifecycle.py +428 -0
- devsquad-4.0.0/scripts/collaboration/multi_host_adapter.py +291 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/multi_level_cache.py +112 -71
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/multi_tenant.py +36 -36
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/null_providers.py +20 -20
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/operation_classifier.py +8 -5
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/output_slicer.py +27 -2
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/performance_fingerprint.py +8 -8
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/performance_monitor.py +27 -16
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/permission_guard.py +44 -5
- devsquad-4.0.0/scripts/collaboration/plugins/__init__.py +23 -0
- devsquad-4.0.0/scripts/collaboration/plugins/hot_loader.py +509 -0
- devsquad-4.0.0/scripts/collaboration/ponytail_rule_injector.py +108 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/prometheus_metrics.py +34 -22
- devsquad-4.0.0/scripts/collaboration/prompt_assembler.py +245 -0
- devsquad-4.0.0/scripts/collaboration/prompt_assembler_base.py +129 -0
- devsquad-4.0.0/scripts/collaboration/prompt_assembler_formatting_mixin.py +329 -0
- devsquad-4.0.0/scripts/collaboration/prompt_assembler_substitution_mixin.py +219 -0
- devsquad-4.0.0/scripts/collaboration/prompt_assembler_template_mixin.py +152 -0
- devsquad-4.0.0/scripts/collaboration/prompt_assembler_validation_mixin.py +213 -0
- devsquad-4.0.0/scripts/collaboration/prompt_dials.py +198 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/protocols.py +88 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/rbac_engine.py +26 -32
- devsquad-4.0.0/scripts/collaboration/redesign_auditor.py +229 -0
- devsquad-4.0.0/scripts/collaboration/redesign_checkers.py +415 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/redis_cache.py +70 -74
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/report_formatter.py +19 -5
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/retrospective.py +101 -12
- devsquad-4.0.0/scripts/collaboration/review_checkers.py +575 -0
- devsquad-4.0.0/scripts/collaboration/role_matcher.py +235 -0
- devsquad-4.0.0/scripts/collaboration/role_skill_loader.py +232 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/rule_collector.py +135 -24
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/scratchpad.py +85 -10
- devsquad-4.0.0/scripts/collaboration/secret_patterns.py +94 -0
- devsquad-4.0.0/scripts/collaboration/severity_router.py +853 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/similar_task_recommender.py +4 -4
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/skill_extractor.py +11 -12
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/skill_registry.py +99 -9
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/skill_storage.py +131 -3
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/skillifier.py +179 -25
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/standardized_role_template.py +1 -1
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/task_completion_checker.py +31 -10
- devsquad-4.0.0/scripts/collaboration/tech_debt_manager.py +963 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/test_quality_guard.py +119 -22
- devsquad-4.0.0/scripts/collaboration/two_stage_review_gate.py +763 -0
- devsquad-4.0.0/scripts/collaboration/ue_test_accessibility_mixin.py +53 -0
- devsquad-4.0.0/scripts/collaboration/ue_test_framework.py +170 -0
- devsquad-4.0.0/scripts/collaboration/ue_test_framework_base.py +424 -0
- devsquad-4.0.0/scripts/collaboration/ue_test_heuristic_mixin.py +236 -0
- devsquad-4.0.0/scripts/collaboration/ue_test_journey_mixin.py +186 -0
- devsquad-4.0.0/scripts/collaboration/ue_test_persona_mixin.py +89 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/unified_gate_engine.py +23 -12
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/usage_tracker.py +3 -3
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/user_friendly_error.py +14 -1
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/verification_gate.py +5 -10
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/warmup_manager.py +171 -26
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/collaboration/worker.py +226 -21
- devsquad-4.0.0/scripts/collaboration/workflow_engine.py +103 -0
- devsquad-4.0.0/scripts/collaboration/workflow_engine_base.py +439 -0
- devsquad-4.0.0/scripts/collaboration/workflow_engine_lifecycle_mixin.py +282 -0
- devsquad-4.0.0/scripts/collaboration/workflow_engine_persistence_mixin.py +122 -0
- devsquad-4.0.0/scripts/collaboration/workflow_engine_state_mixin.py +156 -0
- devsquad-4.0.0/scripts/collaboration/workflow_engine_transition_mixin.py +145 -0
- devsquad-4.0.0/scripts/collaboration/yagni_checker.py +333 -0
- devsquad-4.0.0/scripts/dashboard/__init__.py +68 -0
- devsquad-4.0.0/scripts/dashboard/app.py +121 -0
- devsquad-4.0.0/scripts/dashboard/auth_views.py +118 -0
- devsquad-4.0.0/scripts/dashboard/components.py +368 -0
- devsquad-4.0.0/scripts/dashboard/dag_views.py +386 -0
- devsquad-4.0.0/scripts/dashboard/dispatch_views.py +208 -0
- devsquad-4.0.0/scripts/dashboard/lifecycle_views.py +207 -0
- devsquad-4.0.0/scripts/dashboard/metrics_views.py +172 -0
- devsquad-4.0.0/scripts/dashboard/state.py +31 -0
- devsquad-4.0.0/scripts/dashboard.py +13 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/generate_benchmark_report.py +30 -30
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/history_manager.py +54 -43
- devsquad-4.0.0/scripts/mcp_server.py +577 -0
- devsquad-4.0.0/scripts/qa/__init__.py +25 -0
- devsquad-4.0.0/scripts/qa/models.py +71 -0
- devsquad-4.0.0/scripts/qa/uiux_analyzer.py +530 -0
- devsquad-4.0.0/scripts/qa/visual_regression.py +178 -0
- devsquad-4.0.0/scripts/utils/__init__.py +1 -0
- devsquad-4.0.0/scripts/utils/_find_missing_hints.py +53 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/skills/__init__.py +2 -2
- {devsquad-3.6.7 → devsquad-4.0.0}/skills/dispatch/handler.py +12 -9
- {devsquad-3.6.7 → devsquad-4.0.0}/skills/intent/handler.py +16 -4
- {devsquad-3.6.7 → devsquad-4.0.0}/skills/registry.py +8 -5
- {devsquad-3.6.7 → devsquad-4.0.0}/skills/retrospective/handler.py +13 -10
- {devsquad-3.6.7 → devsquad-4.0.0}/skills/review/handler.py +15 -17
- {devsquad-3.6.7 → devsquad-4.0.0}/skills/security/handler.py +6 -6
- {devsquad-3.6.7 → devsquad-4.0.0}/skills/test/handler.py +7 -4
- devsquad-4.0.0/tests/test_adversarial_verify.py +416 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_agent_briefing.py +6 -4
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_anchor_retrospective.py +7 -7
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_anti_rationalization.py +17 -27
- devsquad-4.0.0/tests/test_api_budget_status_endpoint.py +85 -0
- devsquad-4.0.0/tests/test_api_security.py +792 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_api_server_v362.py +20 -8
- devsquad-4.0.0/tests/test_async_modules.py +265 -0
- devsquad-4.0.0/tests/test_audit_logger.py +253 -0
- devsquad-4.0.0/tests/test_auth_phase5.py +602 -0
- devsquad-4.0.0/tests/test_autonomous.py +1459 -0
- devsquad-4.0.0/tests/test_benchmark_ponytail_smart.py +164 -0
- devsquad-4.0.0/tests/test_ccr_marker_integration.py +203 -0
- devsquad-4.0.0/tests/test_ccr_store.py +281 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_cli_deep_v362.py +16 -16
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_cli_lifecycle.py +7 -7
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_cli_phase5.py +119 -102
- devsquad-4.0.0/tests/test_code_knowledge_graph.py +951 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_collaboration_claw_integration_test.py +13 -17
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_collaboration_context_compressor_test.py +1 -1
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_collaboration_core_test.py +156 -1
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_collaboration_dispatcher_test.py +159 -3
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_collaboration_dispatcher_ux_test.py +17 -27
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_collaboration_e2e_test.py +2 -2
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_collaboration_enhanced_e2e_test.py +14 -17
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_collaboration_llm_retry_test.py +4 -4
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_collaboration_mce_adapter_test.py +1 -1
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_collaboration_memory_bridge_test.py +4 -5
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_collaboration_performance_monitor_test.py +7 -7
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_collaboration_permission_guard_test.py +7 -8
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_collaboration_prompt_optimization_test.py +8 -232
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_collaboration_role_mapping_test.py +3 -3
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_collaboration_skillifier_test.py +1 -1
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_collaboration_test_quality_guard.py +2 -3
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_collaboration_test_quality_guard_test.py +19 -5
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_collaboration_upstream_test.py +2 -2
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_collaboration_warmup_manager_test.py +11 -9
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_comprehensive_integration.py +17 -12
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_confidence_score.py +13 -13
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_config_injection.py +5 -4
- devsquad-4.0.0/tests/test_consensus_gate.py +194 -0
- devsquad-4.0.0/tests/test_content_cache.py +266 -0
- devsquad-4.0.0/tests/test_content_crusher.py +398 -0
- devsquad-4.0.0/tests/test_coordinator_budget_ccr_integration.py +328 -0
- devsquad-4.0.0/tests/test_coordinator_smart_compression.py +331 -0
- devsquad-4.0.0/tests/test_dag_views.py +310 -0
- devsquad-4.0.0/tests/test_dashboard_split.py +102 -0
- devsquad-4.0.0/tests/test_dashboard_ui_e2e.py +367 -0
- devsquad-4.0.0/tests/test_data_backup.py +166 -0
- devsquad-4.0.0/tests/test_dependency_lock.py +66 -0
- devsquad-4.0.0/tests/test_dispatch_audit.py +435 -0
- devsquad-4.0.0/tests/test_dispatch_rbac.py +283 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_dispatcher_phase5_core.py +118 -114
- devsquad-4.0.0/tests/test_docker_deployment.py +97 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_extended_integration.py +1 -1
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_final_integration.py +3 -3
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_full_lifecycle_adapter.py +0 -1
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_history_manager_v362.py +12 -16
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_input_validator_phase5.py +160 -65
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_intent_workflow_mapper.py +1 -1
- devsquad-4.0.0/tests/test_judge_agent.py +633 -0
- devsquad-4.0.0/tests/test_learned_rule_phase4.py +280 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_lifecycle_protocol.py +2 -2
- devsquad-4.0.0/tests/test_llm_auto_fallback.py +335 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_llm_cache_protocol.py +2 -2
- devsquad-4.0.0/tests/test_loop_engineering.py +346 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_mcp_server_v362.py +34 -13
- devsquad-4.0.0/tests/test_memory_benchmarks.py +119 -0
- devsquad-4.0.0/tests/test_micro_task_planner.py +590 -0
- devsquad-4.0.0/tests/test_multi_host_adapter.py +310 -0
- devsquad-4.0.0/tests/test_multi_tenant.py +312 -0
- devsquad-4.0.0/tests/test_node_type_separation.py +231 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_null_providers.py +9 -9
- devsquad-4.0.0/tests/test_performance_benchmarks.py +166 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_performance_fingerprint.py +1 -1
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_performance_monitor_protocol.py +2 -2
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_permission_guard_phase5.py +12 -16
- devsquad-4.0.0/tests/test_phase4_ghost_feature_defense.py +470 -0
- devsquad-4.0.0/tests/test_pipeline_step19_20.py +120 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_plan_c_unified_architecture.py +2 -3
- devsquad-4.0.0/tests/test_plugins_hot_loader.py +660 -0
- devsquad-4.0.0/tests/test_ponytail_rule_injector.py +267 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_production_features.py +26 -137
- devsquad-4.0.0/tests/test_prompt_dials.py +343 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_protocols.py +4 -4
- devsquad-4.0.0/tests/test_qa_integration.py +111 -0
- devsquad-4.0.0/tests/test_qa_uiux_visual_regression.py +574 -0
- devsquad-4.0.0/tests/test_rate_limit.py +447 -0
- devsquad-4.0.0/tests/test_rbac_engine.py +199 -0
- devsquad-4.0.0/tests/test_rbac_fail_closed.py +175 -0
- devsquad-4.0.0/tests/test_redesign_auditor.py +469 -0
- devsquad-4.0.0/tests/test_retry_jitter_strategies.py +171 -0
- devsquad-4.0.0/tests/test_role_skill_loader.py +272 -0
- devsquad-4.0.0/tests/test_severity_router.py +542 -0
- devsquad-4.0.0/tests/test_skill_registry_coverage.py +426 -0
- devsquad-4.0.0/tests/test_skill_security.py +113 -0
- devsquad-4.0.0/tests/test_sleep_guard.py +224 -0
- devsquad-4.0.0/tests/test_start_script.py +156 -0
- devsquad-4.0.0/tests/test_step_node_types.py +141 -0
- devsquad-4.0.0/tests/test_suggested_next_steps.py +96 -0
- devsquad-4.0.0/tests/test_tech_debt_manager.py +529 -0
- devsquad-4.0.0/tests/test_token_budget_compressed_scratchpad.py +323 -0
- devsquad-4.0.0/tests/test_two_stage_review_gate.py +489 -0
- devsquad-4.0.0/tests/test_ue_test_framework.py +447 -0
- devsquad-4.0.0/tests/test_usage_tracker_coverage.py +453 -0
- devsquad-4.0.0/tests/test_v38_integration.py +391 -0
- devsquad-4.0.0/tests/test_v39_e2e.py +1139 -0
- devsquad-4.0.0/tests/test_v39_integration.py +702 -0
- devsquad-4.0.0/tests/test_v39_performance.py +788 -0
- devsquad-4.0.0/tests/test_v4_integration.py +177 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_verification_gate.py +3 -3
- devsquad-4.0.0/tests/test_version.py +84 -0
- devsquad-4.0.0/tests/test_workflow_persistence_coverage.py +327 -0
- devsquad-4.0.0/tests/test_yagni_checker.py +428 -0
- devsquad-3.6.7/devsquad.egg-info/SOURCES.txt +0 -186
- devsquad-3.6.7/scripts/MANUAL_PUBLISHING_GUIDE.md +0 -226
- devsquad-3.6.7/scripts/PUBLISHING_GUIDE.md +0 -208
- devsquad-3.6.7/scripts/RELEASE_NOTES_V3.6.5.md +0 -570
- devsquad-3.6.7/scripts/ai_semantic_matcher.py +0 -512
- devsquad-3.6.7/scripts/alert_manager.py +0 -496
- devsquad-3.6.7/scripts/cli.py +0 -1157
- devsquad-3.6.7/scripts/collaboration/_archived/adaptive_role_selector_test.py +0 -513
- devsquad-3.6.7/scripts/collaboration/_archived/async_integration_example.py +0 -241
- devsquad-3.6.7/scripts/collaboration/_archived/code_quality.py +0 -360
- devsquad-3.6.7/scripts/collaboration/_archived/execution_guard_test.py +0 -555
- devsquad-3.6.7/scripts/collaboration/_archived/feedback_control_loop_test.py +0 -474
- devsquad-3.6.7/scripts/collaboration/_archived/integration_example.py +0 -278
- devsquad-3.6.7/scripts/collaboration/_archived/multi_level_cache.py +0 -703
- devsquad-3.6.7/scripts/collaboration/_archived/similar_task_recommender_test.py +0 -382
- devsquad-3.6.7/scripts/collaboration/_archived/structured_logging.py +0 -365
- devsquad-3.6.7/scripts/collaboration/_version.py +0 -1
- devsquad-3.6.7/scripts/collaboration/config_loader.py +0 -188
- devsquad-3.6.7/scripts/collaboration/dispatcher.py +0 -2047
- devsquad-3.6.7/scripts/collaboration/lifecycle_protocol.py +0 -1437
- devsquad-3.6.7/scripts/collaboration/memory_bridge.py +0 -1681
- devsquad-3.6.7/scripts/collaboration/models.py +0 -1215
- devsquad-3.6.7/scripts/collaboration/prompt_assembler.py +0 -899
- devsquad-3.6.7/scripts/collaboration/prompt_variant_generator.py +0 -467
- devsquad-3.6.7/scripts/collaboration/role_matcher.py +0 -99
- devsquad-3.6.7/scripts/collaboration/role_template_market.py +0 -336
- devsquad-3.6.7/scripts/collaboration/workflow_engine.py +0 -741
- devsquad-3.6.7/scripts/dashboard.py +0 -1077
- devsquad-3.6.7/scripts/mcp_server.py +0 -304
- devsquad-3.6.7/scripts/verify_v361.py +0 -75
- devsquad-3.6.7/skills/test/__init__.py +0 -0
- devsquad-3.6.7/tests/test_auth_phase5.py +0 -333
- {devsquad-3.6.7 → devsquad-4.0.0}/LICENSE +0 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/devsquad.egg-info/dependency_links.txt +0 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/devsquad.egg-info/entry_points.txt +0 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/devsquad.egg-info/top_level.txt +0 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/__init__.py +0 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/api/models.py +0 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/api/routes/__init__.py +0 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/scripts/cli/__init__.py +0 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/setup.cfg +0 -0
- {devsquad-3.6.7/scripts/collaboration/_archived → devsquad-4.0.0/skills/retrospective}/__init__.py +0 -0
- {devsquad-3.6.7/skills/retrospective → devsquad-4.0.0/skills/test}/__init__.py +0 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_ci_feedback_adapter.py +0 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_collaboration_llm_cache_test.py +0 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_five_axis_consensus.py +0 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_operation_classifier.py +0 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_output_slicer.py +0 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_quick_bonus.py +0 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_rule_injection_security.py +0 -0
- {devsquad-3.6.7 → devsquad-4.0.0}/tests/test_standardized_role_template.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: devsquad
|
|
3
|
-
Version:
|
|
3
|
+
Version: 4.0.0
|
|
4
4
|
Summary: Production-Ready Multi-Role AI Task Orchestrator
|
|
5
5
|
Author-email: DevSquad Team <devsquad@example.com>
|
|
6
6
|
License: MIT
|
|
@@ -48,6 +48,8 @@ Requires-Dist: streamlit>=1.28.0; extra == "visualization"
|
|
|
48
48
|
Requires-Dist: jupyter>=1.0; extra == "visualization"
|
|
49
49
|
Provides-Extra: alerts
|
|
50
50
|
Requires-Dist: slack-sdk>=3.21.0; extra == "alerts"
|
|
51
|
+
Provides-Extra: qa
|
|
52
|
+
Requires-Dist: Pillow>=10.0.0; extra == "qa"
|
|
51
53
|
Provides-Extra: dev
|
|
52
54
|
Requires-Dist: pytest>=7.0; extra == "dev"
|
|
53
55
|
Requires-Dist: pytest-asyncio>=0.21; extra == "dev"
|
|
@@ -56,6 +58,7 @@ Requires-Dist: ruff>=0.4.0; extra == "dev"
|
|
|
56
58
|
Requires-Dist: mypy>=1.0; extra == "dev"
|
|
57
59
|
Requires-Dist: black>=23.0; extra == "dev"
|
|
58
60
|
Requires-Dist: flake8>=6.0; extra == "dev"
|
|
61
|
+
Requires-Dist: httpx2>=2.5.0; extra == "dev"
|
|
59
62
|
Provides-Extra: all
|
|
60
63
|
Requires-Dist: openai>=1.0; extra == "all"
|
|
61
64
|
Requires-Dist: anthropic>=0.18; extra == "all"
|
|
@@ -69,6 +72,7 @@ Requires-Dist: pydantic>=2.0; extra == "all"
|
|
|
69
72
|
Requires-Dist: streamlit>=1.28.0; extra == "all"
|
|
70
73
|
Requires-Dist: jupyter>=1.0; extra == "all"
|
|
71
74
|
Requires-Dist: slack-sdk>=3.21.0; extra == "all"
|
|
75
|
+
Requires-Dist: Pillow>=10.0.0; extra == "all"
|
|
72
76
|
Requires-Dist: pytest>=7.0; extra == "all"
|
|
73
77
|
Requires-Dist: pytest-asyncio>=0.21; extra == "all"
|
|
74
78
|
Requires-Dist: pytest-cov>=4.1; extra == "all"
|
|
@@ -76,6 +80,7 @@ Requires-Dist: ruff>=0.4.0; extra == "all"
|
|
|
76
80
|
Requires-Dist: mypy>=1.0; extra == "all"
|
|
77
81
|
Requires-Dist: black>=23.0; extra == "all"
|
|
78
82
|
Requires-Dist: flake8>=6.0; extra == "all"
|
|
83
|
+
Requires-Dist: httpx2>=2.5.0; extra == "all"
|
|
79
84
|
Dynamic: license-file
|
|
80
85
|
|
|
81
86
|
# DevSquad — Multi-Role AI Task Orchestrator
|
|
@@ -83,14 +88,14 @@ Dynamic: license-file
|
|
|
83
88
|
<p align="center">
|
|
84
89
|
<strong>🎯 把「单个 AI 助手」升级成「7 人 AI 专业团队」</strong>
|
|
85
90
|
<br>
|
|
86
|
-
<em>One task → Multi-role AI collaboration → One conclusion |
|
|
91
|
+
<em>One task → Multi-role AI collaboration → One conclusion | V4.0.0 Enterprise Ready</em>
|
|
87
92
|
</p>
|
|
88
93
|
|
|
89
94
|
<p align="center">
|
|
90
|
-
<img alt="Python" src="https://img.shields.io/badge/Python-3.
|
|
95
|
+
<img alt="Python" src="https://img.shields.io/badge/Python-3.10+-blue?logo=python&logoColor=white" />
|
|
91
96
|
<img alt="License" src="https://img.shields.io/badge/License-MIT-green" />
|
|
92
|
-
<img alt="Tests" src="https://img.shields.io/badge/Tests-
|
|
93
|
-
<img alt="Version" src="https://img.shields.io/badge/
|
|
97
|
+
<img alt="Tests" src="https://img.shields.io/badge/Tests-3400%2B%20passing-brightgreen" />
|
|
98
|
+
<img alt="Version" src="https://img.shields.io/badge/V4.0.0-success" />
|
|
94
99
|
<img alt="CI" src="https://img.shields.io/badge/CI-GitHub_Actions-blue?logo=githubactions" />
|
|
95
100
|
<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
101
|
<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" />
|
|
@@ -144,22 +149,30 @@ devsquad run "设计一个安全的用户认证系统" --roles architect,securit
|
|
|
144
149
|
| 复杂系统设计(需要多视角) | **DevSquad 多角色协作** 🎯 |
|
|
145
150
|
| 生产环境自动化流程 | **DevSquad + REST API + Dashboard** 🎯 |
|
|
146
151
|
|
|
147
|
-
📚 **想深入了解?** → [完整快速入门指南](QUICKSTART.md) | [
|
|
152
|
+
📚 **想深入了解?** → [完整快速入门指南](QUICKSTART.md) | [149+ 模块详细参考](SKILL.md)
|
|
148
153
|
|
|
149
154
|
---
|
|
150
155
|
|
|
151
156
|
<details>
|
|
152
157
|
<summary>🔍 点击展开:完整功能介绍与架构详解</summary>
|
|
153
158
|
|
|
154
|
-
## 🚀
|
|
159
|
+
## 🚀 V4.0.0: Loop Engineering + UI/UX 巡检 + Adversarial 验证 + DAG 可视化 + Autonomous + 插件热加载
|
|
155
160
|
|
|
156
|
-
**DevSquad
|
|
161
|
+
**DevSquad V4.0.0** 借鉴上游 TraeMultiAgentSkill v2.7 理念,新增 6 个特性(P1-P3),全面接入 dispatch pipeline,无幽灵功能:
|
|
162
|
+
- **P1-1 Loop Engineering**: Discovery → Handoff → Verification → Persistence → Scheduling 五步闭环
|
|
163
|
+
- **P1-2 UI/UX 巡检**: 4 维度审计(a11y/interaction/layout/ux)+ PIL 像素 diff 视觉回归
|
|
164
|
+
- **P2-1 Adversarial 验证**: 红队攻击 + 蓝队防御 + 裁判仲裁三阶段对抗验证
|
|
165
|
+
- **P2-2 DAG 可视化**: Mermaid / JSON / DOT 三种格式依赖图可视化
|
|
166
|
+
- **P3-1 Autonomous**: plan → dev → verify → fix 4 阶段自主迭代,复用 LoopKernel,不绕过共识门
|
|
167
|
+
- **P3-2 插件热加载**: 三种加载路径 + 路径穿越三层防护 + reload 回滚 + 审计日志
|
|
168
|
+
|
|
169
|
+
3400+ tests passing。
|
|
157
170
|
|
|
158
171
|
---
|
|
159
172
|
|
|
160
|
-
## ⚡ Quick Start (
|
|
173
|
+
## ⚡ Quick Start (5 Ways to Use DevSquad)
|
|
161
174
|
|
|
162
|
-
###
|
|
175
|
+
### Method 1: CLI (Recommended for Beginners)
|
|
163
176
|
|
|
164
177
|
```bash
|
|
165
178
|
# Interactive setup wizard (1-2 minutes)
|
|
@@ -169,7 +182,7 @@ python scripts/cli.py init
|
|
|
169
182
|
devsquad dispatch -t "your task description"
|
|
170
183
|
```
|
|
171
184
|
|
|
172
|
-
###
|
|
185
|
+
### Method 2: Web Dashboard (Recommended for Teams)
|
|
173
186
|
|
|
174
187
|
```bash
|
|
175
188
|
# Start Streamlit dashboard with authentication
|
|
@@ -177,10 +190,10 @@ streamlit run scripts/dashboard.py
|
|
|
177
190
|
|
|
178
191
|
# Open http://localhost:8501
|
|
179
192
|
# Login with default account, then change password immediately.
|
|
180
|
-
# Username: admin Password:
|
|
193
|
+
# Username: admin Password: admin123 (change in production)
|
|
181
194
|
```
|
|
182
195
|
|
|
183
|
-
###
|
|
196
|
+
### Method 3: REST API (Recommended for Integration)
|
|
184
197
|
|
|
185
198
|
```bash
|
|
186
199
|
# Install dependencies
|
|
@@ -193,7 +206,7 @@ uvicorn scripts.api_server:app --host 0.0.0.0 --port 8000 --reload
|
|
|
193
206
|
# Access ReDoc: http://localhost:8000/redoc
|
|
194
207
|
```
|
|
195
208
|
|
|
196
|
-
###
|
|
209
|
+
### Method 4: Python API (Recommended for Developers)
|
|
197
210
|
|
|
198
211
|
```python
|
|
199
212
|
from scripts.collaboration.dispatcher import MultiAgentDispatcher
|
|
@@ -207,6 +220,24 @@ print(result.report)
|
|
|
207
220
|
print(result.consensus)
|
|
208
221
|
```
|
|
209
222
|
|
|
223
|
+
### Method 5: One-Click Startup Script (V3.9.2+)
|
|
224
|
+
|
|
225
|
+
```bash
|
|
226
|
+
# One-click startup — 4 phases: env check → DB init → frontend build → service start
|
|
227
|
+
./scripts/start.sh
|
|
228
|
+
|
|
229
|
+
# Launch Streamlit dashboard instead of API server
|
|
230
|
+
./scripts/start.sh --dashboard
|
|
231
|
+
|
|
232
|
+
# Override API port
|
|
233
|
+
DEVSQUAD_API_PORT=9000 ./scripts/start.sh
|
|
234
|
+
|
|
235
|
+
# Show help
|
|
236
|
+
./scripts/start.sh --help
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
`start.sh` is the unified entry point introduced in V3.9.2 (P0-2). It validates the environment, initializes the database, builds the frontend, and starts the service in one command. Use `requirements.lock` alongside it for reproducible builds (`pip install -r requirements.lock`). V4.0.0 adds Loop Engineering, UI/UX 巡检, Adversarial 验证, DAG 可视化, Autonomous, and 插件热加载.
|
|
240
|
+
|
|
210
241
|
---
|
|
211
242
|
|
|
212
243
|
## 👥 7 Core Roles
|
|
@@ -227,7 +258,7 @@ print(result.consensus)
|
|
|
227
258
|
|
|
228
259
|
## 🏗️ Five Capability Domains (Architecture Overview)
|
|
229
260
|
|
|
230
|
-
DevSquad's
|
|
261
|
+
DevSquad's 149+ modules are organized into **5 capability domains**, each solving a specific problem:
|
|
231
262
|
|
|
232
263
|
### 🎯 Domain 1: Task Orchestration Engine (Core)
|
|
233
264
|
|
|
@@ -280,10 +311,11 @@ User Task → [InputValidator] → [RoleMatcher] → [Coordinator Orchestration]
|
|
|
280
311
|
|--------|---------|------------|
|
|
281
312
|
| **PerformanceMonitor** | P95/P99 response time, CPU/memory tracking, bottleneck detection | Performance tuning |
|
|
282
313
|
| **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 |
|
|
314
|
+
| **AuditLogger** | SHA256 integrity operation logs with CSV/JSON export (Preview) | Compliance auditing |
|
|
315
|
+
| **RBAC Engine** | 15+ fine-grained permissions, 5 roles (SUPER_ADMIN/ADMIN/OPERATOR/ANALYST/VIEWER) (Preview) | Enterprise access control |
|
|
316
|
+
| **Multi-Tenancy Manager** | 3 isolation levels (strict/moderate/shared), tenant-scoped resources (Preview) | Multi-tenant SaaS |
|
|
317
|
+
| **Sensitive Data Masker** | PII detection and masking (email/phone/ID card/credit card), configurable rules (Preview) | Data compliance |
|
|
285
318
|
| **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
319
|
|
|
288
320
|
### 🔌 Domain 5: Integration & Extension
|
|
289
321
|
|
|
@@ -296,7 +328,7 @@ User Task → [InputValidator] → [RoleMatcher] → [Coordinator Orchestration]
|
|
|
296
328
|
| **Dashboard (Streamlit)** | Interactive web dashboard with authentication | Operations team visualization |
|
|
297
329
|
| **MCP Protocol** | Integration with TRAE/Claude Code/Cursor | AI Agent ecosystem |
|
|
298
330
|
| **Docker Support** | Multi-stage build for production deployment | Containerized environments |
|
|
299
|
-
| **GitHub Actions CI** | Python 3.
|
|
331
|
+
| **GitHub Actions CI** | Python 3.10-3.11 matrix testing | CI/CD pipelines |
|
|
300
332
|
|
|
301
333
|
---
|
|
302
334
|
|
|
@@ -393,10 +425,10 @@ All modules are **optional switches** — DevSquad works perfectly without them.
|
|
|
393
425
|
▼ ▼
|
|
394
426
|
┌─────────────────────────────────────────────────────────────┐
|
|
395
427
|
│ Business Logic Layer │
|
|
396
|
-
│ ┌─────────────┐ ┌─────────────┐
|
|
397
|
-
│ │AuthManager │ │
|
|
398
|
-
│ │(RBAC Auth) │ │(
|
|
399
|
-
│ └─────────────┘ └─────────────┘
|
|
428
|
+
│ ┌─────────────┐ ┌─────────────┐ │
|
|
429
|
+
│ │AuthManager │ │HistoryMgr │ │
|
|
430
|
+
│ │(RBAC Auth) │ │(SQLite TSDB)│ │
|
|
431
|
+
│ └─────────────┘ └─────────────┘ │
|
|
400
432
|
│ ┌─────────────────────────────────────────────┐ │
|
|
401
433
|
│ │ LifecycleProtocol (11-Phase Engine) │ │
|
|
402
434
|
│ │ UnifiedGateEngine + CheckpointManager │ │
|
|
@@ -489,7 +521,7 @@ CLI View Layer (6 commands) Core Engine (11 phases)
|
|
|
489
521
|
## 📦 Installation
|
|
490
522
|
|
|
491
523
|
### Prerequisites
|
|
492
|
-
- **Python 3.
|
|
524
|
+
- **Python 3.10+** (3.10, 3.11 supported, tested in CI)
|
|
493
525
|
- **pip** or **pipenv** for package management
|
|
494
526
|
|
|
495
527
|
### Option A: PyPI Install (Recommended)
|
|
@@ -504,7 +536,7 @@ pip install "devsquad[all]" # All optional features
|
|
|
504
536
|
|
|
505
537
|
### Option B: Git Clone + Local Install
|
|
506
538
|
```bash
|
|
507
|
-
git clone https://github.com/
|
|
539
|
+
git clone https://github.com/lulin70/DevSquad.git
|
|
508
540
|
cd DevSquad
|
|
509
541
|
|
|
510
542
|
# Install core package (minimal dependencies)
|
|
@@ -518,11 +550,11 @@ devsquad dispatch -t "Design user authentication system"
|
|
|
518
550
|
```bash
|
|
519
551
|
# Check version
|
|
520
552
|
devsquad --version
|
|
521
|
-
# Expected: devsquad
|
|
553
|
+
# Expected: devsquad 4.0.0
|
|
522
554
|
|
|
523
555
|
# Run tests
|
|
524
556
|
pytest tests/ -v --tb=short
|
|
525
|
-
# Expected:
|
|
557
|
+
# Expected: 2857+ passed
|
|
526
558
|
```
|
|
527
559
|
|
|
528
560
|
---
|
|
@@ -538,7 +570,7 @@ quality_control:
|
|
|
538
570
|
min_quality_score: 85
|
|
539
571
|
|
|
540
572
|
llm:
|
|
541
|
-
backend:
|
|
573
|
+
backend: auto
|
|
542
574
|
base_url: "" # Set via DEVSQUAD_OPENAI_BASE_URL env var
|
|
543
575
|
model: "" # Set via DEVSQUAD_OPENAI_MODEL env var
|
|
544
576
|
timeout: 120
|
|
@@ -547,7 +579,8 @@ llm:
|
|
|
547
579
|
Or use environment variables (higher priority):
|
|
548
580
|
|
|
549
581
|
```bash
|
|
550
|
-
|
|
582
|
+
# Default: auto tries real backends first, then falls back to mock
|
|
583
|
+
export DEVSQUAD_LLM_BACKEND=auto
|
|
551
584
|
export DEVSQUAD_OPENAI_BASE_URL=https://api.openai.com/v1
|
|
552
585
|
export DEVSQUAD_OPENAI_MODEL=gpt-4
|
|
553
586
|
export DEVSQUAD_OPENAI_API_KEY=sk-...
|
|
@@ -557,7 +590,7 @@ export DEVSQUAD_OPENAI_API_KEY=sk-...
|
|
|
557
590
|
|
|
558
591
|
| Variable | Purpose | Default |
|
|
559
592
|
|----------|---------|---------|
|
|
560
|
-
| `DEVSQUAD_LLM_BACKEND` | Default backend type (mock\|trae\|openai\|anthropic\|fallback) | `
|
|
593
|
+
| `DEVSQUAD_LLM_BACKEND` | Default backend type (auto\|mock\|trae\|openai\|anthropic\|fallback) | `auto` |
|
|
561
594
|
| `DEVSQUAD_OPENAI_API_KEY` | OpenAI/MOKA AI API key | None |
|
|
562
595
|
| `DEVSQUAD_OPENAI_BASE_URL` | OpenAI-compatible base URL | None |
|
|
563
596
|
| `DEVSQUAD_OPENAI_MODEL` | OpenAI model name | `gpt-4` |
|
|
@@ -572,14 +605,14 @@ export DEVSQUAD_OPENAI_API_KEY=sk-...
|
|
|
572
605
|
|
|
573
606
|
### Quick Smoke Test (< 30 seconds)
|
|
574
607
|
```bash
|
|
575
|
-
python3 scripts/cli.py --version # Expected: DevSquad
|
|
608
|
+
python3 scripts/cli.py --version # Expected: DevSquad 4.0.0
|
|
576
609
|
python3 scripts/cli.py status # Expected: System ready
|
|
577
610
|
python3 scripts/cli.py roles # Expected: 7 core roles listed
|
|
578
611
|
```
|
|
579
612
|
|
|
580
613
|
### Full Test Suite
|
|
581
614
|
```bash
|
|
582
|
-
# Run all tests (
|
|
615
|
+
# Run all tests (2857+ tests passing)
|
|
583
616
|
python3 -m pytest tests/ -q --tb=line
|
|
584
617
|
|
|
585
618
|
# With coverage report
|
|
@@ -596,7 +629,7 @@ python3 -m pytest tests/ --cov=scripts --cov-report=term-missing
|
|
|
596
629
|
| **P2** | Integration & E2E | Full lifecycle dispatch, cross-module integration | ~200 |
|
|
597
630
|
| **P3** | Unit per Module | Core dispatcher, RoleMapping, MCEAdapter, LLM backends | ~400+ |
|
|
598
631
|
|
|
599
|
-
**Total:
|
|
632
|
+
**Total: 2857+ tests (2864 collected)**
|
|
600
633
|
|
|
601
634
|
Run by priority:
|
|
602
635
|
```bash
|
|
@@ -617,13 +650,13 @@ python3 -m pytest tests/ -q --tb=line
|
|
|
617
650
|
| Document | Description | Language |
|
|
618
651
|
|----------|-------------|----------|
|
|
619
652
|
| [**QUICKSTART.md**](QUICKSTART.md) | **⭐ 30 秒快速入门指南(推荐新用户)** | 中文 |
|
|
620
|
-
| [SKILL.md](SKILL.md) | 完整技能手册 +
|
|
653
|
+
| [SKILL.md](SKILL.md) | 完整技能手册 + 149+ 模块参考 | EN/CN/JP |
|
|
621
654
|
| [GUIDE.md](GUIDE.md) | 完全用户指南 | 中文 |
|
|
622
655
|
| [INSTALL.md](INSTALL.md) | 安装指南 (Unix + Windows) | EN/CN |
|
|
623
656
|
| [EXAMPLES.md](EXAMPLES.md) | 实际使用示例 | EN |
|
|
624
657
|
| [CHANGELOG.md](CHANGELOG.md) | 版本历史记录 | EN |
|
|
625
|
-
| [
|
|
626
|
-
| [
|
|
658
|
+
| [README-CN.md](README-CN.md) | 中文说明 | 中文 |
|
|
659
|
+
| [README-JP.md](README-JP.md) | 日本語説明 | 日本語 |
|
|
627
660
|
| [docs/PRD.md](docs/PRD.md) | 产品需求文档 | 中文 |
|
|
628
661
|
| [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) | 技术架构文档 | 中文 |
|
|
629
662
|
|
|
@@ -660,6 +693,6 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
|
|
|
660
693
|
|
|
661
694
|
---
|
|
662
695
|
|
|
663
|
-
*Last updated: 2026-
|
|
696
|
+
*Last updated: 2026-07-07 | Version: V4.0.0*
|
|
664
697
|
|
|
665
698
|
</details>
|
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
<p align="center">
|
|
4
4
|
<strong>🎯 把「单个 AI 助手」升级成「7 人 AI 专业团队」</strong>
|
|
5
5
|
<br>
|
|
6
|
-
<em>One task → Multi-role AI collaboration → One conclusion |
|
|
6
|
+
<em>One task → Multi-role AI collaboration → One conclusion | V4.0.0 Enterprise Ready</em>
|
|
7
7
|
</p>
|
|
8
8
|
|
|
9
9
|
<p align="center">
|
|
10
|
-
<img alt="Python" src="https://img.shields.io/badge/Python-3.
|
|
10
|
+
<img alt="Python" src="https://img.shields.io/badge/Python-3.10+-blue?logo=python&logoColor=white" />
|
|
11
11
|
<img alt="License" src="https://img.shields.io/badge/License-MIT-green" />
|
|
12
|
-
<img alt="Tests" src="https://img.shields.io/badge/Tests-
|
|
13
|
-
<img alt="Version" src="https://img.shields.io/badge/
|
|
12
|
+
<img alt="Tests" src="https://img.shields.io/badge/Tests-3400%2B%20passing-brightgreen" />
|
|
13
|
+
<img alt="Version" src="https://img.shields.io/badge/V4.0.0-success" />
|
|
14
14
|
<img alt="CI" src="https://img.shields.io/badge/CI-GitHub_Actions-blue?logo=githubactions" />
|
|
15
15
|
<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" />
|
|
16
16
|
<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" />
|
|
@@ -64,22 +64,30 @@ devsquad run "设计一个安全的用户认证系统" --roles architect,securit
|
|
|
64
64
|
| 复杂系统设计(需要多视角) | **DevSquad 多角色协作** 🎯 |
|
|
65
65
|
| 生产环境自动化流程 | **DevSquad + REST API + Dashboard** 🎯 |
|
|
66
66
|
|
|
67
|
-
📚 **想深入了解?** → [完整快速入门指南](QUICKSTART.md) | [
|
|
67
|
+
📚 **想深入了解?** → [完整快速入门指南](QUICKSTART.md) | [149+ 模块详细参考](SKILL.md)
|
|
68
68
|
|
|
69
69
|
---
|
|
70
70
|
|
|
71
71
|
<details>
|
|
72
72
|
<summary>🔍 点击展开:完整功能介绍与架构详解</summary>
|
|
73
73
|
|
|
74
|
-
## 🚀
|
|
74
|
+
## 🚀 V4.0.0: Loop Engineering + UI/UX 巡检 + Adversarial 验证 + DAG 可视化 + Autonomous + 插件热加载
|
|
75
75
|
|
|
76
|
-
**DevSquad
|
|
76
|
+
**DevSquad V4.0.0** 借鉴上游 TraeMultiAgentSkill v2.7 理念,新增 6 个特性(P1-P3),全面接入 dispatch pipeline,无幽灵功能:
|
|
77
|
+
- **P1-1 Loop Engineering**: Discovery → Handoff → Verification → Persistence → Scheduling 五步闭环
|
|
78
|
+
- **P1-2 UI/UX 巡检**: 4 维度审计(a11y/interaction/layout/ux)+ PIL 像素 diff 视觉回归
|
|
79
|
+
- **P2-1 Adversarial 验证**: 红队攻击 + 蓝队防御 + 裁判仲裁三阶段对抗验证
|
|
80
|
+
- **P2-2 DAG 可视化**: Mermaid / JSON / DOT 三种格式依赖图可视化
|
|
81
|
+
- **P3-1 Autonomous**: plan → dev → verify → fix 4 阶段自主迭代,复用 LoopKernel,不绕过共识门
|
|
82
|
+
- **P3-2 插件热加载**: 三种加载路径 + 路径穿越三层防护 + reload 回滚 + 审计日志
|
|
83
|
+
|
|
84
|
+
3400+ tests passing。
|
|
77
85
|
|
|
78
86
|
---
|
|
79
87
|
|
|
80
|
-
## ⚡ Quick Start (
|
|
88
|
+
## ⚡ Quick Start (5 Ways to Use DevSquad)
|
|
81
89
|
|
|
82
|
-
###
|
|
90
|
+
### Method 1: CLI (Recommended for Beginners)
|
|
83
91
|
|
|
84
92
|
```bash
|
|
85
93
|
# Interactive setup wizard (1-2 minutes)
|
|
@@ -89,7 +97,7 @@ python scripts/cli.py init
|
|
|
89
97
|
devsquad dispatch -t "your task description"
|
|
90
98
|
```
|
|
91
99
|
|
|
92
|
-
###
|
|
100
|
+
### Method 2: Web Dashboard (Recommended for Teams)
|
|
93
101
|
|
|
94
102
|
```bash
|
|
95
103
|
# Start Streamlit dashboard with authentication
|
|
@@ -97,10 +105,10 @@ streamlit run scripts/dashboard.py
|
|
|
97
105
|
|
|
98
106
|
# Open http://localhost:8501
|
|
99
107
|
# Login with default account, then change password immediately.
|
|
100
|
-
# Username: admin Password:
|
|
108
|
+
# Username: admin Password: admin123 (change in production)
|
|
101
109
|
```
|
|
102
110
|
|
|
103
|
-
###
|
|
111
|
+
### Method 3: REST API (Recommended for Integration)
|
|
104
112
|
|
|
105
113
|
```bash
|
|
106
114
|
# Install dependencies
|
|
@@ -113,7 +121,7 @@ uvicorn scripts.api_server:app --host 0.0.0.0 --port 8000 --reload
|
|
|
113
121
|
# Access ReDoc: http://localhost:8000/redoc
|
|
114
122
|
```
|
|
115
123
|
|
|
116
|
-
###
|
|
124
|
+
### Method 4: Python API (Recommended for Developers)
|
|
117
125
|
|
|
118
126
|
```python
|
|
119
127
|
from scripts.collaboration.dispatcher import MultiAgentDispatcher
|
|
@@ -127,6 +135,24 @@ print(result.report)
|
|
|
127
135
|
print(result.consensus)
|
|
128
136
|
```
|
|
129
137
|
|
|
138
|
+
### Method 5: One-Click Startup Script (V3.9.2+)
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
# One-click startup — 4 phases: env check → DB init → frontend build → service start
|
|
142
|
+
./scripts/start.sh
|
|
143
|
+
|
|
144
|
+
# Launch Streamlit dashboard instead of API server
|
|
145
|
+
./scripts/start.sh --dashboard
|
|
146
|
+
|
|
147
|
+
# Override API port
|
|
148
|
+
DEVSQUAD_API_PORT=9000 ./scripts/start.sh
|
|
149
|
+
|
|
150
|
+
# Show help
|
|
151
|
+
./scripts/start.sh --help
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
`start.sh` is the unified entry point introduced in V3.9.2 (P0-2). It validates the environment, initializes the database, builds the frontend, and starts the service in one command. Use `requirements.lock` alongside it for reproducible builds (`pip install -r requirements.lock`). V4.0.0 adds Loop Engineering, UI/UX 巡检, Adversarial 验证, DAG 可视化, Autonomous, and 插件热加载.
|
|
155
|
+
|
|
130
156
|
---
|
|
131
157
|
|
|
132
158
|
## 👥 7 Core Roles
|
|
@@ -147,7 +173,7 @@ print(result.consensus)
|
|
|
147
173
|
|
|
148
174
|
## 🏗️ Five Capability Domains (Architecture Overview)
|
|
149
175
|
|
|
150
|
-
DevSquad's
|
|
176
|
+
DevSquad's 149+ modules are organized into **5 capability domains**, each solving a specific problem:
|
|
151
177
|
|
|
152
178
|
### 🎯 Domain 1: Task Orchestration Engine (Core)
|
|
153
179
|
|
|
@@ -200,10 +226,11 @@ User Task → [InputValidator] → [RoleMatcher] → [Coordinator Orchestration]
|
|
|
200
226
|
|--------|---------|------------|
|
|
201
227
|
| **PerformanceMonitor** | P95/P99 response time, CPU/memory tracking, bottleneck detection | Performance tuning |
|
|
202
228
|
| **UsageTracker** | Token/cost usage tracking and reporting | Cost control |
|
|
203
|
-
| **AuditLogger** | SHA256 integrity operation logs with CSV/JSON export | Compliance auditing |
|
|
204
|
-
| **RBAC Engine** | 15+ fine-grained permissions, 5 roles (SUPER_ADMIN/ADMIN/OPERATOR/ANALYST/VIEWER) | Enterprise access control |
|
|
229
|
+
| **AuditLogger** | SHA256 integrity operation logs with CSV/JSON export (Preview) | Compliance auditing |
|
|
230
|
+
| **RBAC Engine** | 15+ fine-grained permissions, 5 roles (SUPER_ADMIN/ADMIN/OPERATOR/ANALYST/VIEWER) (Preview) | Enterprise access control |
|
|
231
|
+
| **Multi-Tenancy Manager** | 3 isolation levels (strict/moderate/shared), tenant-scoped resources (Preview) | Multi-tenant SaaS |
|
|
232
|
+
| **Sensitive Data Masker** | PII detection and masking (email/phone/ID card/credit card), configurable rules (Preview) | Data compliance |
|
|
205
233
|
| **HistoryManager** | SQLite time-series storage: metrics snapshots, alert history, API logs | Retrospective analysis |
|
|
206
|
-
| **AlertManager** | Multi-channel alerting: Console/Slack/Email/Webhook with rate limiting | Production monitoring |
|
|
207
234
|
|
|
208
235
|
### 🔌 Domain 5: Integration & Extension
|
|
209
236
|
|
|
@@ -216,7 +243,7 @@ User Task → [InputValidator] → [RoleMatcher] → [Coordinator Orchestration]
|
|
|
216
243
|
| **Dashboard (Streamlit)** | Interactive web dashboard with authentication | Operations team visualization |
|
|
217
244
|
| **MCP Protocol** | Integration with TRAE/Claude Code/Cursor | AI Agent ecosystem |
|
|
218
245
|
| **Docker Support** | Multi-stage build for production deployment | Containerized environments |
|
|
219
|
-
| **GitHub Actions CI** | Python 3.
|
|
246
|
+
| **GitHub Actions CI** | Python 3.10-3.11 matrix testing | CI/CD pipelines |
|
|
220
247
|
|
|
221
248
|
---
|
|
222
249
|
|
|
@@ -313,10 +340,10 @@ All modules are **optional switches** — DevSquad works perfectly without them.
|
|
|
313
340
|
▼ ▼
|
|
314
341
|
┌─────────────────────────────────────────────────────────────┐
|
|
315
342
|
│ Business Logic Layer │
|
|
316
|
-
│ ┌─────────────┐ ┌─────────────┐
|
|
317
|
-
│ │AuthManager │ │
|
|
318
|
-
│ │(RBAC Auth) │ │(
|
|
319
|
-
│ └─────────────┘ └─────────────┘
|
|
343
|
+
│ ┌─────────────┐ ┌─────────────┐ │
|
|
344
|
+
│ │AuthManager │ │HistoryMgr │ │
|
|
345
|
+
│ │(RBAC Auth) │ │(SQLite TSDB)│ │
|
|
346
|
+
│ └─────────────┘ └─────────────┘ │
|
|
320
347
|
│ ┌─────────────────────────────────────────────┐ │
|
|
321
348
|
│ │ LifecycleProtocol (11-Phase Engine) │ │
|
|
322
349
|
│ │ UnifiedGateEngine + CheckpointManager │ │
|
|
@@ -409,7 +436,7 @@ CLI View Layer (6 commands) Core Engine (11 phases)
|
|
|
409
436
|
## 📦 Installation
|
|
410
437
|
|
|
411
438
|
### Prerequisites
|
|
412
|
-
- **Python 3.
|
|
439
|
+
- **Python 3.10+** (3.10, 3.11 supported, tested in CI)
|
|
413
440
|
- **pip** or **pipenv** for package management
|
|
414
441
|
|
|
415
442
|
### Option A: PyPI Install (Recommended)
|
|
@@ -424,7 +451,7 @@ pip install "devsquad[all]" # All optional features
|
|
|
424
451
|
|
|
425
452
|
### Option B: Git Clone + Local Install
|
|
426
453
|
```bash
|
|
427
|
-
git clone https://github.com/
|
|
454
|
+
git clone https://github.com/lulin70/DevSquad.git
|
|
428
455
|
cd DevSquad
|
|
429
456
|
|
|
430
457
|
# Install core package (minimal dependencies)
|
|
@@ -438,11 +465,11 @@ devsquad dispatch -t "Design user authentication system"
|
|
|
438
465
|
```bash
|
|
439
466
|
# Check version
|
|
440
467
|
devsquad --version
|
|
441
|
-
# Expected: devsquad
|
|
468
|
+
# Expected: devsquad 4.0.0
|
|
442
469
|
|
|
443
470
|
# Run tests
|
|
444
471
|
pytest tests/ -v --tb=short
|
|
445
|
-
# Expected:
|
|
472
|
+
# Expected: 2857+ passed
|
|
446
473
|
```
|
|
447
474
|
|
|
448
475
|
---
|
|
@@ -458,7 +485,7 @@ quality_control:
|
|
|
458
485
|
min_quality_score: 85
|
|
459
486
|
|
|
460
487
|
llm:
|
|
461
|
-
backend:
|
|
488
|
+
backend: auto
|
|
462
489
|
base_url: "" # Set via DEVSQUAD_OPENAI_BASE_URL env var
|
|
463
490
|
model: "" # Set via DEVSQUAD_OPENAI_MODEL env var
|
|
464
491
|
timeout: 120
|
|
@@ -467,7 +494,8 @@ llm:
|
|
|
467
494
|
Or use environment variables (higher priority):
|
|
468
495
|
|
|
469
496
|
```bash
|
|
470
|
-
|
|
497
|
+
# Default: auto tries real backends first, then falls back to mock
|
|
498
|
+
export DEVSQUAD_LLM_BACKEND=auto
|
|
471
499
|
export DEVSQUAD_OPENAI_BASE_URL=https://api.openai.com/v1
|
|
472
500
|
export DEVSQUAD_OPENAI_MODEL=gpt-4
|
|
473
501
|
export DEVSQUAD_OPENAI_API_KEY=sk-...
|
|
@@ -477,7 +505,7 @@ export DEVSQUAD_OPENAI_API_KEY=sk-...
|
|
|
477
505
|
|
|
478
506
|
| Variable | Purpose | Default |
|
|
479
507
|
|----------|---------|---------|
|
|
480
|
-
| `DEVSQUAD_LLM_BACKEND` | Default backend type (mock\|trae\|openai\|anthropic\|fallback) | `
|
|
508
|
+
| `DEVSQUAD_LLM_BACKEND` | Default backend type (auto\|mock\|trae\|openai\|anthropic\|fallback) | `auto` |
|
|
481
509
|
| `DEVSQUAD_OPENAI_API_KEY` | OpenAI/MOKA AI API key | None |
|
|
482
510
|
| `DEVSQUAD_OPENAI_BASE_URL` | OpenAI-compatible base URL | None |
|
|
483
511
|
| `DEVSQUAD_OPENAI_MODEL` | OpenAI model name | `gpt-4` |
|
|
@@ -492,14 +520,14 @@ export DEVSQUAD_OPENAI_API_KEY=sk-...
|
|
|
492
520
|
|
|
493
521
|
### Quick Smoke Test (< 30 seconds)
|
|
494
522
|
```bash
|
|
495
|
-
python3 scripts/cli.py --version # Expected: DevSquad
|
|
523
|
+
python3 scripts/cli.py --version # Expected: DevSquad 4.0.0
|
|
496
524
|
python3 scripts/cli.py status # Expected: System ready
|
|
497
525
|
python3 scripts/cli.py roles # Expected: 7 core roles listed
|
|
498
526
|
```
|
|
499
527
|
|
|
500
528
|
### Full Test Suite
|
|
501
529
|
```bash
|
|
502
|
-
# Run all tests (
|
|
530
|
+
# Run all tests (2857+ tests passing)
|
|
503
531
|
python3 -m pytest tests/ -q --tb=line
|
|
504
532
|
|
|
505
533
|
# With coverage report
|
|
@@ -516,7 +544,7 @@ python3 -m pytest tests/ --cov=scripts --cov-report=term-missing
|
|
|
516
544
|
| **P2** | Integration & E2E | Full lifecycle dispatch, cross-module integration | ~200 |
|
|
517
545
|
| **P3** | Unit per Module | Core dispatcher, RoleMapping, MCEAdapter, LLM backends | ~400+ |
|
|
518
546
|
|
|
519
|
-
**Total:
|
|
547
|
+
**Total: 2857+ tests (2864 collected)**
|
|
520
548
|
|
|
521
549
|
Run by priority:
|
|
522
550
|
```bash
|
|
@@ -537,13 +565,13 @@ python3 -m pytest tests/ -q --tb=line
|
|
|
537
565
|
| Document | Description | Language |
|
|
538
566
|
|----------|-------------|----------|
|
|
539
567
|
| [**QUICKSTART.md**](QUICKSTART.md) | **⭐ 30 秒快速入门指南(推荐新用户)** | 中文 |
|
|
540
|
-
| [SKILL.md](SKILL.md) | 完整技能手册 +
|
|
568
|
+
| [SKILL.md](SKILL.md) | 完整技能手册 + 149+ 模块参考 | EN/CN/JP |
|
|
541
569
|
| [GUIDE.md](GUIDE.md) | 完全用户指南 | 中文 |
|
|
542
570
|
| [INSTALL.md](INSTALL.md) | 安装指南 (Unix + Windows) | EN/CN |
|
|
543
571
|
| [EXAMPLES.md](EXAMPLES.md) | 实际使用示例 | EN |
|
|
544
572
|
| [CHANGELOG.md](CHANGELOG.md) | 版本历史记录 | EN |
|
|
545
|
-
| [
|
|
546
|
-
| [
|
|
573
|
+
| [README-CN.md](README-CN.md) | 中文说明 | 中文 |
|
|
574
|
+
| [README-JP.md](README-JP.md) | 日本語説明 | 日本語 |
|
|
547
575
|
| [docs/PRD.md](docs/PRD.md) | 产品需求文档 | 中文 |
|
|
548
576
|
| [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) | 技术架构文档 | 中文 |
|
|
549
577
|
|
|
@@ -580,6 +608,6 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
|
|
|
580
608
|
|
|
581
609
|
---
|
|
582
610
|
|
|
583
|
-
*Last updated: 2026-
|
|
611
|
+
*Last updated: 2026-07-07 | Version: V4.0.0*
|
|
584
612
|
|
|
585
613
|
</details>
|