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.
- {domd-2.3.7 → domd-2.3.8}/PKG-INFO +24 -118
- {domd-2.3.7 → domd-2.3.8}/README.md +20 -114
- {domd-2.3.7 → domd-2.3.8}/pyproject.toml +4 -4
- {domd-2.3.7 → domd-2.3.8}/src/domd/__init__.py +1 -1
- {domd-2.3.7 → domd-2.3.8}/src/domd/adapters/api/command_testing.py +2 -5
- {domd-2.3.7 → domd-2.3.8}/src/domd/adapters/api/flask_api.py +95 -40
- {domd-2.3.7 → domd-2.3.8}/src/domd/adapters/persistence/shell_command_executor.py +1 -1
- {domd-2.3.7 → domd-2.3.8}/src/domd/cli/cli.py +11 -5
- {domd-2.3.7 → domd-2.3.8}/src/domd/cli/commands/test_commands.py +2 -2
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/command_detection/docker_tester.py +3 -4
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/command_detection/handlers/command_handler.py +32 -69
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/command_detection/handlers/config_handler.py +1 -1
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/command_detection/parsers/parser_registry.py +1 -1
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/command_detection/utils/file_utils.py +1 -1
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/command_execution/environment_detector.py +1 -1
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/commands/executor.py +7 -3
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/parsers/ansible_galaxy.py +5 -5
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/parsers/ansible_inventory.py +4 -4
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/parsers/ansible_playbook.py +4 -4
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/parsers/ansible_role.py +3 -3
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/parsers/ansible_vault.py +4 -4
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/parsers/composer_json.py +1 -1
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/parsers/package_json.py +1 -1
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/parsers/tox_ini.py +1 -1
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/parsing/parser_registry.py +2 -1
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/parsing/pattern_matcher.py +16 -6
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/ports/command_executor.py +1 -1
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/ports/command_repository.py +1 -1
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/project_detection/command_handling.py +39 -26
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/project_detection/detector.py +11 -11
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/reporting/formatters.py +1 -1
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/reporting/reporter.py +1 -1
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/services/report_service.py +1 -1
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/utils/environment.py +2 -2
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/utils/file_utils.py +1 -1
- {domd-2.3.7 → domd-2.3.8}/src/domd/parsers/docker/docker_compose.py +1 -1
- {domd-2.3.7 → domd-2.3.8}/src/domd/parsers/docker/dockerfile.py +1 -1
- {domd-2.3.7 → domd-2.3.8}/src/domd/parsers/markdown_parser.py +1 -2
- {domd-2.3.7 → domd-2.3.8}/src/domd/utils/path_utils.py +1 -1
- {domd-2.3.7 → domd-2.3.8}/src/domd.egg-info/PKG-INFO +24 -118
- {domd-2.3.7 → domd-2.3.8}/src/domd.egg-info/requires.txt +2 -2
- {domd-2.3.7 → domd-2.3.8}/tests/test_command_handling.py +29 -9
- {domd-2.3.7 → domd-2.3.8}/tests/test_command_testing.py +2 -3
- domd-2.3.8/tests/test_detector.py +85 -0
- domd-2.3.7/tests/test_detector.py +0 -1377
- {domd-2.3.7 → domd-2.3.8}/LICENSE +0 -0
- {domd-2.3.7 → domd-2.3.8}/setup.cfg +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/adapters/__init__.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/adapters/api/__init__.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/adapters/cli/__init__.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/adapters/cli/command_presenter.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/adapters/formatters/__init__.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/adapters/formatters/markdown_formatter.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/adapters/persistence/__init__.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/adapters/persistence/in_memory_command_repository.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/api.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/application/__init__.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/application/factory.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/cli/__init__.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/command_execution/__init__.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/__init__.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/command_detection/__init__.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/command_detection/base_detector.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/command_detection/handlers/__init__.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/command_detection/models.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/command_detection/parsers/__init__.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/command_detection/parsers/base_parser.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/command_detection/project_detector.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/command_detection/utils/__init__.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/command_detection/utils/virtualenv.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/command_execution/__init__.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/command_execution/command_executor.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/command_execution/command_recorder.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/command_execution/command_runner.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/command_execution/executor.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/commands/__init__.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/commands/command.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/detector.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/domain/__init__.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/domain/command.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/parsers/__init__.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/parsers/base.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/parsers/cargo_toml.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/parsers/go_mod.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/parsers/makefile.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/parsers/pyproject_toml.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/parsing/__init__.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/parsing/base.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/parsing/file_processor.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/ports/__init__.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/ports/report_formatter.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/project_detection/__init__.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/project_detection/config_files.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/project_detection/file_command_processor.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/project_detection/virtualenv.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/reporters/__init__.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/reporters/base.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/reporters/done_md.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/reporters/todo_md.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/reporting/__init__.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/services/__init__.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/services/command_service.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/utils/__init__.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/utils/command_utils.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/utils/logging_utils.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/core/utils/virtualenv.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/parsers/__init__.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/parsers/ansible.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/parsers/base.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/parsers/build_systems.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/parsers/ci_cd.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/parsers/docker/__init__.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/parsers/docker.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/parsers/javascript/__init__.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/parsers/javascript.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/parsers/package_json.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/parsers/python.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/parsers/test_build_systems.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/parsers/test_ci_cd.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/parsers/test_docker.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/parsers/test_javascript.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/parsers/test_python.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/parsing/__init__.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/parsing/base.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/reporters/__init__.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/reporters/console.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/reporters/json_reporter.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/reporters/test_console.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/reporters/test_json_reporter.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/reporters/test_todo_md.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/reporters/todo_md.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/reporting/__init__.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/utils/__init__.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/utils/command_runner.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/utils/file_utils.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/utils/test_command_runner.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd/utils/test_file_utils.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd.egg-info/SOURCES.txt +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd.egg-info/dependency_links.txt +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd.egg-info/entry_points.txt +0 -0
- {domd-2.3.7 → domd-2.3.8}/src/domd.egg-info/top_level.txt +0 -0
- {domd-2.3.7 → domd-2.3.8}/tests/test_ansible.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/tests/test_ansible_galaxy.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/tests/test_ansible_inventory.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/tests/test_ansible_playbook.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/tests/test_ansible_roles.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/tests/test_ansible_vault.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/tests/test_cli.py +0 -0
- {domd-2.3.7 → domd-2.3.8}/tests/test_detector_poetry_scripts.py +0 -0
- {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.
|
|
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.
|
|
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.
|
|
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
|
-
 
|
|
50
48
|
|
|
51
|
-
This project uses AI-generated code. Total cost: **$
|
|
49
|
+
This project uses AI-generated code. Total cost: **$10.1243** with **100** AI commits.
|
|
52
50
|
|
|
53
|
-
Generated on 2026-
|
|
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
|
[](https://opensource.org/licenses/Apache-2.0)
|
|
60
56
|
[](https://www.python.org/downloads/)
|
|
61
57
|
[](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
|
-
 
|
|
6
4
|
|
|
7
|
-
This project uses AI-generated code. Total cost: **$
|
|
5
|
+
This project uses AI-generated code. Total cost: **$10.1243** with **100** AI commits.
|
|
8
6
|
|
|
9
|
-
Generated on 2026-
|
|
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
|
[](https://opensource.org/licenses/Apache-2.0)
|
|
16
12
|
[](https://www.python.org/downloads/)
|
|
17
13
|
[](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.
|
|
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 =
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
6
|
-
from
|
|
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):
|