domd 2.3.7__tar.gz → 2.3.8__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. {domd-2.3.7 → domd-2.3.8}/PKG-INFO +24 -118
  2. {domd-2.3.7 → domd-2.3.8}/README.md +20 -114
  3. {domd-2.3.7 → domd-2.3.8}/pyproject.toml +4 -4
  4. {domd-2.3.7 → domd-2.3.8}/src/domd/__init__.py +1 -1
  5. {domd-2.3.7 → domd-2.3.8}/src/domd/adapters/api/command_testing.py +2 -5
  6. {domd-2.3.7 → domd-2.3.8}/src/domd/adapters/api/flask_api.py +95 -40
  7. {domd-2.3.7 → domd-2.3.8}/src/domd/adapters/persistence/shell_command_executor.py +1 -1
  8. {domd-2.3.7 → domd-2.3.8}/src/domd/cli/cli.py +11 -5
  9. {domd-2.3.7 → domd-2.3.8}/src/domd/cli/commands/test_commands.py +2 -2
  10. {domd-2.3.7 → domd-2.3.8}/src/domd/core/command_detection/docker_tester.py +3 -4
  11. {domd-2.3.7 → domd-2.3.8}/src/domd/core/command_detection/handlers/command_handler.py +32 -69
  12. {domd-2.3.7 → domd-2.3.8}/src/domd/core/command_detection/handlers/config_handler.py +1 -1
  13. {domd-2.3.7 → domd-2.3.8}/src/domd/core/command_detection/parsers/parser_registry.py +1 -1
  14. {domd-2.3.7 → domd-2.3.8}/src/domd/core/command_detection/utils/file_utils.py +1 -1
  15. {domd-2.3.7 → domd-2.3.8}/src/domd/core/command_execution/environment_detector.py +1 -1
  16. {domd-2.3.7 → domd-2.3.8}/src/domd/core/commands/executor.py +7 -3
  17. {domd-2.3.7 → domd-2.3.8}/src/domd/core/parsers/ansible_galaxy.py +5 -5
  18. {domd-2.3.7 → domd-2.3.8}/src/domd/core/parsers/ansible_inventory.py +4 -4
  19. {domd-2.3.7 → domd-2.3.8}/src/domd/core/parsers/ansible_playbook.py +4 -4
  20. {domd-2.3.7 → domd-2.3.8}/src/domd/core/parsers/ansible_role.py +3 -3
  21. {domd-2.3.7 → domd-2.3.8}/src/domd/core/parsers/ansible_vault.py +4 -4
  22. {domd-2.3.7 → domd-2.3.8}/src/domd/core/parsers/composer_json.py +1 -1
  23. {domd-2.3.7 → domd-2.3.8}/src/domd/core/parsers/package_json.py +1 -1
  24. {domd-2.3.7 → domd-2.3.8}/src/domd/core/parsers/tox_ini.py +1 -1
  25. {domd-2.3.7 → domd-2.3.8}/src/domd/core/parsing/parser_registry.py +2 -1
  26. {domd-2.3.7 → domd-2.3.8}/src/domd/core/parsing/pattern_matcher.py +16 -6
  27. {domd-2.3.7 → domd-2.3.8}/src/domd/core/ports/command_executor.py +1 -1
  28. {domd-2.3.7 → domd-2.3.8}/src/domd/core/ports/command_repository.py +1 -1
  29. {domd-2.3.7 → domd-2.3.8}/src/domd/core/project_detection/command_handling.py +39 -26
  30. {domd-2.3.7 → domd-2.3.8}/src/domd/core/project_detection/detector.py +11 -11
  31. {domd-2.3.7 → domd-2.3.8}/src/domd/core/reporting/formatters.py +1 -1
  32. {domd-2.3.7 → domd-2.3.8}/src/domd/core/reporting/reporter.py +1 -1
  33. {domd-2.3.7 → domd-2.3.8}/src/domd/core/services/report_service.py +1 -1
  34. {domd-2.3.7 → domd-2.3.8}/src/domd/core/utils/environment.py +2 -2
  35. {domd-2.3.7 → domd-2.3.8}/src/domd/core/utils/file_utils.py +1 -1
  36. {domd-2.3.7 → domd-2.3.8}/src/domd/parsers/docker/docker_compose.py +1 -1
  37. {domd-2.3.7 → domd-2.3.8}/src/domd/parsers/docker/dockerfile.py +1 -1
  38. {domd-2.3.7 → domd-2.3.8}/src/domd/parsers/markdown_parser.py +1 -2
  39. {domd-2.3.7 → domd-2.3.8}/src/domd/utils/path_utils.py +1 -1
  40. {domd-2.3.7 → domd-2.3.8}/src/domd.egg-info/PKG-INFO +24 -118
  41. {domd-2.3.7 → domd-2.3.8}/src/domd.egg-info/requires.txt +2 -2
  42. {domd-2.3.7 → domd-2.3.8}/tests/test_command_handling.py +29 -9
  43. {domd-2.3.7 → domd-2.3.8}/tests/test_command_testing.py +2 -3
  44. domd-2.3.8/tests/test_detector.py +85 -0
  45. domd-2.3.7/tests/test_detector.py +0 -1377
  46. {domd-2.3.7 → domd-2.3.8}/LICENSE +0 -0
  47. {domd-2.3.7 → domd-2.3.8}/setup.cfg +0 -0
  48. {domd-2.3.7 → domd-2.3.8}/src/domd/adapters/__init__.py +0 -0
  49. {domd-2.3.7 → domd-2.3.8}/src/domd/adapters/api/__init__.py +0 -0
  50. {domd-2.3.7 → domd-2.3.8}/src/domd/adapters/cli/__init__.py +0 -0
  51. {domd-2.3.7 → domd-2.3.8}/src/domd/adapters/cli/command_presenter.py +0 -0
  52. {domd-2.3.7 → domd-2.3.8}/src/domd/adapters/formatters/__init__.py +0 -0
  53. {domd-2.3.7 → domd-2.3.8}/src/domd/adapters/formatters/markdown_formatter.py +0 -0
  54. {domd-2.3.7 → domd-2.3.8}/src/domd/adapters/persistence/__init__.py +0 -0
  55. {domd-2.3.7 → domd-2.3.8}/src/domd/adapters/persistence/in_memory_command_repository.py +0 -0
  56. {domd-2.3.7 → domd-2.3.8}/src/domd/api.py +0 -0
  57. {domd-2.3.7 → domd-2.3.8}/src/domd/application/__init__.py +0 -0
  58. {domd-2.3.7 → domd-2.3.8}/src/domd/application/factory.py +0 -0
  59. {domd-2.3.7 → domd-2.3.8}/src/domd/cli/__init__.py +0 -0
  60. {domd-2.3.7 → domd-2.3.8}/src/domd/command_execution/__init__.py +0 -0
  61. {domd-2.3.7 → domd-2.3.8}/src/domd/core/__init__.py +0 -0
  62. {domd-2.3.7 → domd-2.3.8}/src/domd/core/command_detection/__init__.py +0 -0
  63. {domd-2.3.7 → domd-2.3.8}/src/domd/core/command_detection/base_detector.py +0 -0
  64. {domd-2.3.7 → domd-2.3.8}/src/domd/core/command_detection/handlers/__init__.py +0 -0
  65. {domd-2.3.7 → domd-2.3.8}/src/domd/core/command_detection/models.py +0 -0
  66. {domd-2.3.7 → domd-2.3.8}/src/domd/core/command_detection/parsers/__init__.py +0 -0
  67. {domd-2.3.7 → domd-2.3.8}/src/domd/core/command_detection/parsers/base_parser.py +0 -0
  68. {domd-2.3.7 → domd-2.3.8}/src/domd/core/command_detection/project_detector.py +0 -0
  69. {domd-2.3.7 → domd-2.3.8}/src/domd/core/command_detection/utils/__init__.py +0 -0
  70. {domd-2.3.7 → domd-2.3.8}/src/domd/core/command_detection/utils/virtualenv.py +0 -0
  71. {domd-2.3.7 → domd-2.3.8}/src/domd/core/command_execution/__init__.py +0 -0
  72. {domd-2.3.7 → domd-2.3.8}/src/domd/core/command_execution/command_executor.py +0 -0
  73. {domd-2.3.7 → domd-2.3.8}/src/domd/core/command_execution/command_recorder.py +0 -0
  74. {domd-2.3.7 → domd-2.3.8}/src/domd/core/command_execution/command_runner.py +0 -0
  75. {domd-2.3.7 → domd-2.3.8}/src/domd/core/command_execution/executor.py +0 -0
  76. {domd-2.3.7 → domd-2.3.8}/src/domd/core/commands/__init__.py +0 -0
  77. {domd-2.3.7 → domd-2.3.8}/src/domd/core/commands/command.py +0 -0
  78. {domd-2.3.7 → domd-2.3.8}/src/domd/core/detector.py +0 -0
  79. {domd-2.3.7 → domd-2.3.8}/src/domd/core/domain/__init__.py +0 -0
  80. {domd-2.3.7 → domd-2.3.8}/src/domd/core/domain/command.py +0 -0
  81. {domd-2.3.7 → domd-2.3.8}/src/domd/core/parsers/__init__.py +0 -0
  82. {domd-2.3.7 → domd-2.3.8}/src/domd/core/parsers/base.py +0 -0
  83. {domd-2.3.7 → domd-2.3.8}/src/domd/core/parsers/cargo_toml.py +0 -0
  84. {domd-2.3.7 → domd-2.3.8}/src/domd/core/parsers/go_mod.py +0 -0
  85. {domd-2.3.7 → domd-2.3.8}/src/domd/core/parsers/makefile.py +0 -0
  86. {domd-2.3.7 → domd-2.3.8}/src/domd/core/parsers/pyproject_toml.py +0 -0
  87. {domd-2.3.7 → domd-2.3.8}/src/domd/core/parsing/__init__.py +0 -0
  88. {domd-2.3.7 → domd-2.3.8}/src/domd/core/parsing/base.py +0 -0
  89. {domd-2.3.7 → domd-2.3.8}/src/domd/core/parsing/file_processor.py +0 -0
  90. {domd-2.3.7 → domd-2.3.8}/src/domd/core/ports/__init__.py +0 -0
  91. {domd-2.3.7 → domd-2.3.8}/src/domd/core/ports/report_formatter.py +0 -0
  92. {domd-2.3.7 → domd-2.3.8}/src/domd/core/project_detection/__init__.py +0 -0
  93. {domd-2.3.7 → domd-2.3.8}/src/domd/core/project_detection/config_files.py +0 -0
  94. {domd-2.3.7 → domd-2.3.8}/src/domd/core/project_detection/file_command_processor.py +0 -0
  95. {domd-2.3.7 → domd-2.3.8}/src/domd/core/project_detection/virtualenv.py +0 -0
  96. {domd-2.3.7 → domd-2.3.8}/src/domd/core/reporters/__init__.py +0 -0
  97. {domd-2.3.7 → domd-2.3.8}/src/domd/core/reporters/base.py +0 -0
  98. {domd-2.3.7 → domd-2.3.8}/src/domd/core/reporters/done_md.py +0 -0
  99. {domd-2.3.7 → domd-2.3.8}/src/domd/core/reporters/todo_md.py +0 -0
  100. {domd-2.3.7 → domd-2.3.8}/src/domd/core/reporting/__init__.py +0 -0
  101. {domd-2.3.7 → domd-2.3.8}/src/domd/core/services/__init__.py +0 -0
  102. {domd-2.3.7 → domd-2.3.8}/src/domd/core/services/command_service.py +0 -0
  103. {domd-2.3.7 → domd-2.3.8}/src/domd/core/utils/__init__.py +0 -0
  104. {domd-2.3.7 → domd-2.3.8}/src/domd/core/utils/command_utils.py +0 -0
  105. {domd-2.3.7 → domd-2.3.8}/src/domd/core/utils/logging_utils.py +0 -0
  106. {domd-2.3.7 → domd-2.3.8}/src/domd/core/utils/virtualenv.py +0 -0
  107. {domd-2.3.7 → domd-2.3.8}/src/domd/parsers/__init__.py +0 -0
  108. {domd-2.3.7 → domd-2.3.8}/src/domd/parsers/ansible.py +0 -0
  109. {domd-2.3.7 → domd-2.3.8}/src/domd/parsers/base.py +0 -0
  110. {domd-2.3.7 → domd-2.3.8}/src/domd/parsers/build_systems.py +0 -0
  111. {domd-2.3.7 → domd-2.3.8}/src/domd/parsers/ci_cd.py +0 -0
  112. {domd-2.3.7 → domd-2.3.8}/src/domd/parsers/docker/__init__.py +0 -0
  113. {domd-2.3.7 → domd-2.3.8}/src/domd/parsers/docker.py +0 -0
  114. {domd-2.3.7 → domd-2.3.8}/src/domd/parsers/javascript/__init__.py +0 -0
  115. {domd-2.3.7 → domd-2.3.8}/src/domd/parsers/javascript.py +0 -0
  116. {domd-2.3.7 → domd-2.3.8}/src/domd/parsers/package_json.py +0 -0
  117. {domd-2.3.7 → domd-2.3.8}/src/domd/parsers/python.py +0 -0
  118. {domd-2.3.7 → domd-2.3.8}/src/domd/parsers/test_build_systems.py +0 -0
  119. {domd-2.3.7 → domd-2.3.8}/src/domd/parsers/test_ci_cd.py +0 -0
  120. {domd-2.3.7 → domd-2.3.8}/src/domd/parsers/test_docker.py +0 -0
  121. {domd-2.3.7 → domd-2.3.8}/src/domd/parsers/test_javascript.py +0 -0
  122. {domd-2.3.7 → domd-2.3.8}/src/domd/parsers/test_python.py +0 -0
  123. {domd-2.3.7 → domd-2.3.8}/src/domd/parsing/__init__.py +0 -0
  124. {domd-2.3.7 → domd-2.3.8}/src/domd/parsing/base.py +0 -0
  125. {domd-2.3.7 → domd-2.3.8}/src/domd/reporters/__init__.py +0 -0
  126. {domd-2.3.7 → domd-2.3.8}/src/domd/reporters/console.py +0 -0
  127. {domd-2.3.7 → domd-2.3.8}/src/domd/reporters/json_reporter.py +0 -0
  128. {domd-2.3.7 → domd-2.3.8}/src/domd/reporters/test_console.py +0 -0
  129. {domd-2.3.7 → domd-2.3.8}/src/domd/reporters/test_json_reporter.py +0 -0
  130. {domd-2.3.7 → domd-2.3.8}/src/domd/reporters/test_todo_md.py +0 -0
  131. {domd-2.3.7 → domd-2.3.8}/src/domd/reporters/todo_md.py +0 -0
  132. {domd-2.3.7 → domd-2.3.8}/src/domd/reporting/__init__.py +0 -0
  133. {domd-2.3.7 → domd-2.3.8}/src/domd/utils/__init__.py +0 -0
  134. {domd-2.3.7 → domd-2.3.8}/src/domd/utils/command_runner.py +0 -0
  135. {domd-2.3.7 → domd-2.3.8}/src/domd/utils/file_utils.py +0 -0
  136. {domd-2.3.7 → domd-2.3.8}/src/domd/utils/test_command_runner.py +0 -0
  137. {domd-2.3.7 → domd-2.3.8}/src/domd/utils/test_file_utils.py +0 -0
  138. {domd-2.3.7 → domd-2.3.8}/src/domd.egg-info/SOURCES.txt +0 -0
  139. {domd-2.3.7 → domd-2.3.8}/src/domd.egg-info/dependency_links.txt +0 -0
  140. {domd-2.3.7 → domd-2.3.8}/src/domd.egg-info/entry_points.txt +0 -0
  141. {domd-2.3.7 → domd-2.3.8}/src/domd.egg-info/top_level.txt +0 -0
  142. {domd-2.3.7 → domd-2.3.8}/tests/test_ansible.py +0 -0
  143. {domd-2.3.7 → domd-2.3.8}/tests/test_ansible_galaxy.py +0 -0
  144. {domd-2.3.7 → domd-2.3.8}/tests/test_ansible_inventory.py +0 -0
  145. {domd-2.3.7 → domd-2.3.8}/tests/test_ansible_playbook.py +0 -0
  146. {domd-2.3.7 → domd-2.3.8}/tests/test_ansible_roles.py +0 -0
  147. {domd-2.3.7 → domd-2.3.8}/tests/test_ansible_vault.py +0 -0
  148. {domd-2.3.7 → domd-2.3.8}/tests/test_cli.py +0 -0
  149. {domd-2.3.7 → domd-2.3.8}/tests/test_detector_poetry_scripts.py +0 -0
  150. {domd-2.3.7 → domd-2.3.8}/tests/test_virtualenv.py +0 -0
