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.
- {domd-2.2.41/src/domd.egg-info → domd-2.2.64}/PKG-INFO +167 -26
- {domd-2.2.41 → domd-2.2.64}/README.md +166 -25
- {domd-2.2.41 → domd-2.2.64}/pyproject.toml +2 -3
- {domd-2.2.41 → domd-2.2.64}/setup.cfg +1 -1
- {domd-2.2.41 → domd-2.2.64}/setup.py +1 -1
- {domd-2.2.41 → domd-2.2.64}/src/domd/__init__.py +1 -1
- {domd-2.2.41 → domd-2.2.64}/src/domd/adapters/api/command_testing.py +77 -58
- {domd-2.2.41 → domd-2.2.64}/src/domd/adapters/api/flask_api.py +18 -14
- {domd-2.2.41 → domd-2.2.64}/src/domd/application/factory.py +23 -0
- domd-2.2.64/src/domd/cli/__init__.py +9 -0
- {domd-2.2.41/src/domd → domd-2.2.64/src/domd/cli}/cli.py +17 -7
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/command_detection/docker_tester.py +62 -55
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/command_detection/handlers/command_handler.py +31 -18
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/command_execution/executor.py +1 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/project_detection/virtualenv.py +5 -3
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/utils/environment.py +1 -0
- {domd-2.2.41 → domd-2.2.64/src/domd.egg-info}/PKG-INFO +167 -26
- {domd-2.2.41 → domd-2.2.64}/src/domd.egg-info/SOURCES.txt +2 -1
- {domd-2.2.41 → domd-2.2.64}/tests/test_command_handling.py +1 -0
- {domd-2.2.41 → domd-2.2.64}/tests/test_command_testing.py +12 -4
- {domd-2.2.41 → domd-2.2.64}/LICENSE +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/adapters/__init__.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/adapters/api/__init__.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/adapters/cli/__init__.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/adapters/cli/command_presenter.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/adapters/formatters/__init__.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/adapters/formatters/markdown_formatter.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/adapters/persistence/__init__.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/adapters/persistence/in_memory_command_repository.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/adapters/persistence/shell_command_executor.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/api.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/application/__init__.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/command_execution/__init__.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/__init__.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/command_detection/__init__.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/command_detection/base_detector.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/command_detection/handlers/__init__.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/command_detection/handlers/config_handler.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/command_detection/models.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/command_detection/parsers/__init__.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/command_detection/parsers/base_parser.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/command_detection/parsers/parser_registry.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/command_detection/project_detector.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/command_detection/utils/__init__.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/command_detection/utils/file_utils.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/command_detection/utils/virtualenv.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/command_execution/__init__.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/command_execution/command_executor.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/command_execution/command_recorder.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/command_execution/command_runner.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/command_execution/environment_detector.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/commands/__init__.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/commands/command.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/commands/executor.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/detector.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/domain/__init__.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/domain/command.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/parsers/__init__.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/parsers/ansible_galaxy.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/parsers/ansible_inventory.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/parsers/ansible_playbook.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/parsers/ansible_role.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/parsers/ansible_vault.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/parsers/base.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/parsers/cargo_toml.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/parsers/composer_json.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/parsers/go_mod.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/parsers/makefile.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/parsers/package_json.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/parsers/pyproject_toml.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/parsers/tox_ini.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/parsing/__init__.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/parsing/base.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/parsing/file_processor.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/parsing/parser_registry.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/parsing/pattern_matcher.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/ports/__init__.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/ports/command_executor.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/ports/command_repository.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/ports/report_formatter.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/project_detection/__init__.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/project_detection/command_handling.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/project_detection/config_files.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/project_detection/detector.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/reporters/__init__.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/reporters/base.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/reporters/done_md.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/reporters/todo_md.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/reporting/__init__.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/reporting/formatters.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/reporting/reporter.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/services/__init__.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/services/command_service.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/services/report_service.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/utils/__init__.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/utils/command_utils.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/utils/file_utils.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/utils/logging_utils.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/core/utils/virtualenv.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/parsers/__init__.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/parsers/ansible.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/parsers/base.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/parsers/build_systems.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/parsers/ci_cd.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/parsers/docker/__init__.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/parsers/docker/docker_compose.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/parsers/docker/dockerfile.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/parsers/docker.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/parsers/javascript/__init__.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/parsers/javascript.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/parsers/markdown_parser.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/parsers/package_json.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/parsers/python.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/parsers/test_build_systems.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/parsers/test_ci_cd.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/parsers/test_docker.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/parsers/test_javascript.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/parsers/test_python.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/parsing/__init__.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/parsing/base.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/reporters/__init__.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/reporters/console.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/reporters/json_reporter.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/reporters/test_console.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/reporters/test_json_reporter.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/reporters/test_todo_md.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/reporters/todo_md.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/reporting/__init__.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/utils/__init__.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/utils/command_runner.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/utils/file_utils.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/utils/path_utils.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/utils/test_command_runner.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd/utils/test_file_utils.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd.egg-info/dependency_links.txt +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd.egg-info/entry_points.txt +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd.egg-info/requires.txt +0 -0
- {domd-2.2.41 → domd-2.2.64}/src/domd.egg-info/top_level.txt +0 -0
- {domd-2.2.41 → domd-2.2.64}/tests/test_ansible.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/tests/test_ansible_galaxy.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/tests/test_ansible_inventory.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/tests/test_ansible_playbook.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/tests/test_ansible_roles.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/tests/test_ansible_vault.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/tests/test_cli.py +0 -0
- {domd-2.2.41 → domd-2.2.64}/tests/test_detector.py +0 -0
- {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.
|
|
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
|
[](https://www.python.org/downloads/)
|
|
54
54
|
[](https://github.com/psf/black)
|
|
55
55
|
[](https://github.com/wronai/domd/actions)
|
|
56
|
-
[![Docker Support]
|
|
57
|
-
[![Documentation]
|
|
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
|
-
|
|
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
|
-
###
|
|
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
|
-
###
|
|
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
|
-
###
|
|
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
|
-
###
|
|
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
|
-
|
|
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
|
-
###
|
|
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
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
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]
|
|
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]
|
|
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]
|
|
636
|
-
- [PyPI Package]
|
|
637
|
-
- [GitHub Repository]
|
|
638
|
-
- [Issue Tracker]
|
|
639
|
-
- [Changelog]
|
|
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
|
[](https://www.python.org/downloads/)
|
|
5
5
|
[](https://github.com/psf/black)
|
|
6
6
|
[](https://github.com/wronai/domd/actions)
|
|
7
|
-
[![Docker Support]
|
|
8
|
-
[![Documentation]
|
|
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
|
-
|
|
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
|
-
###
|
|
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
|
-
###
|
|
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
|
-
###
|
|
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
|
-
###
|
|
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
|
-
|
|
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
|
-
###
|
|
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
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
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]
|
|
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]
|
|
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]
|
|
587
|
-
- [PyPI Package]
|
|
588
|
-
- [GitHub Repository]
|
|
589
|
-
- [Issue Tracker]
|
|
590
|
-
- [Changelog]
|
|
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.
|
|
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.
|
|
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
|
|
@@ -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.
|
|
10
|
+
__version__ = "2.2.64"
|
|
11
11
|
__author__ = "Tom Sapletta"
|
|
12
12
|
__email__ = "info@softreck.dev"
|
|
13
13
|
__license__ = "Apache-2.0"
|