kingmadoc 0.3.0.dev14__tar.gz → 0.3.0.dev16__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.
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/PKG-INFO +1 -1
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/skill/SKILL.md +2 -1
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/skill/codex.md +23 -15
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/skill/copilot.md +23 -15
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/skill/cursor.md +23 -15
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/skill/explaining-code/SKILL.md +2 -1
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/skill/reference/diagram-rules.md +18 -12
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/skill/reference/formats.md +3 -2
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/.featuredoc.yml +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/.github/workflows/ci.yml +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/.github/workflows/release.yml +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/.gitignore +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/CHANGELOG.md +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/CLAUDE.md +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/CONTRIBUTING.md +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/LICENSE +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/README.md +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/docs/conventions.md +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/docs/index.md +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/docs/releasing.md +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/docs/roadmap.md +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/docs/test-plan.md +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/evals/README.md +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/evals/fixtures/shop/manage.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/evals/fixtures/shop/requirements.txt +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/evals/fixtures/shop/shop/__init__.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/evals/fixtures/shop/shop/models.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/evals/fixtures/shop/shop/services.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/evals/fixtures/shop/shop/settings.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/evals/fixtures/shop/shop/urls.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/evals/fixtures/shop/shop/views.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/evals/fixtures/shop-discount/shop/discounts.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/evals/fixtures/shop-discount/shop/services.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/evals/results/2026-09-27T111837Z.json +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/evals/results/2026-09-27T112600Z.json +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/evals/results/2026-09-27T162715Z.json +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/evals/results/2026-09-28T064505Z.json +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/evals/results/2026-09-28T092643Z.json +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/evals/results/2026-09-28T093046Z.json +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/evals/scenarios/explain-branch.yml +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/evals/scenarios/explain-feature.yml +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/evals/scenarios/explain-fo-to.yml +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/evals/scenarios/plan-feature.yml +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/examples/verify-mode-plan.md +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/pyproject.toml +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/scripts/build_skill_variants.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/scripts/build_threat_reference.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/scripts/import_tmt_knowledge_base.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/scripts/run_evals.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/skill/explaining-code/reference/arc42.md +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/skill/explaining-code/reference/c4-model.md +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/skill/explaining-code/reference/c4.md +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/skill/explaining-code/reference/models.md +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/skill/explaining-code/reference/split.md +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/skill/explaining-code/reference/stories.md +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/skill/explaining-code/reference/threat-model.md +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/skill/explaining-code/reference/threats.md +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/__init__.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/about.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/adr.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/cli.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/config.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/d2_binary.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/diagrams/__init__.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/diagrams/base.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/diagrams/d2.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/diagrams/mermaid.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/diagrams/plantuml.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/documents.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/exceptions.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/explain.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/facts/__init__.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/facts/branch.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/facts/collect.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/facts/data_model.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/facts/dominators.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/facts/js_modules.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/facts/projects.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/facts/routes.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/facts/services.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/git.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/naming.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/plan/__init__.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/plan/analyzer.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/plan/dependencies.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/plan/generator.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/plan/models.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/plandoc.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/raster.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/render.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/scaffold.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/screenshots.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/skills.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/templates/adr.md.j2 +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/templates/domain_design.md.j2 +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/templates/functional_design.md.j2 +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/templates/plan_default.md.j2 +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/templates/security_design.md.j2 +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/templates/technical_design.md.j2 +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/templating.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/threats/__init__.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/threats/filters.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/threats/knowledge_base.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/threats/model.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/threats/report.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/threats/sdl_knowledge_base.json +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/verify/__init__.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/verify/changes.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/verify/commands.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/verify/deviations.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/verify/locate.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/verify/report.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/vscode.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/conftest.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/data/d2-sample.svg +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/fixtures/backends/d2/class.d2 +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/fixtures/backends/d2/component.d2 +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/fixtures/backends/d2/container.d2 +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/fixtures/backends/d2/context.d2 +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/fixtures/backends/d2/sequence.d2 +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/fixtures/backends/mermaid/class.mmd +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/fixtures/backends/mermaid/component.mmd +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/fixtures/backends/mermaid/container.mmd +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/fixtures/backends/mermaid/context.mmd +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/fixtures/backends/mermaid/sequence.mmd +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/fixtures/backends/plantuml/class.puml +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/fixtures/backends/plantuml/component.puml +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/fixtures/backends/plantuml/container.puml +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/fixtures/backends/plantuml/context.puml +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/fixtures/backends/plantuml/sequence.puml +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/fixtures/mermaid/component.mmd +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/fixtures/mermaid/container.mmd +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/fixtures/mermaid/context.mmd +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_adr.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_adr_numbering.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_analyzer.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_cli.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_cli_encoding.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_cli_init.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_cli_plan_custom_template.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_cli_sigint.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_cli_verify_config.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_config.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_config_poetry.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_config_shape.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_d2_download.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_dependencies.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_dependency_graph_model.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_design_diagrams_compile.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_design_models.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_diagram_backends.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_diagrams_mermaid.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_documents.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_duplicate_names.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_evals.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_explain.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_explain_check.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_explain_config.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_explain_status.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_extra_designs_coverage.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_facts.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_facts_code.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_facts_data_model.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_facts_dominators.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_functional_design.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_generator.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_grep_performance.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_manifests.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_max_lines_per_file.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_output_dir.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_plan_e2e.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_plandoc.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_properties.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_raster.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_render.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_scaffold.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_screenshots.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_security_domain_designs.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_skill.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_skill_explaining_code.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_skill_models.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_skills_install.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_source_dirs.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_summary_slug_diagram_defaults.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_technical_design.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_templating_security.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_threats.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_verify.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_verify_locate.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_version.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/test_vscode_preview.py +0 -0
- {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/uv.lock +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: kingmadoc
|
|
3
|
-
Version: 0.3.0.
|
|
3
|
+
Version: 0.3.0.dev16
|
|
4
4
|
Summary: Feature docs for AI coding agents: a plan with C4 diagrams before the code, a verification doc after.
|
|
5
5
|
Project-URL: Homepage, https://github.com/ATkingma/KingmaDoc
|
|
6
6
|
Project-URL: Issues, https://github.com/ATkingma/KingmaDoc/issues
|
|
@@ -145,7 +145,8 @@ the diagrams, but never beyond what the user said or the code shows.
|
|
|
145
145
|
vague REQ or invented ones. Under each: `Verified by: <test, test case or command>`
|
|
146
146
|
(or `_TODO_`).
|
|
147
147
|
- **Planned changes**: per `files_expected` path what changes and why (the "how" of
|
|
148
|
-
answer 4), one to three lines, no code blocks
|
|
148
|
+
answer 4), one to three lines, no code blocks; where a code snippet would help
|
|
149
|
+
(a new method, a changed signature), draw a small `classDiagram` with just those members. Risks and assumptions may add code
|
|
149
150
|
findings marked _(inferred)_.
|
|
150
151
|
- **Generated**: the real system time (`date -Iminutes`).
|
|
151
152
|
- External systems: those from answer 3, plus systems the code demonstrably uses
|
|
@@ -145,7 +145,8 @@ the diagrams, but never beyond what the user said or the code shows.
|
|
|
145
145
|
vague REQ or invented ones. Under each: `Verified by: <test, test case or command>`
|
|
146
146
|
(or `_TODO_`).
|
|
147
147
|
- **Planned changes**: per `files_expected` path what changes and why (the "how" of
|
|
148
|
-
answer 4), one to three lines, no code blocks
|
|
148
|
+
answer 4), one to three lines, no code blocks; where a code snippet would help
|
|
149
|
+
(a new method, a changed signature), draw a small `classDiagram` with just those members. Risks and assumptions may add code
|
|
149
150
|
findings marked _(inferred)_.
|
|
150
151
|
- **Generated**: the real system time (`date -Iminutes`).
|
|
151
152
|
- External systems: those from answer 3, plus systems the code demonstrably uses
|
|
@@ -233,8 +234,8 @@ Show the user the path, the number of deviations, and any failing check.
|
|
|
233
234
|
- **Always Mermaid** (ignore `diagram_format`; PlantUML/D2 are CLI-only). Mermaid is
|
|
234
235
|
the source of truth; every diagram is also rendered to a PNG and embedded in the
|
|
235
236
|
Markdown (see [Rendering](#rendering)).
|
|
236
|
-
- **Always
|
|
237
|
-
block, with nothing else
|
|
237
|
+
- **Always complete**: every diagram is a complete Mermaid diagram (a ` ```mermaid `
|
|
238
|
+
block, or its `.mmd` file once rendered), with nothing else in it.
|
|
238
239
|
- **Always labeled**:
|
|
239
240
|
- C4 and `sequenceDiagram`: the first line after the diagram type is `title <text>`
|
|
240
241
|
(`System Context: <project>`, `Containers: <project>`);
|
|
@@ -292,7 +293,7 @@ this line: _Disabled in `.featuredoc.yml` (`diagrams`)._
|
|
|
292
293
|
|
|
293
294
|
`diagrams_png` in `.featuredoc.yml` [`embed`]: `embed` (below), `file` (the PNG goes to
|
|
294
295
|
`<output_dir>/img/<slug>-<diagram>.png`, linked with ``)
|
|
295
|
-
or `off` (no image
|
|
296
|
+
or `off` (no image; the ` ```mermaid ` block stays in the document).
|
|
296
297
|
|
|
297
298
|
- **Mode comes only from `.featuredoc.yml`.** No file or no `diagrams_png` key → `embed`.
|
|
298
299
|
Never infer the mode from existing files (an `img/` folder, how an earlier doc did it).
|
|
@@ -300,26 +301,32 @@ or `off` (no image, only the Mermaid block).
|
|
|
300
301
|
`, never by hand.
|
|
304
|
+
- **No Mermaid source in the document** once its PNG is there: no ` ```mermaid ` block
|
|
305
|
+
and no `<details>` with the source. The source lives in
|
|
306
|
+
`<output_dir>/diagrams/<slug>-<diagram>.mmd`.
|
|
303
307
|
|
|
304
|
-
1. Write each
|
|
305
|
-
`
|
|
308
|
+
1. Write each diagram to `<output_dir>/diagrams/<slug>-<diagram>.mmd` (`<diagram>`:
|
|
309
|
+
`c4-context`, `c4-container`, `class`, `sequence-current`, `sequence-new`) and run:
|
|
310
|
+
`npx -y @mermaid-js/mermaid-cli -i <that>.mmd -o <tmp>.png -s 2 -b white -t default -p <puppeteer.json>`
|
|
306
311
|
(`-t default`: Mermaid's normal theme; newer versions otherwise colour every shape).
|
|
307
312
|
2. Set `PUPPETEER_SKIP_DOWNLOAD=true`, and let `puppeteer.json` point at an installed
|
|
308
313
|
browser, so no Chromium is downloaded:
|
|
309
314
|
`{"executablePath": "C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"}`
|
|
310
315
|
(or Chrome). Ask the user once before the first npm download: package
|
|
311
316
|
`@mermaid-js/mermaid-cli`, from the npm registry, about 50 MB with dependencies.
|
|
312
|
-
3.
|
|
317
|
+
3. In the document, in place of the block, two lines:
|
|
318
|
+
`<!-- kingmadoc:diagram diagrams/<slug>-<diagram>.mmd -->` and
|
|
313
319
|
``.
|
|
314
|
-
No separate image files go into the repo.
|
|
315
|
-
4.
|
|
316
|
-
|
|
317
|
-
the
|
|
320
|
+
No separate image files go into the repo (`file` mode aside).
|
|
321
|
+
4. To change a diagram, edit its `.mmd` file and render again; replace only the image
|
|
322
|
+
line below its comment. (GitHub shows no data-URI images; there the `.mmd` file is
|
|
323
|
+
the readable version.)
|
|
318
324
|
5. Look at every PNG after rendering (Read): not empty, no labels cut off at the edge,
|
|
319
325
|
no unexpected extra participants. If needed, fix the Mermaid (split or shorten a
|
|
320
326
|
label) and render again.
|
|
321
|
-
6. If rendering fails,
|
|
322
|
-
(in `language`) and carry on; the
|
|
327
|
+
6. If rendering fails, keep the ` ```mermaid ` block in the document, write
|
|
328
|
+
`_TODO: PNG not generated: <reason>._` below it (in `language`) and carry on; the
|
|
329
|
+
document stays valid.
|
|
323
330
|
|
|
324
331
|
## Output format
|
|
325
332
|
|
|
@@ -367,7 +374,8 @@ files_expected: [<existing files or folders the user said will change>]
|
|
|
367
374
|
## Planned changes
|
|
368
375
|
|
|
369
376
|
- `<path from files_expected>`: <what changes and why, one to three lines, no code
|
|
370
|
-
blocks
|
|
377
|
+
blocks (a small classDiagram with the changed members instead of a snippet); the "how"
|
|
378
|
+
from answer 4, or> _TODO: what changes here and why._
|
|
371
379
|
|
|
372
380
|
## Requirements
|
|
373
381
|
|
|
@@ -449,7 +457,7 @@ The classes this feature touches and their direct collaborators.
|
|
|
449
457
|
|
|
450
458
|
Omit "**Answered while planning**" when nothing was answered.
|
|
451
459
|
|
|
452
|
-
- Every diagram is
|
|
460
|
+
- Every diagram is its PNG, with the Mermaid source in a `.mmd` file (see
|
|
453
461
|
[Rendering](diagram-rules.md#rendering)); a disabled diagram keeps its section with
|
|
454
462
|
_Disabled in `.featuredoc.yml` (`diagrams`)._
|
|
455
463
|
- **Generated** is the real system time (`date -Iminutes`), never a guess.
|
|
@@ -145,7 +145,8 @@ the diagrams, but never beyond what the user said or the code shows.
|
|
|
145
145
|
vague REQ or invented ones. Under each: `Verified by: <test, test case or command>`
|
|
146
146
|
(or `_TODO_`).
|
|
147
147
|
- **Planned changes**: per `files_expected` path what changes and why (the "how" of
|
|
148
|
-
answer 4), one to three lines, no code blocks
|
|
148
|
+
answer 4), one to three lines, no code blocks; where a code snippet would help
|
|
149
|
+
(a new method, a changed signature), draw a small `classDiagram` with just those members. Risks and assumptions may add code
|
|
149
150
|
findings marked _(inferred)_.
|
|
150
151
|
- **Generated**: the real system time (`date -Iminutes`).
|
|
151
152
|
- External systems: those from answer 3, plus systems the code demonstrably uses
|
|
@@ -233,8 +234,8 @@ Show the user the path, the number of deviations, and any failing check.
|
|
|
233
234
|
- **Always Mermaid** (ignore `diagram_format`; PlantUML/D2 are CLI-only). Mermaid is
|
|
234
235
|
the source of truth; every diagram is also rendered to a PNG and embedded in the
|
|
235
236
|
Markdown (see [Rendering](#rendering)).
|
|
236
|
-
- **Always
|
|
237
|
-
block, with nothing else
|
|
237
|
+
- **Always complete**: every diagram is a complete Mermaid diagram (a ` ```mermaid `
|
|
238
|
+
block, or its `.mmd` file once rendered), with nothing else in it.
|
|
238
239
|
- **Always labeled**:
|
|
239
240
|
- C4 and `sequenceDiagram`: the first line after the diagram type is `title <text>`
|
|
240
241
|
(`System Context: <project>`, `Containers: <project>`);
|
|
@@ -292,7 +293,7 @@ this line: _Disabled in `.featuredoc.yml` (`diagrams`)._
|
|
|
292
293
|
|
|
293
294
|
`diagrams_png` in `.featuredoc.yml` [`embed`]: `embed` (below), `file` (the PNG goes to
|
|
294
295
|
`<output_dir>/img/<slug>-<diagram>.png`, linked with ``)
|
|
295
|
-
or `off` (no image
|
|
296
|
+
or `off` (no image; the ` ```mermaid ` block stays in the document).
|
|
296
297
|
|
|
297
298
|
- **Mode comes only from `.featuredoc.yml`.** No file or no `diagrams_png` key → `embed`.
|
|
298
299
|
Never infer the mode from existing files (an `img/` folder, how an earlier doc did it).
|
|
@@ -300,26 +301,32 @@ or `off` (no image, only the Mermaid block).
|
|
|
300
301
|
`, never by hand.
|
|
304
|
+
- **No Mermaid source in the document** once its PNG is there: no ` ```mermaid ` block
|
|
305
|
+
and no `<details>` with the source. The source lives in
|
|
306
|
+
`<output_dir>/diagrams/<slug>-<diagram>.mmd`.
|
|
303
307
|
|
|
304
|
-
1. Write each
|
|
305
|
-
`
|
|
308
|
+
1. Write each diagram to `<output_dir>/diagrams/<slug>-<diagram>.mmd` (`<diagram>`:
|
|
309
|
+
`c4-context`, `c4-container`, `class`, `sequence-current`, `sequence-new`) and run:
|
|
310
|
+
`npx -y @mermaid-js/mermaid-cli -i <that>.mmd -o <tmp>.png -s 2 -b white -t default -p <puppeteer.json>`
|
|
306
311
|
(`-t default`: Mermaid's normal theme; newer versions otherwise colour every shape).
|
|
307
312
|
2. Set `PUPPETEER_SKIP_DOWNLOAD=true`, and let `puppeteer.json` point at an installed
|
|
308
313
|
browser, so no Chromium is downloaded:
|
|
309
314
|
`{"executablePath": "C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"}`
|
|
310
315
|
(or Chrome). Ask the user once before the first npm download: package
|
|
311
316
|
`@mermaid-js/mermaid-cli`, from the npm registry, about 50 MB with dependencies.
|
|
312
|
-
3.
|
|
317
|
+
3. In the document, in place of the block, two lines:
|
|
318
|
+
`<!-- kingmadoc:diagram diagrams/<slug>-<diagram>.mmd -->` and
|
|
313
319
|
``.
|
|
314
|
-
No separate image files go into the repo.
|
|
315
|
-
4.
|
|
316
|
-
|
|
317
|
-
the
|
|
320
|
+
No separate image files go into the repo (`file` mode aside).
|
|
321
|
+
4. To change a diagram, edit its `.mmd` file and render again; replace only the image
|
|
322
|
+
line below its comment. (GitHub shows no data-URI images; there the `.mmd` file is
|
|
323
|
+
the readable version.)
|
|
318
324
|
5. Look at every PNG after rendering (Read): not empty, no labels cut off at the edge,
|
|
319
325
|
no unexpected extra participants. If needed, fix the Mermaid (split or shorten a
|
|
320
326
|
label) and render again.
|
|
321
|
-
6. If rendering fails,
|
|
322
|
-
(in `language`) and carry on; the
|
|
327
|
+
6. If rendering fails, keep the ` ```mermaid ` block in the document, write
|
|
328
|
+
`_TODO: PNG not generated: <reason>._` below it (in `language`) and carry on; the
|
|
329
|
+
document stays valid.
|
|
323
330
|
|
|
324
331
|
## Output format
|
|
325
332
|
|
|
@@ -367,7 +374,8 @@ files_expected: [<existing files or folders the user said will change>]
|
|
|
367
374
|
## Planned changes
|
|
368
375
|
|
|
369
376
|
- `<path from files_expected>`: <what changes and why, one to three lines, no code
|
|
370
|
-
blocks
|
|
377
|
+
blocks (a small classDiagram with the changed members instead of a snippet); the "how"
|
|
378
|
+
from answer 4, or> _TODO: what changes here and why._
|
|
371
379
|
|
|
372
380
|
## Requirements
|
|
373
381
|
|
|
@@ -449,7 +457,7 @@ The classes this feature touches and their direct collaborators.
|
|
|
449
457
|
|
|
450
458
|
Omit "**Answered while planning**" when nothing was answered.
|
|
451
459
|
|
|
452
|
-
- Every diagram is
|
|
460
|
+
- Every diagram is its PNG, with the Mermaid source in a `.mmd` file (see
|
|
453
461
|
[Rendering](diagram-rules.md#rendering)); a disabled diagram keeps its section with
|
|
454
462
|
_Disabled in `.featuredoc.yml` (`diagrams`)._
|
|
455
463
|
- **Generated** is the real system time (`date -Iminutes`), never a guess.
|
|
@@ -146,7 +146,8 @@ the diagrams, but never beyond what the user said or the code shows.
|
|
|
146
146
|
vague REQ or invented ones. Under each: `Verified by: <test, test case or command>`
|
|
147
147
|
(or `_TODO_`).
|
|
148
148
|
- **Planned changes**: per `files_expected` path what changes and why (the "how" of
|
|
149
|
-
answer 4), one to three lines, no code blocks
|
|
149
|
+
answer 4), one to three lines, no code blocks; where a code snippet would help
|
|
150
|
+
(a new method, a changed signature), draw a small `classDiagram` with just those members. Risks and assumptions may add code
|
|
150
151
|
findings marked _(inferred)_.
|
|
151
152
|
- **Generated**: the real system time (`date -Iminutes`).
|
|
152
153
|
- External systems: those from answer 3, plus systems the code demonstrably uses
|
|
@@ -234,8 +235,8 @@ Show the user the path, the number of deviations, and any failing check.
|
|
|
234
235
|
- **Always Mermaid** (ignore `diagram_format`; PlantUML/D2 are CLI-only). Mermaid is
|
|
235
236
|
the source of truth; every diagram is also rendered to a PNG and embedded in the
|
|
236
237
|
Markdown (see [Rendering](#rendering)).
|
|
237
|
-
- **Always
|
|
238
|
-
block, with nothing else
|
|
238
|
+
- **Always complete**: every diagram is a complete Mermaid diagram (a ` ```mermaid `
|
|
239
|
+
block, or its `.mmd` file once rendered), with nothing else in it.
|
|
239
240
|
- **Always labeled**:
|
|
240
241
|
- C4 and `sequenceDiagram`: the first line after the diagram type is `title <text>`
|
|
241
242
|
(`System Context: <project>`, `Containers: <project>`);
|
|
@@ -293,7 +294,7 @@ this line: _Disabled in `.featuredoc.yml` (`diagrams`)._
|
|
|
293
294
|
|
|
294
295
|
`diagrams_png` in `.featuredoc.yml` [`embed`]: `embed` (below), `file` (the PNG goes to
|
|
295
296
|
`<output_dir>/img/<slug>-<diagram>.png`, linked with ``)
|
|
296
|
-
or `off` (no image
|
|
297
|
+
or `off` (no image; the ` ```mermaid ` block stays in the document).
|
|
297
298
|
|
|
298
299
|
- **Mode comes only from `.featuredoc.yml`.** No file or no `diagrams_png` key → `embed`.
|
|
299
300
|
Never infer the mode from existing files (an `img/` folder, how an earlier doc did it).
|
|
@@ -301,26 +302,32 @@ or `off` (no image, only the Mermaid block).
|
|
|
301
302
|
`, never by hand.
|
|
305
|
+
- **No Mermaid source in the document** once its PNG is there: no ` ```mermaid ` block
|
|
306
|
+
and no `<details>` with the source. The source lives in
|
|
307
|
+
`<output_dir>/diagrams/<slug>-<diagram>.mmd`.
|
|
304
308
|
|
|
305
|
-
1. Write each
|
|
306
|
-
`
|
|
309
|
+
1. Write each diagram to `<output_dir>/diagrams/<slug>-<diagram>.mmd` (`<diagram>`:
|
|
310
|
+
`c4-context`, `c4-container`, `class`, `sequence-current`, `sequence-new`) and run:
|
|
311
|
+
`npx -y @mermaid-js/mermaid-cli -i <that>.mmd -o <tmp>.png -s 2 -b white -t default -p <puppeteer.json>`
|
|
307
312
|
(`-t default`: Mermaid's normal theme; newer versions otherwise colour every shape).
|
|
308
313
|
2. Set `PUPPETEER_SKIP_DOWNLOAD=true`, and let `puppeteer.json` point at an installed
|
|
309
314
|
browser, so no Chromium is downloaded:
|
|
310
315
|
`{"executablePath": "C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"}`
|
|
311
316
|
(or Chrome). Ask the user once before the first npm download: package
|
|
312
317
|
`@mermaid-js/mermaid-cli`, from the npm registry, about 50 MB with dependencies.
|
|
313
|
-
3.
|
|
318
|
+
3. In the document, in place of the block, two lines:
|
|
319
|
+
`<!-- kingmadoc:diagram diagrams/<slug>-<diagram>.mmd -->` and
|
|
314
320
|
``.
|
|
315
|
-
No separate image files go into the repo.
|
|
316
|
-
4.
|
|
317
|
-
|
|
318
|
-
the
|
|
321
|
+
No separate image files go into the repo (`file` mode aside).
|
|
322
|
+
4. To change a diagram, edit its `.mmd` file and render again; replace only the image
|
|
323
|
+
line below its comment. (GitHub shows no data-URI images; there the `.mmd` file is
|
|
324
|
+
the readable version.)
|
|
319
325
|
5. Look at every PNG after rendering (Read): not empty, no labels cut off at the edge,
|
|
320
326
|
no unexpected extra participants. If needed, fix the Mermaid (split or shorten a
|
|
321
327
|
label) and render again.
|
|
322
|
-
6. If rendering fails,
|
|
323
|
-
(in `language`) and carry on; the
|
|
328
|
+
6. If rendering fails, keep the ` ```mermaid ` block in the document, write
|
|
329
|
+
`_TODO: PNG not generated: <reason>._` below it (in `language`) and carry on; the
|
|
330
|
+
document stays valid.
|
|
324
331
|
|
|
325
332
|
## Output format
|
|
326
333
|
|
|
@@ -368,7 +375,8 @@ files_expected: [<existing files or folders the user said will change>]
|
|
|
368
375
|
## Planned changes
|
|
369
376
|
|
|
370
377
|
- `<path from files_expected>`: <what changes and why, one to three lines, no code
|
|
371
|
-
blocks
|
|
378
|
+
blocks (a small classDiagram with the changed members instead of a snippet); the "how"
|
|
379
|
+
from answer 4, or> _TODO: what changes here and why._
|
|
372
380
|
|
|
373
381
|
## Requirements
|
|
374
382
|
|
|
@@ -450,7 +458,7 @@ The classes this feature touches and their direct collaborators.
|
|
|
450
458
|
|
|
451
459
|
Omit "**Answered while planning**" when nothing was answered.
|
|
452
460
|
|
|
453
|
-
- Every diagram is
|
|
461
|
+
- Every diagram is its PNG, with the Mermaid source in a `.mmd` file (see
|
|
454
462
|
[Rendering](diagram-rules.md#rendering)); a disabled diagram keeps its section with
|
|
455
463
|
_Disabled in `.featuredoc.yml` (`diagrams`)._
|
|
456
464
|
- **Generated** is the real system time (`date -Iminutes`), never a guess.
|
|
@@ -41,7 +41,8 @@ Rules:
|
|
|
41
41
|
stops it; never a proposal.
|
|
42
42
|
- **Picture, caption, table. No stories.** Every figure has a numbered caption
|
|
43
43
|
(`**Figure 3.** …`, no gaps) and at most three sentences; a table decodes it. Never
|
|
44
|
-
describe a diagram in prose, never paste code as an image, no filler.
|
|
44
|
+
describe a diagram in prose, never paste code as an image, no filler. Where a code
|
|
45
|
+
snippet would explain a class or signature, draw a small UML class diagram instead.
|
|
45
46
|
- **Zoom in step by step,** one small diagram per level (at most about fifteen elements).
|
|
46
47
|
- **Every figure follows its model's notation** ([reference/c4-model.md](reference/c4-model.md),
|
|
47
48
|
[reference/models.md](reference/models.md)) and passes its checklist: a title, a
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
- **Always Mermaid** (ignore `diagram_format`; PlantUML/D2 are CLI-only). Mermaid is
|
|
4
4
|
the source of truth; every diagram is also rendered to a PNG and embedded in the
|
|
5
5
|
Markdown (see [Rendering](#rendering)).
|
|
6
|
-
- **Always
|
|
7
|
-
block, with nothing else
|
|
6
|
+
- **Always complete**: every diagram is a complete Mermaid diagram (a ` ```mermaid `
|
|
7
|
+
block, or its `.mmd` file once rendered), with nothing else in it.
|
|
8
8
|
- **Always labeled**:
|
|
9
9
|
- C4 and `sequenceDiagram`: the first line after the diagram type is `title <text>`
|
|
10
10
|
(`System Context: <project>`, `Containers: <project>`);
|
|
@@ -62,7 +62,7 @@ this line: _Disabled in `.featuredoc.yml` (`diagrams`)._
|
|
|
62
62
|
|
|
63
63
|
`diagrams_png` in `.featuredoc.yml` [`embed`]: `embed` (below), `file` (the PNG goes to
|
|
64
64
|
`<output_dir>/img/<slug>-<diagram>.png`, linked with ``)
|
|
65
|
-
or `off` (no image
|
|
65
|
+
or `off` (no image; the ` ```mermaid ` block stays in the document).
|
|
66
66
|
|
|
67
67
|
- **Mode comes only from `.featuredoc.yml`.** No file or no `diagrams_png` key → `embed`.
|
|
68
68
|
Never infer the mode from existing files (an `img/` folder, how an earlier doc did it).
|
|
@@ -70,23 +70,29 @@ or `off` (no image, only the Mermaid block).
|
|
|
70
70
|
`, never by hand.
|
|
73
|
+
- **No Mermaid source in the document** once its PNG is there: no ` ```mermaid ` block
|
|
74
|
+
and no `<details>` with the source. The source lives in
|
|
75
|
+
`<output_dir>/diagrams/<slug>-<diagram>.mmd`.
|
|
73
76
|
|
|
74
|
-
1. Write each
|
|
75
|
-
`
|
|
77
|
+
1. Write each diagram to `<output_dir>/diagrams/<slug>-<diagram>.mmd` (`<diagram>`:
|
|
78
|
+
`c4-context`, `c4-container`, `class`, `sequence-current`, `sequence-new`) and run:
|
|
79
|
+
`npx -y @mermaid-js/mermaid-cli -i <that>.mmd -o <tmp>.png -s 2 -b white -t default -p <puppeteer.json>`
|
|
76
80
|
(`-t default`: Mermaid's normal theme; newer versions otherwise colour every shape).
|
|
77
81
|
2. Set `PUPPETEER_SKIP_DOWNLOAD=true`, and let `puppeteer.json` point at an installed
|
|
78
82
|
browser, so no Chromium is downloaded:
|
|
79
83
|
`{"executablePath": "C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"}`
|
|
80
84
|
(or Chrome). Ask the user once before the first npm download: package
|
|
81
85
|
`@mermaid-js/mermaid-cli`, from the npm registry, about 50 MB with dependencies.
|
|
82
|
-
3.
|
|
86
|
+
3. In the document, in place of the block, two lines:
|
|
87
|
+
`<!-- kingmadoc:diagram diagrams/<slug>-<diagram>.mmd -->` and
|
|
83
88
|
``.
|
|
84
|
-
No separate image files go into the repo.
|
|
85
|
-
4.
|
|
86
|
-
|
|
87
|
-
the
|
|
89
|
+
No separate image files go into the repo (`file` mode aside).
|
|
90
|
+
4. To change a diagram, edit its `.mmd` file and render again; replace only the image
|
|
91
|
+
line below its comment. (GitHub shows no data-URI images; there the `.mmd` file is
|
|
92
|
+
the readable version.)
|
|
88
93
|
5. Look at every PNG after rendering (Read): not empty, no labels cut off at the edge,
|
|
89
94
|
no unexpected extra participants. If needed, fix the Mermaid (split or shorten a
|
|
90
95
|
label) and render again.
|
|
91
|
-
6. If rendering fails,
|
|
92
|
-
(in `language`) and carry on; the
|
|
96
|
+
6. If rendering fails, keep the ` ```mermaid ` block in the document, write
|
|
97
|
+
`_TODO: PNG not generated: <reason>._` below it (in `language`) and carry on; the
|
|
98
|
+
document stays valid.
|
|
@@ -44,7 +44,8 @@ files_expected: [<existing files or folders the user said will change>]
|
|
|
44
44
|
## Planned changes
|
|
45
45
|
|
|
46
46
|
- `<path from files_expected>`: <what changes and why, one to three lines, no code
|
|
47
|
-
blocks
|
|
47
|
+
blocks (a small classDiagram with the changed members instead of a snippet); the "how"
|
|
48
|
+
from answer 4, or> _TODO: what changes here and why._
|
|
48
49
|
|
|
49
50
|
## Requirements
|
|
50
51
|
|
|
@@ -126,7 +127,7 @@ The classes this feature touches and their direct collaborators.
|
|
|
126
127
|
|
|
127
128
|
Omit "**Answered while planning**" when nothing was answered.
|
|
128
129
|
|
|
129
|
-
- Every diagram is
|
|
130
|
+
- Every diagram is its PNG, with the Mermaid source in a `.mmd` file (see
|
|
130
131
|
[Rendering](diagram-rules.md#rendering)); a disabled diagram keeps its section with
|
|
131
132
|
_Disabled in `.featuredoc.yml` (`diagrams`)._
|
|
132
133
|
- **Generated** is the real system time (`date -Iminutes`), never a guess.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/evals/fixtures/shop-discount/shop/discounts.py
RENAMED
|
File without changes
|
{kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/evals/fixtures/shop-discount/shop/services.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/skill/explaining-code/reference/threat-model.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/templates/functional_design.md.j2
RENAMED
|
File without changes
|
|
File without changes
|
{kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/templates/security_design.md.j2
RENAMED
|
File without changes
|
{kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/templates/technical_design.md.j2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/src/kingmadoc/threats/sdl_knowledge_base.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/fixtures/backends/mermaid/component.mmd
RENAMED
|
File without changes
|
{kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/fixtures/backends/mermaid/container.mmd
RENAMED
|
File without changes
|
|
File without changes
|
{kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/fixtures/backends/mermaid/sequence.mmd
RENAMED
|
File without changes
|
|
File without changes
|
{kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/fixtures/backends/plantuml/component.puml
RENAMED
|
File without changes
|
{kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/fixtures/backends/plantuml/container.puml
RENAMED
|
File without changes
|
{kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/fixtures/backends/plantuml/context.puml
RENAMED
|
File without changes
|
{kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev16}/tests/fixtures/backends/plantuml/sequence.puml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|