@@ -1,10 +1,10 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: domd
3
- Version: 2.3.7
3
+ Version: 2.3.8
4
4
  Summary: ✓ DoMD - Do Markdown Docs - automatically detect, run and show working commands in DONE.md and errors in TODO.md markdown files
5
5
  Author-email: Tom Sapletta <info@softreck.dev>, Tom Sapletta <tom@sapletta.com>
6
6
  Maintainer: WRONAI Team
7
- License: Apache-2.0
7
+ License-Expression: Apache-2.0
8
8
  Project-URL: Homepage, https://github.com/wronai/domd
9
9
  Project-URL: Documentation, https://domd.readthedocs.io
10
10
  Project-URL: Repository, https://github.com/wronai/domd.git
@@ -17,7 +17,7 @@ Requires-Dist: pyyaml>=6.0
17
17
  Requires-Dist: toml>=0.10.2
18
18
  Requires-Dist: docker>=6.1.3
19
19
  Requires-Dist: flask-cors>=6.0.1
20
- Requires-Dist: goal>=2.1.0
20
+ Requires-Dist: goal>=2.1.218
21
21
  Requires-Dist: costs>=0.1.20
22
22
  Requires-Dist: pfix>=0.1.60
23
23
  Provides-Extra: dev
@@ -32,7 +32,7 @@ Requires-Dist: mypy>=1.0.0; extra == "dev"
32
32
  Requires-Dist: pylint>=2.17.0; extra == "dev"
