misterdev 0.3.1__tar.gz → 0.4.1__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.
- {misterdev-0.3.1/misterdev.egg-info → misterdev-0.4.1}/PKG-INFO +4 -3
- {misterdev-0.3.1 → misterdev-0.4.1}/README.md +3 -2
- misterdev-0.4.1/man/misterdev.1 +142 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/__init__.py +1 -1
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/agent.py +366 -30
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/agent_helpers.py +88 -14
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/cli.py +60 -3
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/config.py +66 -7
- misterdev-0.4.1/misterdev/core/context/localizer.py +254 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/context/topography/engine.py +17 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/economics/context_budget.py +1 -1
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/evolution/__init__.py +33 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/evolution/driver.py +17 -1
- misterdev-0.4.1/misterdev/core/evolution/paired.py +147 -0
- misterdev-0.4.1/misterdev/core/evolution/partial_credit.py +123 -0
- misterdev-0.4.1/misterdev/core/evolution/tool_corpus.py +199 -0
- misterdev-0.4.1/misterdev/core/evolution/tool_invention.py +140 -0
- misterdev-0.4.1/misterdev/core/evolution/tool_promotion.py +101 -0
- misterdev-0.4.1/misterdev/core/evolution/tool_runner.py +167 -0
- misterdev-0.4.1/misterdev/core/execution/blocker.py +98 -0
- misterdev-0.4.1/misterdev/core/execution/deferral.py +97 -0
- misterdev-0.4.1/misterdev/core/execution/early_abort.py +98 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/execution/progress.py +23 -21
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/execution/project.py +103 -8
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/execution/registry.py +26 -12
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/integration/mcp.py +145 -20
- misterdev-0.4.1/misterdev/core/integration/mcp_catalog.py +337 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/integration/mcp_gather.py +125 -4
- misterdev-0.4.1/misterdev/core/integration/mcp_registry.py +927 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/learning/reproduction.py +21 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/models.py +4 -1
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/planning/assessment.py +1 -0
- misterdev-0.4.1/misterdev/core/planning/requirements.py +274 -0
- misterdev-0.4.1/misterdev/core/planning/tasklist_parser.py +587 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/task.py +45 -1
- misterdev-0.4.1/misterdev/core/verification/changed_region_mutation.py +191 -0
- misterdev-0.4.1/misterdev/core/verification/flaky.py +194 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/verification/gatekeeper/__init__.py +41 -2
- misterdev-0.4.1/misterdev/core/verification/held_out_oracle.py +128 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/verification/independent.py +9 -4
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/verification/validator.py +39 -0
- misterdev-0.4.1/misterdev/interactive.py +158 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/llm/client/__init__.py +2 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/llm/client/providers.py +22 -2
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/task_executors/markdown_plan_executor/context_mixin.py +170 -2
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/task_executors/markdown_plan_executor/edits_mixin.py +158 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/task_executors/markdown_plan_executor/execute_mixin.py +202 -6
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/task_executors/markdown_plan_executor/gates_mixin.py +41 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/task_executors/markdown_plan_executor/helpers.py +40 -0
- misterdev-0.4.1/misterdev/task_executors/markdown_plan_executor/results_mixin.py +100 -0
- {misterdev-0.3.1 → misterdev-0.4.1/misterdev.egg-info}/PKG-INFO +4 -3
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev.egg-info/SOURCES.txt +38 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/pyproject.toml +5 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_agent_helpers.py +65 -0
- misterdev-0.4.1/tests/test_changed_region_mutation.py +173 -0
- misterdev-0.4.1/tests/test_deferral.py +235 -0
- misterdev-0.4.1/tests/test_early_abort.py +59 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_executor.py +290 -2
- misterdev-0.4.1/tests/test_flaky.py +105 -0
- misterdev-0.4.1/tests/test_held_out_oracle.py +73 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_integration_gate_count.py +141 -12
- misterdev-0.4.1/tests/test_interactive.py +102 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_llm_client.py +24 -0
- misterdev-0.4.1/tests/test_localizer.py +135 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_mcp.py +289 -5
- misterdev-0.4.1/tests/test_mcp_registry.py +388 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_mcp_remote.py +3 -3
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_model_selector.py +38 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_modes.py +46 -0
- misterdev-0.4.1/tests/test_no_output_forgiveness.py +87 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_orchestrator_fixes.py +25 -11
- misterdev-0.4.1/tests/test_paired.py +84 -0
- misterdev-0.4.1/tests/test_partial_credit.py +74 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_registry.py +18 -0
- misterdev-0.4.1/tests/test_requirements.py +203 -0
- misterdev-0.4.1/tests/test_runtime_tooling_wiring.py +74 -0
- misterdev-0.4.1/tests/test_tasklist_parser.py +302 -0
- misterdev-0.4.1/tests/test_tool_capture_wiring.py +92 -0
- misterdev-0.4.1/tests/test_tool_corpus.py +79 -0
- misterdev-0.4.1/tests/test_tool_invention.py +119 -0
- misterdev-0.4.1/tests/test_tool_promotion.py +77 -0
- misterdev-0.4.1/tests/test_tool_runner.py +133 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_validator.py +15 -0
- misterdev-0.3.1/misterdev/task_executors/markdown_plan_executor/results_mixin.py +0 -23
- {misterdev-0.3.1 → misterdev-0.4.1}/COMMERCIAL_LICENSE.md +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/LICENSE +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/analyzers/__init__.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/analyzers/project_analyzer/__init__.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/analyzers/project_analyzer/detection.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/analyzers/project_analyzer/merge.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/analyzers/project_analyzer/overview.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/analyzers/project_analyzer/prompts.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/__init__.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/audit.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/config.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/context/__init__.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/context/change_tracker.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/context/contracts/__init__.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/context/contracts/_log.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/context/contracts/_text.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/context/contracts/c_tree_sitter.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/context/contracts/cpp_tree_sitter.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/context/contracts/csharp_tree_sitter.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/context/contracts/extraction.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/context/contracts/javascript_tree_sitter.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/context/contracts/kotlin_tree_sitter.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/context/contracts/python_generic.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/context/contracts/registry.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/context/contracts/rust_line.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/context/contracts/rust_tree_sitter.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/context/contracts/swift_tree_sitter.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/context/contracts/typescript_tree_sitter.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/context/guidance/__init__.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/context/guidance/_rules.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/context/guidance/cpp.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/context/guidance/csharp.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/context/guidance/css.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/context/guidance/elixir.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/context/guidance/html.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/context/guidance/kotlin.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/context/guidance/python.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/context/guidance/react.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/context/guidance/rust.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/context/guidance/swift.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/context/guidance/typescript.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/context/lsp.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/context/lsp_swift.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/context/scratchpad.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/context/topography/__init__.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/context/topography/_log.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/context/topography/cache.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/context/topography/graph.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/context/topography/nodes.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/context/topography/parsers.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/context/topography/syntax.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/economics/__init__.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/economics/embeddings.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/economics/free_models.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/economics/llm_cache.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/economics/model_catalog.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/economics/model_ledger.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/economics/model_selector.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/evolution/__main__.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/evolution/adapters.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/evolution/archive.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/evolution/attribution.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/evolution/fitness.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/evolution/guardrail.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/evolution/holdout.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/evolution/loop.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/evolution/prior.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/evolution/proposer.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/evolution/sandbox.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/evolution/screen.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/evolution/tool_library.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/execution/__init__.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/execution/bounded.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/execution/compile_view.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/execution/container.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/execution/error_classifier.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/execution/error_log_compressor.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/execution/error_resolver.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/execution/failure_view.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/execution/governance.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/execution/outcomes.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/execution/probe.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/execution/runtime.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/gitcmd.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/integration/__init__.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/learning/__init__.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/learning/failure_log.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/learning/failure_taxonomy.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/learning/targeting.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/learning/warm_start.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/modes.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/planning/__init__.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/planning/advisor.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/planning/decomposer.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/planning/lesson_store.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/planning/metacognition.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/planning/sovereign.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/planning/targets.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/planning/verifier_decomposition.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/reporting/__init__.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/reporting/report.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/reporting/report_view.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/verification/__init__.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/verification/claim_verifier.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/verification/critic.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/verification/gatekeeper/constants.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/verification/gatekeeper/helpers.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/verification/goal_check.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/verification/mutation_gate.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/verification/preflight.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/verification/reflection.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/verification/spec_tests.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/verification/vision_verify.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/core/verification/web_verify.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/environments/__init__.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/environments/base_env.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/environments/container_env.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/environments/venv_env.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/llm/__init__.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/llm/client/base.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/llm/client/edits.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/llm/client/embeddings.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/llm/client/errors.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/llm/client/response.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/llm/prompt_manager.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/llm/responses/__init__.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/llm/responses/apply.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/llm/responses/json_extract.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/llm/responses/models.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/llm/responses/parsing.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/logging_setup.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/mcp_server.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/nl_cli.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/plugins.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/py.typed +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/task_executors/__init__.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/task_executors/base_executor.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/task_executors/markdown_plan_executor/__init__.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/task_executors/markdown_plan_executor/commands_mixin.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/task_executors/markdown_plan_executor/critic_spec_mixin.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/task_executors/markdown_plan_executor/git_mixin.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/task_executors/markdown_plan_executor/llm_mixin.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/tools/__init__.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/tools/base_tool.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/tools/command.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/tools/dependency.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/tools/file_io.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/tools/formatter.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/tools/git_tool.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/utils/__init__.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/utils/file_utils.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev/utils/process.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev.egg-info/dependency_links.txt +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev.egg-info/entry_points.txt +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev.egg-info/requires.txt +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/misterdev.egg-info/top_level.txt +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/setup.cfg +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_advisor.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_assessment.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_audit.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_audit_gate.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_bounded.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_budget_halt.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_change_tracker.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_claim_verifier.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_command_tool.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_compile_view.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_config.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_container.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_context_budget.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_contracts.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_contracts_c.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_contracts_cpp.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_contracts_csharp_ts.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_contracts_javascript.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_contracts_kotlin.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_contracts_swift.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_contracts_typescript.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_critic.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_decomposer.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_dependency_tool.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_detect_lint_deps.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_dynamic_model_integration.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_embeddings.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_error_classifier.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_error_log_compressor.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_error_resolver.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_evolution_adapters.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_evolution_archive.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_evolution_attribution.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_evolution_driver.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_evolution_fitness.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_evolution_guardrail.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_evolution_holdout.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_evolution_holdout_wiring.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_evolution_loop.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_evolution_prior.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_evolution_proposer.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_evolution_sandbox.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_evolution_screen.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_executor_git.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_extensibility.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_failure_log.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_failure_targeting.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_failure_taxonomy.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_failure_view.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_file_utils.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_free_models.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_gatekeeper.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_gates_error_context.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_gitcmd.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_goal_check.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_goal_check_wiring.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_governance.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_grounded_spec.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_guidance.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_guidance_cpp.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_guidance_csharp.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_guidance_css.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_guidance_elixir.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_guidance_html.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_guidance_kotlin.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_guidance_python.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_guidance_react.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_guidance_rust.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_guidance_swift.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_guidance_typescript.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_hms_integration.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_independent.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_learning_semantic.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_lesson_efficacy.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_lesson_store.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_llm_cache.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_lsp.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_lsp_context.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_lsp_integration.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_lsp_swift.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_mcp_server.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_metacognition.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_model_catalog.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_model_ledger.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_mutation_gate.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_native_harness.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_nl_cli.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_orchestrator_config.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_outcomes.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_plugins.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_polyglot_harness.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_preflight.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_probe.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_process.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_progress.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_prompt_manager.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_reflection.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_report.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_report_view.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_reproduction_corpus.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_responses.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_runtime.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_scratchpad.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_security.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_sovereign.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_spec_tests.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_swebench_harness.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_targets.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_task_manager.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_tool_library.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_topography.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_topography_cache.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_verifier_decomposition.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_vision_verify.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_web_verify.py +0 -0
- {misterdev-0.3.1 → misterdev-0.4.1}/tests/test_wiring_probe_staging.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: misterdev
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.4.1
|
|
4
4
|
Summary: An autonomous, extensible LLM build orchestrator that plans, edits, and verifies code across languages.
|
|
5
5
|
Author-email: David Condrey <david@writerslogic.com>
|
|
6
6
|
License-Expression: AGPL-3.0-or-later
|
|
@@ -51,6 +51,7 @@ Provides-Extra: mcp
|
|
|
51
51
|
Requires-Dist: mcp>=1.0.0; extra == "mcp"
|
|
52
52
|
Dynamic: license-file
|
|
53
53
|
|
|
54
|
+
<!-- mcp-name: io.github.dcondrey/misterdev -->
|
|
54
55
|
<p align="center">
|
|
55
56
|
<img src="https://raw.githubusercontent.com/dcondrey/misterdev/main/assets/logo.gif" alt="misterdev" width="220">
|
|
56
57
|
</p>
|
|
@@ -150,7 +151,7 @@ misterdev keeps a durable, fingerprinted stream of its own real failures and run
|
|
|
150
151
|
|
|
151
152
|
On the correctness side, misterdev works **reproduction-first**: for an issue-driven task it synthesizes a failing test from the acceptance criteria, **validates that the test actually fails on the clean tree** (a test that reproduces nothing is discarded rather than trusted), then drives the fix to turn it green — so the model edits toward a concrete, verified target instead of a description.
|
|
152
153
|
|
|
153
|
-
**Two-timescale evolution** *(
|
|
154
|
+
**Two-timescale evolution** *(built; opt-in via `orchestrator.runtime_tooling`; see [docs/two-timescale-evolution.md](docs/two-timescale-evolution.md))* takes the self-improvement further than a memoryless runtime agent can. At **runtime**, the model may author a small task-specific helper tool that runs **sandboxed** (a hardened, network-less container — untrusted code never touches the host or the repo, and with no container engine the capability degrades off); its output feeds the edit. Every invented tool is then captured with the task's outcome into a **tool corpus** — a free byproduct of normal runs — and a deliberate promotion pass admits the tools whose success **generalizes** on a held-out task split (baseline drawn from the reproduction corpus) into a **persistent, best-per-capability tool library that future runs start from**. Fast loop invents; slow loop keeps only the winners; the same held-out gate that guards scaffold self-edits keeps the library general rather than benchmark-overfit. Capability **compounds across runs** instead of being reinvented each task — the memory the current top open-source scaffolds lack. Run the promotion pass with `python -m misterdev.core.evolution.tool_promotion <project>`.
|
|
154
155
|
|
|
155
156
|
### Extensibility
|
|
156
157
|
|
|
@@ -170,7 +171,7 @@ Gate-verified pass@1 on [Aider's polyglot benchmark](https://github.com/Aider-AI
|
|
|
170
171
|
| Python | 8 / 10 | **80%** |
|
|
171
172
|
| Rust | 7 / 10 | **70%** |
|
|
172
173
|
|
|
173
|
-
A continuous stress run has solved **20/20** across the three languages with zero failures — including the exercises usually cited as hard (bowling, forth, arbitrary-precision decimal). Every solve is judged by the exercise's own hidden tests, not the model's say-so. Full numbers, methodology, and how to reproduce: **[docs/benchmark-results.md](docs/benchmark-results.md)**. Test suite: **1,
|
|
174
|
+
A continuous stress run has solved **20/20** across the three languages with zero failures — including the exercises usually cited as hard (bowling, forth, arbitrary-precision decimal). Every solve is judged by the exercise's own hidden tests, not the model's say-so. Full numbers, methodology, and how to reproduce: **[docs/benchmark-results.md](docs/benchmark-results.md)**. Test suite: **1,941 passing** — **[docs/TESTING.md](docs/TESTING.md)**.
|
|
174
175
|
|
|
175
176
|
## CLI reference
|
|
176
177
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
<!-- mcp-name: io.github.dcondrey/misterdev -->
|
|
1
2
|
<p align="center">
|
|
2
3
|
<img src="https://raw.githubusercontent.com/dcondrey/misterdev/main/assets/logo.gif" alt="misterdev" width="220">
|
|
3
4
|
</p>
|
|
@@ -97,7 +98,7 @@ misterdev keeps a durable, fingerprinted stream of its own real failures and run
|
|
|
97
98
|
|
|
98
99
|
On the correctness side, misterdev works **reproduction-first**: for an issue-driven task it synthesizes a failing test from the acceptance criteria, **validates that the test actually fails on the clean tree** (a test that reproduces nothing is discarded rather than trusted), then drives the fix to turn it green — so the model edits toward a concrete, verified target instead of a description.
|
|
99
100
|
|
|
100
|
-
**Two-timescale evolution** *(
|
|
101
|
+
**Two-timescale evolution** *(built; opt-in via `orchestrator.runtime_tooling`; see [docs/two-timescale-evolution.md](docs/two-timescale-evolution.md))* takes the self-improvement further than a memoryless runtime agent can. At **runtime**, the model may author a small task-specific helper tool that runs **sandboxed** (a hardened, network-less container — untrusted code never touches the host or the repo, and with no container engine the capability degrades off); its output feeds the edit. Every invented tool is then captured with the task's outcome into a **tool corpus** — a free byproduct of normal runs — and a deliberate promotion pass admits the tools whose success **generalizes** on a held-out task split (baseline drawn from the reproduction corpus) into a **persistent, best-per-capability tool library that future runs start from**. Fast loop invents; slow loop keeps only the winners; the same held-out gate that guards scaffold self-edits keeps the library general rather than benchmark-overfit. Capability **compounds across runs** instead of being reinvented each task — the memory the current top open-source scaffolds lack. Run the promotion pass with `python -m misterdev.core.evolution.tool_promotion <project>`.
|
|
101
102
|
|
|
102
103
|
### Extensibility
|
|
103
104
|
|
|
@@ -117,7 +118,7 @@ Gate-verified pass@1 on [Aider's polyglot benchmark](https://github.com/Aider-AI
|
|
|
117
118
|
| Python | 8 / 10 | **80%** |
|
|
118
119
|
| Rust | 7 / 10 | **70%** |
|
|
119
120
|
|
|
120
|
-
A continuous stress run has solved **20/20** across the three languages with zero failures — including the exercises usually cited as hard (bowling, forth, arbitrary-precision decimal). Every solve is judged by the exercise's own hidden tests, not the model's say-so. Full numbers, methodology, and how to reproduce: **[docs/benchmark-results.md](docs/benchmark-results.md)**. Test suite: **1,
|
|
121
|
+
A continuous stress run has solved **20/20** across the three languages with zero failures — including the exercises usually cited as hard (bowling, forth, arbitrary-precision decimal). Every solve is judged by the exercise's own hidden tests, not the model's say-so. Full numbers, methodology, and how to reproduce: **[docs/benchmark-results.md](docs/benchmark-results.md)**. Test suite: **1,941 passing** — **[docs/TESTING.md](docs/TESTING.md)**.
|
|
121
122
|
|
|
122
123
|
## CLI reference
|
|
123
124
|
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
.TH MISTERDEV 1 "2026-07-11" "misterdev" "User Commands"
|
|
2
|
+
.SH NAME
|
|
3
|
+
misterdev \- autonomous LLM build orchestrator
|
|
4
|
+
.SH SYNOPSIS
|
|
5
|
+
.B misterdev
|
|
6
|
+
[\fIcommand\fR] [\fIoptions\fR]
|
|
7
|
+
.br
|
|
8
|
+
.B misterdev
|
|
9
|
+
\(dq\fIplain-english request\fR\(dq
|
|
10
|
+
.br
|
|
11
|
+
.B misterdev
|
|
12
|
+
.SH DESCRIPTION
|
|
13
|
+
.B misterdev
|
|
14
|
+
points a large language model at a repository and a goal, reads the codebase as
|
|
15
|
+
a symbol graph, decomposes the goal into ordered tasks, edits code with anchored
|
|
16
|
+
SEARCH/REPLACE hunks, and runs every change through correctness gates (build,
|
|
17
|
+
lint, tests, typecheck) before reporting done. A change that regresses the test
|
|
18
|
+
suite is reverted through git; nothing merges unless it stays green.
|
|
19
|
+
.PP
|
|
20
|
+
There are three ways to drive it, from most guided to most explicit:
|
|
21
|
+
.TP
|
|
22
|
+
.B Interactive
|
|
23
|
+
Run
|
|
24
|
+
.B misterdev
|
|
25
|
+
with no arguments (or
|
|
26
|
+
.BR "misterdev i" )
|
|
27
|
+
for a guided menu \(em pick an action, answer a couple of prompts, confirm.
|
|
28
|
+
Nothing to memorize.
|
|
29
|
+
.TP
|
|
30
|
+
.B Natural language
|
|
31
|
+
If the first argument is not a known command, the whole line is treated as plain
|
|
32
|
+
English:
|
|
33
|
+
.B misterdev
|
|
34
|
+
maps it to an action with its own model, previews it, and asks before anything
|
|
35
|
+
mutating.
|
|
36
|
+
.TP
|
|
37
|
+
.B Flags
|
|
38
|
+
The subcommands and options below, for scripts and power users.
|
|
39
|
+
.SH COMMANDS
|
|
40
|
+
.TP
|
|
41
|
+
.BR interactive ", " i
|
|
42
|
+
Launch the guided interactive menu (also the no-argument default).
|
|
43
|
+
.TP
|
|
44
|
+
.B build \fR[\fIpath\fR] [\fIgoal\fR] [options]
|
|
45
|
+
Autonomously build, debug, or complete a goal in a project. The goal is free
|
|
46
|
+
text; the words \fBdebug\fR or \fBcomplete\fR select those modes.
|
|
47
|
+
.TP
|
|
48
|
+
.B run \fR[\fIpath\fR] [options]
|
|
49
|
+
Execute a project's pending tasks with dependency-aware ordering, parallel
|
|
50
|
+
waves, and progress-based resume.
|
|
51
|
+
.TP
|
|
52
|
+
.B plan \fR[\fIpath\fR] [options]
|
|
53
|
+
Analyze the project, recommend work, and compose a plan interactively.
|
|
54
|
+
.TP
|
|
55
|
+
.B status \fR[\fIpath\fR]
|
|
56
|
+
Show a project's tasks and their state.
|
|
57
|
+
.TP
|
|
58
|
+
.B report \fR[\fIpath\fR]
|
|
59
|
+
Summarize the latest build's cost, per-model ledger, and audit trail
|
|
60
|
+
(read-only).
|
|
61
|
+
.TP
|
|
62
|
+
.B scan \fIdir\fR
|
|
63
|
+
Discover and register projects (those with a \fBproject.yaml\fR) under a
|
|
64
|
+
directory.
|
|
65
|
+
.TP
|
|
66
|
+
.B list
|
|
67
|
+
List registered projects.
|
|
68
|
+
.SH OPTIONS
|
|
69
|
+
.SS build
|
|
70
|
+
.TP
|
|
71
|
+
.BI \-\-budget " DOLLARS"
|
|
72
|
+
Cap the run's spend (default 100).
|
|
73
|
+
.TP
|
|
74
|
+
.B \-\-dry-run
|
|
75
|
+
Plan only; show what would be done without editing.
|
|
76
|
+
.TP
|
|
77
|
+
.BI \-\-max-tasks " N"
|
|
78
|
+
Cap the number of decomposed tasks.
|
|
79
|
+
.TP
|
|
80
|
+
.B \-\-no-verify
|
|
81
|
+
Skip the final quality-gate chain.
|
|
82
|
+
.SS run
|
|
83
|
+
.TP
|
|
84
|
+
.BI \-\-tasks " FILE"
|
|
85
|
+
Execute an external task-list file instead of the \fBdevplan/\fR directory. The
|
|
86
|
+
file may live in another repository and be in any format \(em JSON, YAML,
|
|
87
|
+
Markdown, or plain text; ordered or unordered lists; multi-line tasks; phases;
|
|
88
|
+
and a dependency table (\fB| Task | Blocked By |\fR) that unlocks parallel
|
|
89
|
+
execution.
|
|
90
|
+
.TP
|
|
91
|
+
.BI \-\-task " ID"
|
|
92
|
+
Run a single task by id.
|
|
93
|
+
.TP
|
|
94
|
+
.B \-\-dry-run
|
|
95
|
+
Show the execution plan (topological waves) without running.
|
|
96
|
+
.TP
|
|
97
|
+
.B \-\-status
|
|
98
|
+
Show which tasks would run vs. skip, then exit.
|
|
99
|
+
.TP
|
|
100
|
+
.B \-\-force
|
|
101
|
+
Re-run all tasks, ignoring the completion cache.
|
|
102
|
+
.SH EXAMPLES
|
|
103
|
+
.TP
|
|
104
|
+
Guided menu (no flags):
|
|
105
|
+
.B misterdev
|
|
106
|
+
.TP
|
|
107
|
+
Plain English:
|
|
108
|
+
.B misterdev \(dqfix the flaky auth test but keep it cheap\(dq
|
|
109
|
+
.TP
|
|
110
|
+
Explicit build with a budget:
|
|
111
|
+
.B misterdev build . \(dqadd rate limiting to the public API\(dq \-\-budget 5
|
|
112
|
+
.TP
|
|
113
|
+
Run a hand-written task list from another repo, previewing first:
|
|
114
|
+
.B misterdev run ./app \-\-tasks ../plans/PLAN.md \-\-dry-run
|
|
115
|
+
.TP
|
|
116
|
+
Fix everything that is broken:
|
|
117
|
+
.B misterdev build . debug
|
|
118
|
+
.SH ENVIRONMENT
|
|
119
|
+
.TP
|
|
120
|
+
.B OPENROUTER_API_KEY
|
|
121
|
+
Default API key variable (overridable via \fBllm.api_key_env_var\fR in
|
|
122
|
+
\fBproject.yaml\fR). The key is never written to config on disk.
|
|
123
|
+
.SH FILES
|
|
124
|
+
.TP
|
|
125
|
+
.B project.yaml
|
|
126
|
+
Per-project configuration (language, build/test/lint commands, gates, MCP,
|
|
127
|
+
targets, \fBtasklist\fR). See \fBdocs/configuration.md\fR.
|
|
128
|
+
.TP
|
|
129
|
+
.B devplan/
|
|
130
|
+
Directory of pre-written task files (Markdown + YAML front-matter).
|
|
131
|
+
.TP
|
|
132
|
+
.B .orchestrator/
|
|
133
|
+
Per-project run state: progress cache, contracts, worktrees, audit trail.
|
|
134
|
+
.TP
|
|
135
|
+
.B ~/.misterdev/registry.json
|
|
136
|
+
Registered-project cache. Stale entries (no \fBproject.yaml\fR) are pruned on
|
|
137
|
+
load.
|
|
138
|
+
.SH SEE ALSO
|
|
139
|
+
Project documentation under \fBdocs/\fR: getting-started, configuration, mcp,
|
|
140
|
+
plugins. Homepage: https://github.com/dcondrey/misterdev
|
|
141
|
+
.SH AUTHOR
|
|
142
|
+
David Condrey.
|