feat: INSTALL.md is the English installation tutorial; new tutorial docs/tutorials/first-source-to-first-answer.md with a shipped sample source; README.md links it as its first-ingestion step (#191)
CI / verify (push) Successful in 6m14s
CI / pwsh (push) Successful in 2m2s
Release / release (push) Successful in 34s

Files changed:
- CHANGES.md
- INSTALL.md
- README.md
- VERSION
- docs/reference/commands/types-instructions-and-docs.md
- docs/tutorials/README.md
- docs/tutorials/first-source-to-first-answer.md
- docs/tutorials/sample-source.md
- instructions/dev/doc-pull-through.md
- tools/CONTRACT.md
- tools/chemenu/commands/docs_verify.py
- tools/chemenu/install_doc.py
- tools/chemenu/tests/test_install_doc.py

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
This commit is contained in:
torbenandClaude Opus 5.5 committed 2026-10-07 06:38:40 +02:00
1 parent f9056c04f7
commit fe1de63e0f
13 files changed
+403 -190

No files matched your search

+14 -5
View File
@@ -16,22 +16,22 @@ MANIFEST = prerequisites.Manifest(
CURRENT = """# Installation
Vorher:
You need:
<!-- wikitool:prerequisites -->
- **Python** ≥ 3.11
- **Git**
<!-- /wikitool:prerequisites -->
Unter Windows zusätzlich:
On Windows, additionally:
<!-- wikitool:prerequisites-windows -->
- **PowerShell 7 (pwsh)** ≥ 7
<!-- /wikitool:prerequisites-windows -->
## Was der Agent dich fragt
## What the agent asks you
- <!-- setup-question: identity --> **Autor-Identität** - Name und E-Mail.
- <!-- setup-question: identity --> **Author identity** - name and email.
"""
SETUP = """# Set up
@@ -57,6 +57,14 @@ def test_this_repos_install_doc_names_every_setup_question():
assert install_doc.check_setup_questions() == []
def test_this_repos_install_doc_has_the_section_the_finding_names():
"""A missing question is reported as missing from a named section; that
name is a constant, and a renamed heading would leave the finding pointing
at nothing."""
text = install_doc.install_doc_path().read_text(encoding="utf-8")
assert f"\n## {install_doc.QUESTIONS_SECTION}\n" in text
def test_this_repos_setup_instruction_marks_its_questions():
"""The check compares two sets; an instruction that lost every marker would
compare empty against empty and pass. Guard the real file's own count."""
@@ -133,10 +141,11 @@ def test_a_question_the_install_doc_does_not_name_fails(tmp_path, monkeypatch):
issues = install_doc.check_setup_questions()
assert len(issues) == 1
assert "`remote`" in issues[0] and "does not name it" in issues[0]
assert f'§ "{install_doc.QUESTIONS_SECTION}"' in issues[0]
def test_a_question_no_longer_asked_fails(tmp_path, monkeypatch):
install = CURRENT + "- <!-- setup-question: telemetry --> **Telemetrie**\n"
install = CURRENT + "- <!-- setup-question: telemetry --> **Telemetry**\n"
_tree(tmp_path, monkeypatch, install=install)
issues = install_doc.check_setup_questions()
assert len(issues) == 1