domd 2.2.41__tar.gz → 2.2.64__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 (147) hide show
  1. {domd-2.2.41/src/domd.egg-info → domd-2.2.64}/PKG-INFO +167 -26
  2. {domd-2.2.41 → domd-2.2.64}/README.md +166 -25
  3. {domd-2.2.41 → domd-2.2.64}/pyproject.toml +2 -3
  4. {domd-2.2.41 → domd-2.2.64}/setup.cfg +1 -1
  5. {domd-2.2.41 → domd-2.2.64}/setup.py +1 -1
  6. {domd-2.2.41 → domd-2.2.64}/src/domd/__init__.py +1 -1
  7. {domd-2.2.41 → domd-2.2.64}/src/domd/adapters/api/command_testing.py +77 -58
  8. {domd-2.2.41 → domd-2.2.64}/src/domd/adapters/api/flask_api.py +18 -14
  9. {domd-2.2.41 → domd-2.2.64}/src/domd/application/factory.py +23 -0
  10. domd-2.2.64/src/domd/cli/__init__.py +9 -0
  11. {domd-2.2.41/src/domd → domd-2.2.64/src/domd/cli}/cli.py +17 -7
  12. {domd-2.2.41 → domd-2.2.64}/src/domd/core/command_detection/docker_tester.py +62 -55
  13. {domd-2.2.41 → domd-2.2.64}/src/domd/core/command_detection/handlers/command_handler.py +31 -18
  14. {domd-2.2.41 → domd-2.2.64}/src/domd/core/command_execution/executor.py +1 -0
  15. {domd-2.2.41 → domd-2.2.64}/src/domd/core/project_detection/virtualenv.py +5 -3
  16. {domd-2.2.41 → domd-2.2.64}/src/domd/core/utils/environment.py +1 -0
  17. {domd-2.2.41 → domd-2.2.64/src/domd.egg-info}/PKG-INFO +167 -26
  18. {domd-2.2.41 → domd-2.2.64}/src/domd.egg-info/SOURCES.txt +2 -1
  19. {domd-2.2.41 → domd-2.2.64}/tests/test_command_handling.py +1 -0
  20. {domd-2.2.41 → domd-2.2.64}/tests/test_command_testing.py +12 -4
  21. {domd-2.2.41 → domd-2.2.64}/LICENSE +0 -0
  22. {domd-2.2.41 → domd-2.2.64}/src/domd/adapters/__init__.py +0 -0
  23. {domd-2.2.41 → domd-2.2.64}/src/domd/adapters/api/__init__.py +0 -0
  24. {domd-2.2.41 → domd-2.2.64}/src/domd/adapters/cli/__init__.py +0 -0
  25. {domd-2.2.41 → domd-2.2.64}/src/domd/adapters/cli/command_presenter.py +0 -0
  26. {domd-2.2.41 → domd-2.2.64}/src/domd/adapters/formatters/__init__.py +0 -0
  27. {domd-2.2.41 → domd-2.2.64}/src/domd/adapters/formatters/markdown_formatter.py +0 -0
  28. {domd-2.2.41 → domd-2.2.64}/src/domd/adapters/persistence/__init__.py +0 -0
  29. {domd-2.2.41 → domd-2.2.64}/src/domd/adapters/persistence/in_memory_command_repository.py +0 -0
  30. {domd-2.2.41 → domd-2.2.64}/src/domd/adapters/persistence/shell_command_executor.py +0 -0
  31. {domd-2.2.41 → domd-2.2.64}/src/domd/api.py +0 -0
  32. {domd-2.2.41 → domd-2.2.64}/src/domd/application/__init__.py +0 -0
  33. {domd-2.2.41 → domd-2.2.64}/src/domd/command_execution/__init__.py +0 -0
  34. {domd-2.2.41 → domd-2.2.64}/src/domd/core/__init__.py +0 -0
  35. {domd-2.2.41 → domd-2.2.64}/src/domd/core/command_detection/__init__.py +0 -0
  36. {domd-2.2.41 → domd-2.2.64}/src/domd/core/command_detection/base_detector.py +0 -0
  37. {domd-2.2.41 → domd-2.2.64}/src/domd/core/command_detection/handlers/__init__.py +0 -0
  38. {domd-2.2.41 → domd-2.2.64}/src/domd/core/command_detection/handlers/config_handler.py +0 -0
  39. {domd-2.2.41 → domd-2.2.64}/src/domd/core/command_detection/models.py +0 -0
  40. {domd-2.2.41 → domd-2.2.64}/src/domd/core/command_detection/parsers/__init__.py +0 -0
  41. {domd-2.2.41 → domd-2.2.64}/src/domd/core/command_detection/parsers/base_parser.py +0 -0
  42. {domd-2.2.41 → domd-2.2.64}/src/domd/core/command_detection/parsers/parser_registry.py +0 -0
  43. {domd-2.2.41 → domd-2.2.64}/src/domd/core/command_detection/project_detector.py +0 -0
  44. {domd-2.2.41 → domd-2.2.64}/src/domd/core/command_detection/utils/__init__.py +0 -0
  45. {domd-2.2.41 → domd-2.2.64}/src/domd/core/command_detection/utils/file_utils.py +0 -0
  46. {domd-2.2.41 → domd-2.2.64}/src/domd/core/command_detection/utils/virtualenv.py +0 -0
  47. {domd-2.2.41 → domd-2.2.64}/src/domd/core/command_execution/__init__.py +0 -0
  48. {domd-2.2.41 → domd-2.2.64}/src/domd/core/command_execution/command_executor.py +0 -0
  49. {domd-2.2.41 → domd-2.2.64}/src/domd/core/command_execution/command_recorder.py +0 -0
  50. {domd-2.2.41 → domd-2.2.64}/src/domd/core/command_execution/command_runner.py +0 -0
  51. {domd-2.2.41 → domd-2.2.64}/src/domd/core/command_execution/environment_detector.py +0 -0
  52. {domd-2.2.41 → domd-2.2.64}/src/domd/core/commands/__init__.py +0 -0
  53. {domd-2.2.41 → domd-2.2.64}/src/domd/core/commands/command.py +0 -0
  54. {domd-2.2.41 → domd-2.2.64}/src/domd/core/commands/executor.py +0 -0
  55. {domd-2.2.41 → domd-2.2.64}/src/domd/core/detector.py +0 -0
  56. {domd-2.2.41 → domd-2.2.64}/src/domd/core/domain/__init__.py +0 -0
  57. {domd-2.2.41 → domd-2.2.64}/src/domd/core/domain/command.py +0 -0
  58. {domd-2.2.41 → domd-2.2.64}/src/domd/core/parsers/__init__.py +0 -0
  59. {domd-2.2.41 → domd-2.2.64}/src/domd/core/parsers/ansible_galaxy.py +0 -0
  60. {domd-2.2.41 → domd-2.2.64}/src/domd/core/parsers/ansible_inventory.py +0 -0
  61. {domd-2.2.41 → domd-2.2.64}/src/domd/core/parsers/ansible_playbook.py +0 -0
  62. {domd-2.2.41 → domd-2.2.64}/src/domd/core/parsers/ansible_role.py +0 -0
  63. {domd-2.2.41 → domd-2.2.64}/src/domd/core/parsers/ansible_vault.py +0 -0
  64. {domd-2.2.41 → domd-2.2.64}/src/domd/core/parsers/base.py +0 -0
  65. {domd-2.2.41 → domd-2.2.64}/src/domd/core/parsers/cargo_toml.py +0 -0
  66. {domd-2.2.41 → domd-2.2.64}/src/domd/core/parsers/composer_json.py +0 -0
  67. {domd-2.2.41 → domd-2.2.64}/src/domd/core/parsers/go_mod.py +0 -0
  68. {domd-2.2.41 → domd-2.2.64}/src/domd/core/parsers/makefile.py +0 -0
  69. {domd-2.2.41 → domd-2.2.64}/src/domd/core/parsers/package_json.py +0 -0
  70. {domd-2.2.41 → domd-2.2.64}/src/domd/core/parsers/pyproject_toml.py +0 -0
  71. {domd-2.2.41 → domd-2.2.64}/src/domd/core/parsers/tox_ini.py +0 -0
  72. {domd-2.2.41 → domd-2.2.64}/src/domd/core/parsing/__init__.py +0 -0
  73. {domd-2.2.41 → domd-2.2.64}/src/domd/core/parsing/base.py +0 -0
  74. {domd-2.2.41 → domd-2.2.64}/src/domd/core/parsing/file_processor.py +0 -0
  75. {domd-2.2.41 → domd-2.2.64}/src/domd/core/parsing/parser_registry.py +0 -0
  76. {domd-2.2.41 → domd-2.2.64}/src/domd/core/parsing/pattern_matcher.py +0 -0
  77. {domd-2.2.41 → domd-2.2.64}/src/domd/core/ports/__init__.py +0 -0
  78. {domd-2.2.41 → domd-2.2.64}/src/domd/core/ports/command_executor.py +0 -0
  79. {domd-2.2.41 → domd-2.2.64}/src/domd/core/ports/command_repository.py +0 -0
  80. {domd-2.2.41 → domd-2.2.64}/src/domd/core/ports/report_formatter.py +0 -0
  81. {domd-2.2.41 → domd-2.2.64}/src/domd/core/project_detection/__init__.py +0 -0
  82. {domd-2.2.41 → domd-2.2.64}/src/domd/core/project_detection/command_handling.py +0 -0
  83. {domd-2.2.41 → domd-2.2.64}/src/domd/core/project_detection/config_files.py +0 -0
  84. {domd-2.2.41 → domd-2.2.64}/src/domd/core/project_detection/detector.py +0 -0
  85. {domd-2.2.41 → domd-2.2.64}/src/domd/core/reporters/__init__.py +0 -0
  86. {domd-2.2.41 → domd-2.2.64}/src/domd/core/reporters/base.py +0 -0
  87. {domd-2.2.41 → domd-2.2.64}/src/domd/core/reporters/done_md.py +0 -0
  88. {domd-2.2.41 → domd-2.2.64}/src/domd/core/reporters/todo_md.py +0 -0
  89. {domd-2.2.41 → domd-2.2.64}/src/domd/core/reporting/__init__.py +0 -0
  90. {domd-2.2.41 → domd-2.2.64}/src/domd/core/reporting/formatters.py +0 -0
  91. {domd-2.2.41 → domd-2.2.64}/src/domd/core/reporting/reporter.py +0 -0
  92. {domd-2.2.41 → domd-2.2.64}/src/domd/core/services/__init__.py +0 -0
  93. {domd-2.2.41 → domd-2.2.64}/src/domd/core/services/command_service.py +0 -0
  94. {domd-2.2.41 → domd-2.2.64}/src/domd/core/services/report_service.py +0 -0
  95. {domd-2.2.41 → domd-2.2.64}/src/domd/core/utils/__init__.py +0 -0
  96. {domd-2.2.41 → domd-2.2.64}/src/domd/core/utils/command_utils.py +0 -0
  97. {domd-2.2.41 → domd-2.2.64}/src/domd/core/utils/file_utils.py +0 -0
  98. {domd-2.2.41 → domd-2.2.64}/src/domd/core/utils/logging_utils.py +0 -0
  99. {domd-2.2.41 → domd-2.2.64}/src/domd/core/utils/virtualenv.py +0 -0
  100. {domd-2.2.41 → domd-2.2.64}/src/domd/parsers/__init__.py +0 -0
  101. {domd-2.2.41 → domd-2.2.64}/src/domd/parsers/ansible.py +0 -0
  102. {domd-2.2.41 → domd-2.2.64}/src/domd/parsers/base.py +0 -0
  103. {domd-2.2.41 → domd-2.2.64}/src/domd/parsers/build_systems.py +0 -0
  104. {domd-2.2.41 → domd-2.2.64}/src/domd/parsers/ci_cd.py +0 -0
  105. {domd-2.2.41 → domd-2.2.64}/src/domd/parsers/docker/__init__.py +0 -0
  106. {domd-2.2.41 → domd-2.2.64}/src/domd/parsers/docker/docker_compose.py +0 -0
  107. {domd-2.2.41 → domd-2.2.64}/src/domd/parsers/docker/dockerfile.py +0 -0
  108. {domd-2.2.41 → domd-2.2.64}/src/domd/parsers/docker.py +0 -0
  109. {domd-2.2.41 → domd-2.2.64}/src/domd/parsers/javascript/__init__.py +0 -0
  110. {domd-2.2.41 → domd-2.2.64}/src/domd/parsers/javascript.py +0 -0
  111. {domd-2.2.41 → domd-2.2.64}/src/domd/parsers/markdown_parser.py +0 -0
  112. {domd-2.2.41 → domd-2.2.64}/src/domd/parsers/package_json.py +0 -0
  113. {domd-2.2.41 → domd-2.2.64}/src/domd/parsers/python.py +0 -0
  114. {domd-2.2.41 → domd-2.2.64}/src/domd/parsers/test_build_systems.py +0 -0
  115. {domd-2.2.41 → domd-2.2.64}/src/domd/parsers/test_ci_cd.py +0 -0
  116. {domd-2.2.41 → domd-2.2.64}/src/domd/parsers/test_docker.py +0 -0
  117. {domd-2.2.41 → domd-2.2.64}/src/domd/parsers/test_javascript.py +0 -0
  118. {domd-2.2.41 → domd-2.2.64}/src/domd/parsers/test_python.py +0 -0
  119. {domd-2.2.41 → domd-2.2.64}/src/domd/parsing/__init__.py +0 -0
  120. {domd-2.2.41 → domd-2.2.64}/src/domd/parsing/base.py +0 -0
  121. {domd-2.2.41 → domd-2.2.64}/src/domd/reporters/__init__.py +0 -0
  122. {domd-2.2.41 → domd-2.2.64}/src/domd/reporters/console.py +0 -0
  123. {domd-2.2.41 → domd-2.2.64}/src/domd/reporters/json_reporter.py +0 -0
  124. {domd-2.2.41 → domd-2.2.64}/src/domd/reporters/test_console.py +0 -0
  125. {domd-2.2.41 → domd-2.2.64}/src/domd/reporters/test_json_reporter.py +0 -0
  126. {domd-2.2.41 → domd-2.2.64}/src/domd/reporters/test_todo_md.py +0 -0
  127. {domd-2.2.41 → domd-2.2.64}/src/domd/reporters/todo_md.py +0 -0
  128. {domd-2.2.41 → domd-2.2.64}/src/domd/reporting/__init__.py +0 -0
  129. {domd-2.2.41 → domd-2.2.64}/src/domd/utils/__init__.py +0 -0
  130. {domd-2.2.41 → domd-2.2.64}/src/domd/utils/command_runner.py +0 -0
  131. {domd-2.2.41 → domd-2.2.64}/src/domd/utils/file_utils.py +0 -0
  132. {domd-2.2.41 → domd-2.2.64}/src/domd/utils/path_utils.py +0 -0
  133. {domd-2.2.41 → domd-2.2.64}/src/domd/utils/test_command_runner.py +0 -0
  134. {domd-2.2.41 → domd-2.2.64}/src/domd/utils/test_file_utils.py +0 -0
  135. {domd-2.2.41 → domd-2.2.64}/src/domd.egg-info/dependency_links.txt +0 -0
  136. {domd-2.2.41 → domd-2.2.64}/src/domd.egg-info/entry_points.txt +0 -0
  137. {domd-2.2.41 → domd-2.2.64}/src/domd.egg-info/requires.txt +0 -0
  138. {domd-2.2.41 → domd-2.2.64}/src/domd.egg-info/top_level.txt +0 -0
  139. {domd-2.2.41 → domd-2.2.64}/tests/test_ansible.py +0 -0
  140. {domd-2.2.41 → domd-2.2.64}/tests/test_ansible_galaxy.py +0 -0
  141. {domd-2.2.41 → domd-2.2.64}/tests/test_ansible_inventory.py +0 -0
  142. {domd-2.2.41 → domd-2.2.64}/tests/test_ansible_playbook.py +0 -0
  143. {domd-2.2.41 → domd-2.2.64}/tests/test_ansible_roles.py +0 -0
  144. {domd-2.2.41 → domd-2.2.64}/tests/test_ansible_vault.py +0 -0
  145. {domd-2.2.41 → domd-2.2.64}/tests/test_cli.py +0 -0
  146. {domd-2.2.41 → domd-2.2.64}/tests/test_detector.py +0 -0
  147. {domd-2.2.41 → domd-2.2.64}/tests/test_virtualenv.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: domd