33
33
  Requires-Dist: pre-commit>=3.0.0; extra == "dev"
34
34
  Requires-Dist: coverage>=7.0.0; extra == "dev"
35
- Requires-Dist: goal>=2.1.0; extra == "dev"
35
+ Requires-Dist: goal>=2.1.218; extra == "dev"
36
36
  Requires-Dist: costs>=0.1.20; extra == "dev"
37
37
  Requires-Dist: pfix>=0.1.60; extra == "dev"
38
38
  Provides-Extra: all
@@ -42,20 +42,16 @@ Requires-Dist: click>=8.1.0; extra == "all"
42
42
  Requires-Dist: flask>=2.0.0; extra == "all"
43
43
  Dynamic: license-file
44
44
 
45
- # ✓ DoMD - Do Markdown Docs
46
-
47
45
  ## AI Cost Tracking
48
46
 
49
- ![AI Cost](https://img.shields.io/badge/AI%20Cost-$7.50-yellow) ![AI Model](https://img.shields.io/badge/AI%20Model-openrouter%2Fqwen%2Fqwen3-coder-next-lightgrey)
47
+ ![AI Cost](https://img.shields.io/badge/AI%20Cost-$10.12-orange) ![AI Model](https://img.shields.io/badge/AI%20Model-openrouter%2Fqwen%2Fqwen3-coder-next-lightgrey)
50
48
 
51
- This project uses AI-generated code. Total cost: **$7.5000** with **100** AI commits.
49
+ This project uses AI-generated code. Total cost: **$10.1243** with **100** AI commits.
52
50
 
53
- Generated on 2026-04-08 using [openrouter/qwen/qwen3-coder-next](https://openrouter.ai/models/openrouter/qwen/qwen3-coder-next)
51
+ Generated on 2026-06-29 using [openrouter/qwen/qwen3-coder-next](https://openrouter.ai/models/openrouter/qwen/qwen3-coder-next)
54
52
 
55
53
  ---
56
54
 
57
-
58
-
59
55
  [![License: Apache-2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
60
56
  [![Python Version](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)
61
57
  [![Code Style: Black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
@@ -66,20 +62,10 @@ Generated on 2026-04-08 using [openrouter/qwen/qwen3-coder-next](https://openrou
66
62
  **DoMD** (Do Markdown Docs) is a powerful tool that helps you maintain up-to-date project documentation by automatically detecting, running, and documenting commands from your project files. It generates and updates `TODO.md` and `DONE.md` files based on command execution results, making it easier to track what works and what needs attention.
67
63
 
68
64
  ```bash
69
- # Start DoMD analyzer
70
- domd
71
- ```
72
-
73
65
  ## Web Interface
74
66
 
75
67
  DoMD comes with a modern web interface that allows you to interact with your project's commands through a user-friendly dashboard.
76
68
 
77
- ### Starting the Web Interface
78
-
79
- ```bash
80
- # Start the web interface on default port (3000)
81
- domd web
82
-
83
69
  # Specify a custom port
84
70
  domd web --port 8088
85
71
 
@@ -180,8 +166,6 @@ domd test-commands --no-docker -f commands.txt
180
166
 
181
167
  For more details, see the [Command Testing Documentation](docs/command_testing.md).
182
168
 
183
- ## Quick Start
184
-
185
169
  ### Prerequisites
186
170
 
187
171
  - Python 3.8 or newer
@@ -230,12 +214,6 @@ Choose the installation method that works best for you:
230
214
 
231
215
  DoMD includes a secure web-based interface for a more interactive experience:
232
216
 
233
- ### Web Interface Setup
234
-
235
- ```bash
236
- # Start the web interface (default port: 3003)
237
- domd web
238
-
239
217
  # Specify a custom port
240
218
  domd web --port 8088
241
219
 
@@ -319,7 +297,6 @@ To create a production build:
319
297
  ```bash
320
298
  cd frontend
321
299
  npm run build
322
- # or with Yarn:
323
300
  # yarn build
324
301
  ```
325
302
 
@@ -468,31 +445,6 @@ domd
468
445
  - Generate a report in `TODO.md` with any issues found
469
446
  - Update `DONE.md` with successfully executed commands
470
447
 
471
- ### Common Commands
472
-
473
- - **List available commands** without executing them:
474
- ```bash
475
- domd --list
476
- ```
477
-
478
- - **Run a specific command** by name or pattern:
479
- ```bash
480
- domd run test
481
- domd run "test*"
482
- ```
483
-
484
- - **Generate a report** without executing commands:
485
- ```bash
486
- domd --dry-run
487
- ```
488
-
489
- - **Get help** with available options:
490
- ```bash
491
- domd --help
492
- ```
493
-
494
- > 💡 **Pro Tip**: Run `domd` regularly to keep your project documentation in sync with your actual project state!
495
-
496
448
  ## 🌐 Web Interface
497
449
 
498
450
  DoMD comes with a web-based interface for a more interactive experience. Here's how to get it running:
@@ -502,32 +454,6 @@ DoMD comes with a web-based interface for a more interactive experience. Here's
502
454
  - Node.js (v14 or later)
503
455
  - npm (comes with Node.js) or Yarn
504
456
 
505
- ### Running the Development Server
506
-
507
- 1. Navigate to the frontend directory:
508
-
509
- ```bash
510
- cd frontend
511
- ```
512
-
513
- 2. Install dependencies:
514
-
515
- ```bash
516
- npm install
517
- # or if you use Yarn:
518
- # yarn
519
- ```
520
-
521
- 3. Start the development server:
522
-
523
- ```bash
524
- npm start
525
- # or if you use Yarn:
526
- # yarn start
527
- ```
528
-
529
- 4. Open your browser and visit [http://localhost:3003](http://localhost:3003)
530
-
531
457
  ### Building for Production
532
458
 
533
459
  To create a production build:
@@ -535,22 +461,11 @@ To create a production build:
535
461
  ```bash
536
462
  cd frontend
537
463
  npm run build
538
- # or with Yarn:
539
464
  # yarn build
540
465
  ```
541
466
 
542
467
  This will create an optimized production build in the `build` directory.
543
468
 
544
- ## 📖 Documentation
545
-
546
- For detailed documentation, please visit our [documentation site](https://wronai.github.io/domd/) or check the [docs](./docs) directory.
547
-
548
- - [Installation Guide](./docs/installation.md)
549
- - [Usage Guide](./docs/usage.md)
550
- - [Docker Integration](./docs/docker.md)
551
- - [Advanced Configuration](./docs/features/core.md)
552
- - [API Reference](./docs/api.md)
553
-
554
469
  ## 🤝 Contributing
555
470
 
556
471
  Contributions are welcome! Please read our [Contributing Guide][contributing] for details on how to get started.
@@ -571,10 +486,6 @@ Open an [issue][issues] if you need help or have questions.
571
486
  - Patterns support glob-style wildcards (`*` matches any sequence of characters)
572
487
  - Matches are case-insensitive
573
488
 
574
- ### 📂 Subdirectory README.md Support
575
-
576
- DoMD can automatically scan first-level subdirectories for additional `README.md` files and execute commands found within them. This is particularly useful for monorepos or projects with multiple components.
577
-
578
489
  #### How It Works
579
490
 
580
491
  - DoMD scans all first-level subdirectories in your project
@@ -607,9 +518,6 @@ my-project/
607
518
 
608
519
  For better isolation and consistency, you can specify commands that should be executed inside a Docker container using a `.dodocker` file.
609
520
 
610
- #### `.dodocker` File Format
611
-
612
- ```
613
521
  # Commands to run in Docker container
614
522
  pytest
615
523
  black --check .
@@ -674,8 +582,6 @@ success_rate = (len(commands) - len(failed_commands)) / len(commands) * 100
674
582
  print(f"Success rate: {success_rate:.1f}%")
675
583
  ```
676
584
 
677
- ## 🧪 Development
678
-
679
585
  ### Setup Development Environment
680
586
  ```bash
681
587
  git clone https://github.com/wronai/domd.git
@@ -686,11 +592,6 @@ poetry install --with dev,docs,testing
686
592
  poetry run pre-commit install
687
593
  ```
688
594
 
689
- ### Running Tests
690
- ```bash
691
- # Run all tests
692
- poetry run pytest
693
-
694
595
  # Run with coverage
695
596
  poetry run pytest --cov=domd --cov-report=html
696
597
 
@@ -699,8 +600,6 @@ poetry run pytest -m "unit"
699
600
  poetry run pytest -m "integration"
700
601
  ```
701
602
 
702
- ### Code Quality
703
- ```bash
704
603
  # Format code
705
604
  poetry run black src/ tests/
706
605
  poetry run isort src/ tests/
@@ -709,12 +608,6 @@ poetry run isort src/ tests/
709
608
  poetry run flake8 src/ tests/
710
609
  poetry run mypy src/
711
610
 
712
- # All quality checks
713
- make lint
714
- ```
715
-
716
- ### Building Documentation
717
- ```bash
718
611
  # Serve locally
719
612
  poetry run mkdocs serve
720
613
 
@@ -788,8 +681,6 @@ This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENS
788
681
  - **Project Maintenance**: Regular health checks for legacy projects
789
682
  - **Documentation**: Generate comprehensive command documentation
790
683
 
791
- ## ⚡ Quick Examples
792
-
793
684
  ### CI/CD Integration (GitHub Actions)
794
685
  ```yaml
795
686
  name: Project Health Check
@@ -829,8 +720,6 @@ health-report:
829
720
  @domd --dry-run --verbose
830
721
  ```
831
722
 
832
- ### Pre-commit Hook
833
- ```yaml
834
723
  # .pre-commit-config.yaml
835
724
  repos:
836
725
  - repo: local
@@ -847,3 +736,20 @@ repos:
847
736
  [docker-url]: https://www.docker.com/
848
737
  [docs-badge]: https://img.shields.io/badge/Docs-Read%20the%20Docs-blue
849
738
  [docs-url]: https://wronai.github.io/domd/
739
+
740
+ <!-- taskill:status:start -->
741
+
742
+ ## Status
743
+
744
+ _Last updated by [taskill](https://github.com/oqlos/taskill) at 2026-04-25 13:37 UTC_
745
+
746
+ | Metric | Value |
747
+ |---|---|
748
+ | HEAD | `3a44644` |
749
+ | Coverage | — |
750
+ | Failing tests | — |
751
+ | Commits in last cycle | 50 |
752
+
753
+ > A series of commits titled "refactoring and test fixing" were made across the repository. No specific file changes are present in this snapshot.
754
+
755
+ <!-- taskill:status:end -->
@@ -1,17 +1,13 @@
1
- # ✓ DoMD - Do Markdown Docs
2
-
3
1
  ## AI Cost Tracking
4
2
 
5
- ![AI Cost](https://img.shields.io/badge/AI%20Cost-$7.50-yellow) ![AI Model](https://img.shields.io/badge/AI%20Model-openrouter%2Fqwen%2Fqwen3-coder-next-lightgrey)
3
+ ![AI Cost](https://img.shields.io/badge/AI%20Cost-$10.12-orange) ![AI Model](https://img.shields.io/badge/AI%20Model-openrouter%2Fqwen%2Fqwen3-coder-next-lightgrey)
6
4
 
7
- This project uses AI-generated code. Total cost: **$7.5000** with **100** AI commits.
5
+ This project uses AI-generated code. Total cost: **$10.1243** with **100** AI commits.
8
6
 
9
- Generated on 2026-04-08 using [openrouter/qwen/qwen3-coder-next](https://openrouter.ai/models/openrouter/qwen/qwen3-coder-next)
7
+ Generated on 2026-06-29 using [openrouter/qwen/qwen3-coder-next](https://openrouter.ai/models/openrouter/qwen/qwen3-coder-next)
10
8
 
11
9
  ---
12
10
 
13
-
14
-
15
11
  [![License: Apache-2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
16
12
  [![Python Version](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)
17
13
  [![Code Style: Black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
@@ -22,20 +18,10 @@ Generated on 2026-04-08 using [openrouter/qwen/qwen3-coder-next](https://openrou
22
18
  **DoMD** (Do Markdown Docs) is a powerful tool that helps you maintain up-to-date project documentation by automatically detecting, running, and documenting commands from your project files. It generates and updates `TODO.md` and `DONE.md` files based on command execution results, making it easier to track what works and what needs attention.
23
19
 
24
20
  ```bash
25
- # Start DoMD analyzer
26
- domd
27
- ```
28
-
29
21
  ## Web Interface
30
22
 
31
23
  DoMD comes with a modern web interface that allows you to interact with your project's commands through a user-friendly dashboard.
32
24
 
33
- ### Starting the Web Interface
34
-
35
- ```bash
36
- # Start the web interface on default port (3000)
37
- domd web
38
-
39
25
  # Specify a custom port
40
26
  domd web --port 8088
41
27
 
@@ -136,8 +122,6 @@ domd test-commands --no-docker -f commands.txt
136
122
 
137
123
  For more details, see the [Command Testing Documentation](docs/command_testing.md).
138
124
 
139
- ## Quick Start
140
-
141
125
  ### Prerequisites
142
126
 
143
127
  - Python 3.8 or newer
@@ -186,12 +170,6 @@ Choose the installation method that works best for you:
186
170
 
187
171
  DoMD includes a secure web-based interface for a more interactive experience:
188
172
 
189
- ### Web Interface Setup
190
-
191
- ```bash
192
- # Start the web interface (default port: 3003)
193
- domd web
194
-
195
173
  # Specify a custom port
196
174
  domd web --port 8088
197
175
 
@@ -275,7 +253,6 @@ To create a production build:
275
253
  ```bash
276
254
  cd frontend
277
255
  npm run build
278
- # or with Yarn:
279
256
  # yarn build
280
257
  ```
281
258
 
@@ -424,31 +401,6 @@ domd
424
401
  - Generate a report in `TODO.md` with any issues found
425
402
  - Update `DONE.md` with successfully executed commands
426
403
 
427
- ### Common Commands
428
-
429
- - **List available commands** without executing them:
430
- ```bash
431
- domd --list
432
- ```
433
-
434
- - **Run a specific command** by name or pattern:
435
- ```bash
436
- domd run test
437
- domd run "test*"
438
- ```
439
-
440
- - **Generate a report** without executing commands:
441
- ```bash
442
- domd --dry-run
443
- ```
444
-
445
- - **Get help** with available options:
446
- ```bash
447
- domd --help
448
- ```
449
-
450
- > 💡 **Pro Tip**: Run `domd` regularly to keep your project documentation in sync with your actual project state!
451
-
452
404
  ## 🌐 Web Interface
453
405
 
454
406
  DoMD comes with a web-based interface for a more interactive experience. Here's how to get it running:
@@ -458,32 +410,6 @@ DoMD comes with a web-based interface for a more interactive experience. Here's
458
410
  - Node.js (v14 or later)
459
411
  - npm (comes with Node.js) or Yarn
460
412
 
461
- ### Running the Development Server
462
-
463
- 1. Navigate to the frontend directory:
464
-
465
- ```bash
466
- cd frontend
467
- ```
468
-
469
- 2. Install dependencies:
470
-
471
- ```bash
472
- npm install
473
- # or if you use Yarn:
474
- # yarn
475
- ```
476
-
477
- 3. Start the development server:
478
-
479
- ```bash
480
- npm start
481
- # or if you use Yarn:
482
- # yarn start
483
- ```
484
-
485
- 4. Open your browser and visit [http://localhost:3003](http://localhost:3003)
486
-
487
413
  ### Building for Production
488
414
 
489
415
  To create a production build:
@@ -491,22 +417,11 @@ To create a production build:
491
417
  ```bash
492
418
  cd frontend
493
419
  npm run build
494
- # or with Yarn:
495
420
  # yarn build
496
421
  ```
497
422
 
498
423
  This will create an optimized production build in the `build` directory.
499
424
 
500
- ## 📖 Documentation
501
-
502
- For detailed documentation, please visit our [documentation site](https://wronai.github.io/domd/) or check the [docs](./docs) directory.
503
-
504
- - [Installation Guide](./docs/installation.md)
505
- - [Usage Guide](./docs/usage.md)
506
- - [Docker Integration](./docs/docker.md)
507
- - [Advanced Configuration](./docs/features/core.md)
508
- - [API Reference](./docs/api.md)
509
-
510
425
  ## 🤝 Contributing
511
426
 
512
427
  Contributions are welcome! Please read our [Contributing Guide][contributing] for details on how to get started.
@@ -527,10 +442,6 @@ Open an [issue][issues] if you need help or have questions.
527
442
  - Patterns support glob-style wildcards (`*` matches any sequence of characters)
528
443
  - Matches are case-insensitive
529
444
 
530
- ### 📂 Subdirectory README.md Support
531
-
532
- DoMD can automatically scan first-level subdirectories for additional `README.md` files and execute commands found within them. This is particularly useful for monorepos or projects with multiple components.
533
-
534
445
  #### How It Works
535
446
 
536
447
  - DoMD scans all first-level subdirectories in your project
@@ -563,9 +474,6 @@ my-project/
563
474
 
564
475
  For better isolation and consistency, you can specify commands that should be executed inside a Docker container using a `.dodocker` file.
565
476
 
566
- #### `.dodocker` File Format
567
-
568
- ```
569
477
  # Commands to run in Docker container
570
478
  pytest
571
479
  black --check .
@@ -630,8 +538,6 @@ success_rate = (len(commands) - len(failed_commands)) / len(commands) * 100
630
538
  print(f"Success rate: {success_rate:.1f}%")
631
539
  ```
632
540
 
633
- ## 🧪 Development
634
-
635
541
  ### Setup Development Environment
636
542
  ```bash
637
543
  git clone https://github.com/wronai/domd.git
@@ -642,11 +548,6 @@ poetry install --with dev,docs,testing
642
548
  poetry run pre-commit install
643
549
  ```
644
550
 
645
- ### Running Tests
646
- ```bash
647
- # Run all tests
648
- poetry run pytest
649
-
650
551
  # Run with coverage
651
552
  poetry run pytest --cov=domd --cov-report=html
652
553
 
@@ -655,8 +556,6 @@ poetry run pytest -m "unit"
655
556
  poetry run pytest -m "integration"
656
557
  ```
657
558
 
658
- ### Code Quality
659
- ```bash
660
559
  # Format code
661
560
  poetry run black src/ tests/
662
561
  poetry run isort src/ tests/
@@ -665,12 +564,6 @@ poetry run isort src/ tests/
665
564
  poetry run flake8 src/ tests/
666
565
  poetry run mypy src/
667
566
 
668
- # All quality checks
669
- make lint
670
- ```
671
-
672
- ### Building Documentation
673
- ```bash
674
567
  # Serve locally
675
568
  poetry run mkdocs serve
676
569
 
@@ -744,8 +637,6 @@ This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENS
744
637
  - **Project Maintenance**: Regular health checks for legacy projects
745
638
  - **Documentation**: Generate comprehensive command documentation
746
639
 
747
- ## ⚡ Quick Examples
748
-
749
640
  ### CI/CD Integration (GitHub Actions)
750
641
  ```yaml
751
642
  name: Project Health Check
@@ -785,8 +676,6 @@ health-report:
785
676
  @domd --dry-run --verbose
786
677
  ```
787
678
 
788
- ### Pre-commit Hook
789
- ```yaml
790
679
  # .pre-commit-config.yaml
791
680
  repos:
792
681
  - repo: local
@@ -803,3 +692,20 @@ repos:
803
692
  [docker-url]: https://www.docker.com/
804
693
  [docs-badge]: https://img.shields.io/badge/Docs-Read%20the%20Docs-blue
805
694
  [docs-url]: https://wronai.github.io/domd/
695
+
696
+ <!-- taskill:status:start -->
697
+
698
+ ## Status
699
+
700
+ _Last updated by [taskill](https://github.com/oqlos/taskill) at 2026-04-25 13:37 UTC_
701
+
702
+ | Metric | Value |
703
+ |---|---|
704
+ | HEAD | `3a44644` |
705
+ | Coverage | — |
706
+ | Failing tests | — |
707
+ | Commits in last cycle | 50 |
708
+
709
+ > A series of commits titled "refactoring and test fixing" were made across the repository. No specific file changes are present in this snapshot.
710
+
711
+ <!-- taskill:status:end -->
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "domd"
3
- version = "2.3.7"
3
+ version = "2.3.8"
4
4
  description = " ✓ DoMD - Do Markdown Docs - automatically detect, run and show working commands in DONE.md and errors in TODO.md markdown files"
5
5
  authors = [
6
6
  {name = "Tom Sapletta", email = "info@softreck.dev"},
@@ -9,7 +9,7 @@ authors = [
9
9
  maintainers = [
10
10
  {name = "WRONAI Team"},
11
11
  ]
12
- license = {text = "Apache-2.0"}
12
+ license = "Apache-2.0"
13
13
  readme = "README.md"
14
14
  requires-python = ">=3.9,<4.0"
15
15
  dependencies = [
@@ -17,7 +17,7 @@ dependencies = [
17
17
  "toml>=0.10.2",
18
18
  "docker>=6.1.3",
19
19
  "flask-cors>=6.0.1",
20
- "goal>=2.1.0",
20
+ "goal>=2.1.218",
21
21
  "costs>=0.1.20",
22
22
  "pfix>=0.1.60",
23
23
  ]
@@ -35,7 +35,7 @@ dev = [
35
35
  "pylint>=2.17.0",
36
36
  "pre-commit>=3.0.0",
37
37
  "coverage>=7.0.0",
38
- "goal>=2.1.0",
38
+ "goal>=2.1.218",
39
39
  "costs>=0.1.20",
40
40
  "pfix>=0.1.60",
41
41
  ]
@@ -7,7 +7,7 @@ generates TODO.md for failed commands with detailed error reports.
7
7
  Supports: Makefile, package.json, pyproject.toml, Docker, CI/CD workflows, and more.
8
8
  """
9
9
 
10
- __version__ = "2.3.7"
10
+ __version__ = "2.3.8"
11
11
  __author__ = "Tom Sapletta"
12
12
  __email__ = "info@softreck.dev"
13
13
  __license__ = "Apache-2.0"
@@ -2,11 +2,8 @@
2
2
  REST API endpoints for command testing functionality.
3
3
  """
4
4
 
5
- from pathlib import Path
6
- from typing import Dict, List, Optional
7
-
8
- from flask import jsonify, request
9
- from werkzeug.exceptions import BadRequest, NotFound
5
+ from flask import request
6
+ from werkzeug.exceptions import BadRequest
10
7
 
11
8
 
12
9
  def register_command_testing_routes(api, command_handler):