v0.5.0 — project-doc kinds (how-to, tutorial, cli-reference, architecture)
Minor release: extends the generator with four new project-doc template kinds that write to docs/ instead of .help/templates/, using HTML comment footers for staleness tracking so the output renders as clean plain markdown for end users.
Added — project-doc kinds
how-to— procedural guides for competent readerstutorial— step-by-step learning content with prerequisites and verificationcli-reference— precise command reference (usage, options, exit codes)architecture— structural/design overview for engineers extending the subsystem
Footer format:
<!-- attune-generated: source_hash=<sha256> feature=<name> kind=<kind> generated_at=<YYYY-MM-DD> -->
Output paths: generator respects feature.doc_path / feature.arch_path from the manifest; otherwise falls back to docs/<subdir>/<feature-name>.md.
attune-author generate <feature> --all-kinds now renders both the .help/ set and the four project-doc kinds in one pass.
Added — polish prompts
Per-kind system prompts and anti-patterns for each new kind in polish_prompts.py.
Added — validation hardening
- Multi-path warning when
feature.doc_pathshas >1 entry (onlydoc_paths[0]is written this release; additional paths are tracked bycheck_stalenessbut not generated). - HTML-footer round-trip tests covering generator →
parse_doc_footer→check_stalenessend to end. - Multi-path warning tests asserting the WARN fires for >1 entries and stays silent for 1.
Changed
attune-helplower bound raised to>=0.8.0(providesdoc_paths,arch_path,doc_kindsonFeatureplusbuild_doc_footer/parse_doc_footer).StalenessReportnow has separatehelp_entriesanddoc_entries;format_status_report()renders both sections.
Tests
- 497 tests pass (6 new), ruff clean, mypy clean.
No breaking API changes for existing callers.