mirror of
https://github.com/Akkudoktor-EOS/EOS.git
synced 2026-11-13 01:03:45 +01:00
Additional changes Agents write a task plan to .scratch/<branch>/plan.md and self-review with code-review Agents fix hard violations, report judgement calls and rerun the self-review before every push Agents declare the review in a Self-review section of the pull request body Add the ai-self-review workflow and scripts/check_pr_self_review.py for pull requests into main Detect agents by Assisted-by or Anthropic Co-Authored-By trailers, body markers or the AI box Fail only on a missing Self-review section or a missing, malformed or stale Reviewed SHA Note an unticked AI-assisted box and malformed optional lines without failing Comment on the pull request how to fix a failure and update that one comment on later runs Show the same report in the job summary and accept Windows line endings in the body Skip dependabot and release pull requests Run on pull_request_target with the base branch's script, never pull request code Add the pull request template: the pr skill's sections plus Checklist and Self-review Require always valid optimization parameters in the energy-domain skill Require datetimeutil for date and time handling in new and changed code in AGENTS.md Require the Assisted-by trailer on agent commits in the commit-messages skill Add tests for the check in tests/test_ai.py Add GLOSSARY.md and the agent tracker docs in docs/agents/ Add decision record docs/adr/0001 with an ADR index in the docs toctree Document the workflow in docs/develop/ai.md and CONTRIBUTING.md Exclude docs/agents from Sphinx and PyMarkdown and ignore .scratch/ Document cz check instead of make gitlint for commit messages in docs/develop/ai.md Assisted-by: Claude Code (claude-opus-5-5) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
153 lines
4.5 KiB
Python
153 lines
4.5 KiB
Python
"""Configuration file for the Sphinx documentation builder.
|
|
|
|
For the full list of built-in configuration values, see the documentation:
|
|
https://www.sphinx-doc.org/en/master/usage/configuration.html
|
|
"""
|
|
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
# Add the src directory to sys.path so Sphinx can import akkudoktoreos
|
|
PROJECT_ROOT = Path(__file__).parent.parent
|
|
SRC_DIR = PROJECT_ROOT / "src"
|
|
sys.path.insert(0, str(SRC_DIR))
|
|
|
|
# Tell akkudoktoreos that it is imported for the documentation build
|
|
# (see ConfigEOS.documentation_mode()).
|
|
sys._called_from_sphinx = True # type: ignore[attr-defined]
|
|
|
|
from akkudoktoreos.core.version import __version__
|
|
|
|
# -- Project information -----------------------------------------------------
|
|
# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
|
|
|
|
project = "Akkudoktor EOS"
|
|
copyright = "2025..2026, Andreas Schmitz"
|
|
author = "Andreas Schmitz"
|
|
release = __version__
|
|
|
|
# -- General configuration ---------------------------------------------------
|
|
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
|
|
|
|
extensions = [
|
|
"sphinx.ext.autodoc",
|
|
"sphinx.ext.autosummary",
|
|
"sphinx.ext.napoleon",
|
|
"sphinx.ext.todo",
|
|
"sphinx_rtd_theme",
|
|
"myst_parser",
|
|
"sphinx_tabs.tabs",
|
|
"sphinxcontrib.mermaid",
|
|
]
|
|
|
|
templates_path = ["_templates"]
|
|
# docs/agents/ holds instructions for coding agents, not user documentation.
|
|
exclude_patterns = ["agents/**"]
|
|
|
|
source_suffix = {
|
|
".rst": "restructuredtext",
|
|
".txt": "markdown",
|
|
".md": "markdown",
|
|
}
|
|
|
|
# -- Options for Myst Markdown -----------------------------------------------
|
|
# see https://github.com/executablebooks/MyST-Parser/blob/master/docs/conf.py
|
|
|
|
myst_enable_extensions = [
|
|
"dollarmath",
|
|
"amsmath",
|
|
"deflist",
|
|
"fieldlist",
|
|
"html_admonition",
|
|
"html_image",
|
|
"colon_fence",
|
|
"smartquotes",
|
|
"replacements",
|
|
"linkify",
|
|
"strikethrough",
|
|
"substitution",
|
|
"tasklist",
|
|
"attrs_inline",
|
|
"attrs_block",
|
|
]
|
|
myst_url_schemes = {
|
|
"http": None,
|
|
"https": None,
|
|
"mailto": None,
|
|
"ftp": None,
|
|
"wiki": "https://en.wikipedia.org/wiki/{{path}}#{{fragment}}",
|
|
"doi": "https://doi.org/{{path}}",
|
|
"gh-pr": {
|
|
"url": "https://github.com/Akkudoktor-EOS/EOS/pull/{{path}}#{{fragment}}",
|
|
"title": "PR #{{path}}",
|
|
"classes": ["github"],
|
|
},
|
|
"gh-issue": {
|
|
"url": "https://github.com/Akkudoktor-EOS/EOS/issue/{{path}}#{{fragment}}",
|
|
"title": "Issue #{{path}}",
|
|
"classes": ["github"],
|
|
},
|
|
"gh-user": {
|
|
"url": "https://github.com/{{path}}",
|
|
"title": "@{{path}}",
|
|
"classes": ["github"],
|
|
},
|
|
}
|
|
myst_number_code_blocks = ["typescript"]
|
|
myst_heading_anchors = 3
|
|
myst_footnote_transition = True
|
|
myst_dmath_double_inline = True
|
|
myst_enable_checkboxes = True
|
|
myst_substitutions = {
|
|
"role": "[role](#syntax/roles)",
|
|
"directive": "[directive](#syntax/directives)",
|
|
}
|
|
|
|
# -- Options for HTML output -------------------------------------------------
|
|
# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
|
|
|
|
html_theme = "sphinx_rtd_theme"
|
|
html_static_path = ["_static"]
|
|
html_logo = "_static/logo.png"
|
|
html_theme_options = {
|
|
"logo_only": False,
|
|
"titles_only": True,
|
|
}
|
|
html_css_files = ["eos.css"] # Make body size wider
|
|
|
|
# -- Options for autodoc -------------------------------------------------
|
|
# https://www.sphinx-doc.org/en/master/usage/extensions/autodoc.html
|
|
|
|
# Make source file directories available to sphinx
|
|
sys.path.insert(0, str(Path("..", "src").resolve()))
|
|
|
|
autodoc_default_options = {
|
|
"members": "var1, var2",
|
|
"member-order": "bysource",
|
|
"special-members": "__init__",
|
|
"undoc-members": True,
|
|
"exclude-members": "__weakref__",
|
|
}
|
|
|
|
# -- Options for autosummary -------------------------------------------------
|
|
autosummary_generate = True
|
|
|
|
# -- Options for napoleon -------------------------------------------------
|
|
napoleon_google_docstring = True
|
|
napoleon_numpy_docstring = False
|
|
napoleon_include_init_with_doc = False
|
|
napoleon_include_private_with_doc = False
|
|
napoleon_include_special_with_doc = True
|
|
napoleon_use_admonition_for_examples = False
|
|
napoleon_use_admonition_for_notes = False
|
|
napoleon_use_admonition_for_references = False
|
|
napoleon_use_ivar = False
|
|
napoleon_use_param = True
|
|
napoleon_use_rtype = True
|
|
napoleon_preprocess_types = False
|
|
napoleon_type_aliases = None
|
|
napoleon_attr_annotations = True
|
|
|
|
# -- Options for mermaid -------------------------------------------------
|
|
mermaid_output_format = "html" # no mmdc to be installed
|