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