3
- Version: 2.2.41
3
+ Version: 2.2.64
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
  Home-page: https://github.com/wronai/domd
6
6
  Author: Tom Sapletta
@@ -53,16 +53,21 @@ Dynamic: requires-python
53
53
  [![Python Version](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)
54
54
  [![Code Style: Black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
55
55
  [![Tests](https://github.com/wronai/domd/workflows/Tests/badge.svg)](https://github.com/wronai/domd/actions)
56
- [![Docker Support](https://img.shields.io/badge/Docker-Supported-2496ED?logo=docker)](https://www.docker.com/)
57
- [![Documentation](https://img.shields.io/badge/Docs-Read%20the%20Docs-blue)](https://wronai.github.io/domd/)
56
+ [![Docker Support][docker-badge]][docker-url]
57
+ [![Documentation][docs-badge]][docs-url]
58
58
 
59
59
  **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.
60
60
 
61
- ## 🌟 Web Interface
61
+ ```bash
62
+ # Start DoMD analyzer
63
+ domd
64
+ ```
65
+
66
+ ## Web Interface
62
67
 
63
68
  DoMD comes with a modern web interface that allows you to interact with your project's commands through a user-friendly dashboard.
64
69
 
65
- ### 🚀 Starting the Web Interface
70
+ ### Starting the Web Interface
66
71
 
67
72
  ```bash
68
73
  # Start the web interface on default port (3000)
@@ -75,7 +80,7 @@ domd web --port 8088
75
80
  domd web --no-browser
76
81
  ```
77
82
 
78
- ### 🌈 Features
83
+ ### Web Interface Features
79
84
 
80
85
  - **Command Management**: View, run, and manage all your project commands from one place
81
86
  - **Real-time Output**: See command execution results in real-time
@@ -83,13 +88,13 @@ domd web --no-browser
83
88
  - **Responsive Design**: Works on both desktop and mobile devices
84
89
  - **Dark Mode**: Built-in dark theme for comfortable viewing
85
90
 
86
- ### 🛠️ Requirements
91
+ ### Requirements
87
92
 
88
93
  - Node.js 16+ and npm 8+
89
94
  - Python 3.9+
90
95
  - Modern web browser (Chrome, Firefox, Safari, or Edge)
91
96
 
92
- ### Getting Started
97
+ ### Web Interface Setup
93
98
 
94
99
  1. Start the web interface:
95
100
 
@@ -115,7 +120,7 @@ cd frontend
115
120
  npm start
116
121
  ```
117
122
 
118
- ## Core Features
123
+ ## Core Features
119
124
 
120
125
  - **Automatic Command Detection** - Discovers and extracts commands from various project files
121
126
  - **Smart Execution** - Runs commands and captures their output and status
@@ -181,7 +186,7 @@ For more details, see the [Command Testing Documentation](docs/command_testing.m
181
186
  Choose the installation method that works best for you:
182
187
 
183
188
  ```bash
184
- #1. **Install DoMD** (if not already installed):
189
+ 1. **Install DoMD** (if not already installed):
185
190
 
186
191
  ```bash
187
192
  pip install domd
@@ -214,11 +219,11 @@ Choose the installation method that works best for you:
214
219
  domd web
215
220
  ```
216
221
 
217
- ## Web Interface
222
+ ## Web Interface Overview
218
223
 
219
224
  DoMD includes a secure web-based interface for a more interactive experience:
220
225
 
221
- ### Starting the Web Interface
226
+ ### Web Interface Setup
222
227
 
223
228
  ```bash
224
229
  # Start the web interface (default port: 3003)
@@ -234,6 +239,119 @@ domd web --no-browser
234
239
  domd web --host 0.0.0.0
235
240
  ```
236
241
 
242
+ DoMD will:
243
+ - Scan your project for available commands
244
+ - Execute the commands in the correct context
245
+ - Generate a report in `TODO.md` with any issues found
246
+ - Update `DONE.md` with successfully executed commands
247
+
248
+ ### Common Commands
249
+
250
+ - List available commands without executing them:
251
+ ```bash
252
+ domd --list
253
+ ```
254
+
255
+ - Run a specific command by name or pattern:
256
+ ```bash
257
+ domd run test
258
+ domd run "test*"
259
+ ```
260
+
261
+ - Generate a report without executing commands:
262
+ ```bash
263
+ domd --dry-run
264
+ ```
265
+
266
+ - Get help with available options:
267
+ ```bash
268
+ domd --help
269
+ ```
270
+
271
+ > Pro Tip: Run `domd` regularly to keep your project documentation in sync with your actual project state!
272
+
273
+ ## Web Interface
274
+
275
+ DoMD comes with a web-based interface for a more interactive experience. Here's how to get it running:
276
+
277
+ ### Development Prerequisites
278
+
279
+ - Node.js (v14 or later)
280
+ - npm (comes with Node.js) or Yarn
281
+
282
+ ### Running the Development Server
283
+
284
+ 1. Navigate to the frontend directory:
285
+
286
+ ```bash
287
+ cd frontend
288
+ ```
289
+
290
+ 2. Install dependencies:
291
+
292
+ ```bash
293
+ npm install
294
+ # or if you use Yarn:
295
+ # yarn
296
+ ```
297
+
298
+ 3. Start the development server:
299
+
300
+ ```bash
301
+ npm start
302
+ # or if you use Yarn:
303
+ # yarn start
304
+ ```
305
+
306
+ 4. Open your browser and visit [http://localhost:3003](http://localhost:3003)
307
+
308
+ ### Building for Production
309
+
310
+ To create a production build:
311
+
312
+ ```bash
313
+ cd frontend
314
+ npm run build
315
+ # or with Yarn:
316
+ # yarn build
317
+ ```
318
+
319
+ This will create an optimized production build in the `build` directory.
320
+
321
+ ## Documentation
322
+
323
+ For detailed documentation, please visit our [documentation site](https://wronai.github.io/domd/) or check the [docs](./docs) directory.
324
+
325
+ - [Installation Guide](./docs/installation.md)
326
+ - [Usage Guide](./docs/usage.md)
327
+ - [Docker Integration](./docs/docker.md)
328
+ - [Advanced Configuration](./docs/features/core.md)
329
+ - [API Reference](./docs/api.md)
330
+
331
+ ## Contributing
332
+
333
+ Contributions are welcome! Please read our [Contributing Guide][contributing] for details on how to get started.
334
+
335
+ ## License
336
+
337
+ This project is licensed under the Apache 2.0 License - see the [LICENSE](LICENSE) file for details.
338
+
339
+ ## Need Help?
340
+
341
+ Open an [issue][issues] if you need help or have questions.
342
+
343
+ [contributing]: https://github.com/wronai/domd/blob/main/CONTRIBUTING.md
344
+ [issues]: https://github.com/wronai/domd/issues
345
+
346
+ ## Pattern Matching
347
+
348
+ - Patterns support glob-style wildcards (`*` matches any sequence of characters)
349
+ - Matches are case-insensitive
350
+
351
+ ### Subdirectory README.md Support
352
+
353
+ 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.
354
+
237
355
  ### Local Development
238
356
 
239
357
  For local development, you can start both the backend and frontend services:
@@ -252,6 +370,9 @@ npm start
252
370
 
253
371
  The web interface is protected by authentication. Use the following default credentials:
254
372
 
373
+ - URL: [http://localhost:3000](http://localhost:3000) (frontend development server) or [http://localhost:3003](http://localhost:3003) (production build)
374
+ - Username: admin
375
+ - Password: admin123
255
376
  - **URL**: [http://localhost:3000](http://localhost:3000) (frontend development server) or [http://localhost:3003](http://localhost:3003) (production build)
256
377
  - **Username**: admin
257
378
  - **Password**: admin123
@@ -291,10 +412,13 @@ If you're having trouble logging in:
291
412
  - Stopping the server
292
413
  - Deleting the `domd.db` file (or your configured database file)
293
414
  - Restarting the server (this will recreate the database with default credentials)
294
- 2. Open http://localhost:3003 in your browser
295
- 3. Log in with the default credentials
296
- 4. Navigate to Settings > Users to change the default password
297
- 5. (Optional) Create additional users with appropriate permissions
415
+
416
+ Then:
417
+
418
+ 1. Open http://localhost:3003 in your browser
419
+ 2. Log in with the default credentials
420
+ 3. Navigate to Settings > Users to change the default password
421
+ 4. (Optional) Create additional users with appropriate permissions
298
422
 
299
423
  ### Prerequisites
300
424
 
@@ -305,7 +429,7 @@ To use the web interface, you'll need:
305
429
  - Internet connection (for loading external resources)
306
430
  - Modern web browser (Chrome, Firefox, Safari, or Edge)
307
431
 
308
- ## Basic Usage
432
+ ## Basic Command Line Usage
309
433
 
310
434
  1. Navigate to your project directory:
311
435
 
@@ -324,7 +448,7 @@ To use the web interface, you'll need:
324
448
 
325
449
  3. Open your browser and navigate to the displayed URL
326
450
 
327
- ## Command Line Usage
451
+ ## Advanced Command Line Usage
328
452
 
329
453
  For command-line usage, you can run:
330
454
 
@@ -367,7 +491,7 @@ domd
367
491
 
368
492
  DoMD comes with a web-based interface for a more interactive experience. Here's how to get it running:
369
493
 
370
- ### Prerequisites
494
+ ### Development Prerequisites
371
495
 
372
496
  - Node.js (v14 or later)
373
497
  - npm (comes with Node.js) or Yarn
@@ -423,7 +547,7 @@ For detailed documentation, please visit our [documentation site](https://wronai
423
547
 
424
548
  ## 🤝 Contributing
425
549
 
426
- Contributions are welcome! Please read our [Contributing Guide](CONTRIBUTING.md) for details on how to get started.
550
+ Contributions are welcome! Please read our [Contributing Guide][contributing] for details on how to get started.
427
551
 
428
552
  ## 📄 License
429
553
 
@@ -431,7 +555,13 @@ This project is licensed under the Apache 2.0 License - see the [LICENSE](LICENS
431
555
 
432
556
  ## 💡 Need Help?
433
557
 
434
- Open an [issue](https://github.com/wronai/domd/issues) if you need help or have questions.
558
+ Open an [issue][issues] if you need help or have questions.
559
+
560
+ [contributing]: https://github.com/wronai/domd/blob/main/CONTRIBUTING.md
561
+ [issues]: https://github.com/wronai/domd/issues
562
+
563
+ ## Pattern Matching
564
+
435
565
  - Patterns support glob-style wildcards (`*` matches any sequence of characters)
436
566
  - Matches are case-insensitive
437
567
 
@@ -632,11 +762,17 @@ This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENS
632
762
 
633
763
  ## 🔗 Links
634
764
 
635
- - [Documentation](https://domd.readthedocs.io)
636
- - [PyPI Package](https://pypi.org/project/domd/)
637
- - [GitHub Repository](https://github.com/wronai/domd)
638
- - [Issue Tracker](https://github.com/wronai/domd/issues)
639
- - [Changelog](https://github.com/wronai/domd/blob/main/CHANGELOG.md)
765
+ - [Documentation][docs]
766
+ - [PyPI Package][pypi]
767
+ - [GitHub Repository][github]
768
+ - [Issue Tracker][issues]
769
+ - [Changelog][changelog]
770
+
771
+ [docs]: https://domd.readthedocs.io
772
+ [pypi]: https://pypi.org/project/domd/
773
+ [github]: https://github.com/wronai/domd
774
+ [issues]: https://github.com/wronai/domd/issues
775
+ [changelog]: https://github.com/wronai/domd/blob/main/CHANGELOG.md
640
776
 
641
777
  ## 💡 Use Cases
642
778
 
@@ -700,3 +836,8 @@ repos:
700
836
  pass_filenames: false
701
837
  always_run: true
702
838
  ```
839
+
840
+ [docker-badge]: https://img.shields.io/badge/Docker-Supported-2496ED?logo=docker
841
+ [docker-url]: https://www.docker.com/
842
+ [docs-badge]: https://img.shields.io/badge/Docs-Read%20the%20Docs-blue
843
+ [docs-url]: https://wronai.github.io/domd/
@@ -4,16 +4,21 @@
4
4
  [![Python Version](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)
5
5
  [![Code Style: Black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
6
6
  [![Tests](https://github.com/wronai/domd/workflows/Tests/badge.svg)](https://github.com/wronai/domd/actions)
7
- [![Docker Support](https://img.shields.io/badge/Docker-Supported-2496ED?logo=docker)](https://www.docker.com/)
8
- [![Documentation](https://img.shields.io/badge/Docs-Read%20the%20Docs-blue)](https://wronai.github.io/domd/)
7
+ [![Docker Support][docker-badge]][docker-url]
8
+ [![Documentation][docs-badge]][docs-url]
9
9
 
10
10
  **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.
11
11
 
12
- ## 🌟 Web Interface
12
+ ```bash
13
+ # Start DoMD analyzer
14
+ domd
15
+ ```
16
+
17
+ ## Web Interface
13
18
 
14
19
  DoMD comes with a modern web interface that allows you to interact with your project's commands through a user-friendly dashboard.
15
20
 
16
- ### 🚀 Starting the Web Interface
21
+ ### Starting the Web Interface
17
22
 
18
23
  ```bash
19
24
  # Start the web interface on default port (3000)
@@ -26,7 +31,7 @@ domd web --port 8088
26
31
  domd web --no-browser
27
32
  ```
28
33
 
29
- ### 🌈 Features
34
+ ### Web Interface Features
30
35
 
31
36
  - **Command Management**: View, run, and manage all your project commands from one place
32
37
  - **Real-time Output**: See command execution results in real-time
@@ -34,13 +39,13 @@ domd web --no-browser
34
39
  - **Responsive Design**: Works on both desktop and mobile devices
35
40
  - **Dark Mode**: Built-in dark theme for comfortable viewing
36
41
 
37
- ### 🛠️ Requirements
42
+ ### Requirements
38
43
 
39
44
  - Node.js 16+ and npm 8+
40
45
  - Python 3.9+
41
46
  - Modern web browser (Chrome, Firefox, Safari, or Edge)
42
47
 
43
- ### Getting Started
48
+ ### Web Interface Setup
44
49
 
45
50
  1. Start the web interface:
46
51
 
@@ -66,7 +71,7 @@ cd frontend
66
71
  npm start
67
72
  ```
68
73
 
69
- ## Core Features
74
+ ## Core Features
70
75
 
71
76
  - **Automatic Command Detection** - Discovers and extracts commands from various project files
72
77
  - **Smart Execution** - Runs commands and captures their output and status
@@ -132,7 +137,7 @@ For more details, see the [Command Testing Documentation](docs/command_testing.m
132
137
  Choose the installation method that works best for you:
133
138
 
134
139
  ```bash
135
- #1. **Install DoMD** (if not already installed):
140
+ 1. **Install DoMD** (if not already installed):
136
141
 
137
142
  ```bash
138
143
  pip install domd
@@ -165,11 +170,11 @@ Choose the installation method that works best for you:
165
170
  domd web
166
171
  ```
167
172
 
168
- ## Web Interface
173
+ ## Web Interface Overview
169
174
 
170
175
  DoMD includes a secure web-based interface for a more interactive experience:
171
176
 
172
- ### Starting the Web Interface
177
+ ### Web Interface Setup
173
178
 
174
179
  ```bash
175
180
  # Start the web interface (default port: 3003)
@@ -185,6 +190,119 @@ domd web --no-browser
185
190
  domd web --host 0.0.0.0
186
191
  ```
187
192
 
193
+ DoMD will:
194
+ - Scan your project for available commands
195
+ - Execute the commands in the correct context
196
+ - Generate a report in `TODO.md` with any issues found
197
+ - Update `DONE.md` with successfully executed commands
198
+
199
+ ### Common Commands
200
+
201
+ - List available commands without executing them:
202
+ ```bash
203
+ domd --list
204
+ ```
205
+
206
+ - Run a specific command by name or pattern:
207
+ ```bash
208
+ domd run test
209
+ domd run "test*"
210
+ ```
211
+
212
+ - Generate a report without executing commands:
213
+ ```bash
214
+ domd --dry-run
215
+ ```
216
+
217
+ - Get help with available options:
218
+ ```bash
219
+ domd --help
220
+ ```
221
+
222
+ > Pro Tip: Run `domd` regularly to keep your project documentation in sync with your actual project state!
223
+
224
+ ## Web Interface
225
+
226
+ DoMD comes with a web-based interface for a more interactive experience. Here's how to get it running:
227
+
228
+ ### Development Prerequisites
229
+
230
+ - Node.js (v14 or later)
231
+ - npm (comes with Node.js) or Yarn
232
+
233
+ ### Running the Development Server
234
+
235
+ 1. Navigate to the frontend directory:
236
+
237
+ ```bash
238
+ cd frontend
239
+ ```
240
+
241
+ 2. Install dependencies:
242
+
243
+ ```bash
244
+ npm install
245
+ # or if you use Yarn:
246
+ # yarn
247
+ ```
248
+
249
+ 3. Start the development server:
250
+
251
+ ```bash
252
+ npm start
253
+ # or if you use Yarn:
254
+ # yarn start
255
+ ```
256
+
257
+ 4. Open your browser and visit [http://localhost:3003](http://localhost:3003)
258
+
259
+ ### Building for Production
260
+
261
+ To create a production build:
262
+
263
+ ```bash
264
+ cd frontend
265
+ npm run build
266
+ # or with Yarn:
267
+ # yarn build
268
+ ```
269
+
270
+ This will create an optimized production build in the `build` directory.
271
+
272
+ ## Documentation
273
+
274
+ For detailed documentation, please visit our [documentation site](https://wronai.github.io/domd/) or check the [docs](./docs) directory.
275
+
276
+ - [Installation Guide](./docs/installation.md)
277
+ - [Usage Guide](./docs/usage.md)
278
+ - [Docker Integration](./docs/docker.md)
279
+ - [Advanced Configuration](./docs/features/core.md)
280
+ - [API Reference](./docs/api.md)
281
+
282
+ ## Contributing
283
+
284
+ Contributions are welcome! Please read our [Contributing Guide][contributing] for details on how to get started.
285
+
286
+ ## License
287
+
288
+ This project is licensed under the Apache 2.0 License - see the [LICENSE](LICENSE) file for details.
289
+
290
+ ## Need Help?
291
+
292
+ Open an [issue][issues] if you need help or have questions.
293
+
294
+ [contributing]: https://github.com/wronai/domd/blob/main/CONTRIBUTING.md
295
+ [issues]: https://github.com/wronai/domd/issues
296
+
297
+ ## Pattern Matching
298
+
299
+ - Patterns support glob-style wildcards (`*` matches any sequence of characters)
300
+ - Matches are case-insensitive
301
+
302
+ ### Subdirectory README.md Support
303
+
304
+ 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.
305
+
188
306
  ### Local Development
189
307
 
190
308
  For local development, you can start both the backend and frontend services:
@@ -203,6 +321,9 @@ npm start
203
321
 
204
322
  The web interface is protected by authentication. Use the following default credentials:
205
323
 
324
+ - URL: [http://localhost:3000](http://localhost:3000) (frontend development server) or [http://localhost:3003](http://localhost:3003) (production build)
325
+ - Username: admin
326
+ - Password: admin123
206
327
  - **URL**: [http://localhost:3000](http://localhost:3000) (frontend development server) or [http://localhost:3003](http://localhost:3003) (production build)
207
328
  - **Username**: admin
208
329
  - **Password**: admin123
@@ -242,10 +363,13 @@ If you're having trouble logging in:
242
363
  - Stopping the server
243
364
  - Deleting the `domd.db` file (or your configured database file)
244
365
  - Restarting the server (this will recreate the database with default credentials)
245
- 2. Open http://localhost:3003 in your browser
246
- 3. Log in with the default credentials
247
- 4. Navigate to Settings > Users to change the default password
248
- 5. (Optional) Create additional users with appropriate permissions
366
+
367
+ Then:
368
+
369
+ 1. Open http://localhost:3003 in your browser
370
+ 2. Log in with the default credentials
371
+ 3. Navigate to Settings > Users to change the default password
372
+ 4. (Optional) Create additional users with appropriate permissions
249
373
 
250
374
  ### Prerequisites
251
375
 
@@ -256,7 +380,7 @@ To use the web interface, you'll need:
256
380
  - Internet connection (for loading external resources)
257
381
  - Modern web browser (Chrome, Firefox, Safari, or Edge)
258
382
 
259
- ## Basic Usage
383
+ ## Basic Command Line Usage
260
384
 
261
385
  1. Navigate to your project directory:
262
386
 
@@ -275,7 +399,7 @@ To use the web interface, you'll need:
275
399
 
276
400
  3. Open your browser and navigate to the displayed URL
277
401
 
278
- ## Command Line Usage
402
+ ## Advanced Command Line Usage
279
403
 
280
404
  For command-line usage, you can run:
281
405
 
@@ -318,7 +442,7 @@ domd
318
442
 
319
443
  DoMD comes with a web-based interface for a more interactive experience. Here's how to get it running:
320
444
 
321
- ### Prerequisites
445
+ ### Development Prerequisites
322
446
 
323
447
  - Node.js (v14 or later)
324
448
  - npm (comes with Node.js) or Yarn
@@ -374,7 +498,7 @@ For detailed documentation, please visit our [documentation site](https://wronai
374
498
 
375
499
  ## 🤝 Contributing
376
500
 
377
- Contributions are welcome! Please read our [Contributing Guide](CONTRIBUTING.md) for details on how to get started.
501
+ Contributions are welcome! Please read our [Contributing Guide][contributing] for details on how to get started.
378
502
 
379
503
  ## 📄 License
380
504
 
@@ -382,7 +506,13 @@ This project is licensed under the Apache 2.0 License - see the [LICENSE](LICENS
382
506
 
383
507
  ## 💡 Need Help?
384
508
 
385
- Open an [issue](https://github.com/wronai/domd/issues) if you need help or have questions.
509
+ Open an [issue][issues] if you need help or have questions.
510
+
511
+ [contributing]: https://github.com/wronai/domd/blob/main/CONTRIBUTING.md
512
+ [issues]: https://github.com/wronai/domd/issues
513
+
514
+ ## Pattern Matching
515
+
386
516
  - Patterns support glob-style wildcards (`*` matches any sequence of characters)
387
517
  - Matches are case-insensitive
388
518
 
@@ -583,11 +713,17 @@ This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENS
583
713
 
584
714
  ## 🔗 Links
585
715
 
586
- - [Documentation](https://domd.readthedocs.io)
587
- - [PyPI Package](https://pypi.org/project/domd/)
588
- - [GitHub Repository](https://github.com/wronai/domd)
589
- - [Issue Tracker](https://github.com/wronai/domd/issues)
590
- - [Changelog](https://github.com/wronai/domd/blob/main/CHANGELOG.md)
716
+ - [Documentation][docs]
717
+ - [PyPI Package][pypi]
718
+ - [GitHub Repository][github]
719
+ - [Issue Tracker][issues]
720
+ - [Changelog][changelog]
721
+
722
+ [docs]: https://domd.readthedocs.io
723
+ [pypi]: https://pypi.org/project/domd/
724
+ [github]: https://github.com/wronai/domd
725
+ [issues]: https://github.com/wronai/domd/issues
726
+ [changelog]: https://github.com/wronai/domd/blob/main/CHANGELOG.md
591
727
 
592
728
  ## 💡 Use Cases
593
729
 
@@ -651,3 +787,8 @@ repos:
651
787
  pass_filenames: false
652
788
  always_run: true
653
789
  ```
790
+
791
+ [docker-badge]: https://img.shields.io/badge/Docker-Supported-2496ED?logo=docker
792
+ [docker-url]: https://www.docker.com/
793
+ [docs-badge]: https://img.shields.io/badge/Docs-Read%20the%20Docs-blue
794
+ [docs-url]: https://wronai.github.io/domd/
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "domd"
3
- version = "2.2.41"
3
+ version = "2.3.1"
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 = ["Tom Sapletta <info@softreck.dev>"]
6
6
  maintainers = ["WRONAI Team"]
@@ -48,8 +48,6 @@ classifiers = [
48
48
  python = ">=3.9,<4.0"
49
49
  pyyaml = "^6.0"
50
50
  toml = "^0.10.2"
51
- configparser = "^5.3.0"
52
- pathlib = { version = "*", python = ">=3.4" }
53
51
 
54
52
  # Core dependencies
55
53
  docker = "^6.1.3"
@@ -89,6 +87,7 @@ mkdocs-material = "^9.0.0"
89
87
  mkdocstrings = {extras = ["python"], version = "^0.22.0"}
90
88
  pymdown-extensions = "^9.0"
91
89
  bandit = "^1.7.0"
90
+ alembic = "^1.16.2"
92
91
 
93
92
  [tool.poetry.group.docs.dependencies]
94
93
  mkdocs = "^1.5.0"
@@ -1,6 +1,6 @@
1
1
  [metadata]
2
2
  name = domd
3
- version = 2.2.41
3
+ version = 2.2.64
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
  long_description = file: README.md
6
6
  long_description_content_type = text/markdown
@@ -2,7 +2,7 @@ from setuptools import find_packages, setup
2
2
 
3
3
  setup(
4
4
  name="domd",
5
- version="2.2.41",
5
+ version="2.2.64",
6
6
  package_dir={"": "src"},
7
7
  packages=find_packages(where="src"),
8
8
  install_requires=[
@@ -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.2.41"
10
+ __version__ = "2.2.64"
11
11
  __author__ = "Tom Sapletta"
12
12
  __email__ = "info@softreck.dev"
13
13
  __license__ = "Apache-2.0"