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