Changelog
All notable changes to the Documentation Automation Examples project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
Added
- Changelog page added to the doc site (
docs/changelog.md); uses the snippets extension to renderCHANGELOG.mddirectly so content stays in one place - Project 03: README Generator (
03-readme-generator/) — new automation project that analyzes a local directory or GitHub repository and generates a complete README section by section using AI readme_generator.py: main script with repo analysis (language detection, dependency parsing, entry point detection, license detection), section-by-section AI generation, and Jinja2 assemblyprompts/: four prompt files for description, installation, usage, and contributing sections; each accepts{REPO_CONTEXT}placeholderexamples/sample_project/: built-in TaskFlow CLI app for--samplemode (no API key needed for testing)templates/readme_template.md.j2: default Jinja2 output template- CLI flags:
--input,--output,--config,--prompts,--template,--sections,--analyze,--sample tests/test_readme_generator.py: 39 tests covering language detection, project name detection, license detection, dependency parsing, context summary building, sample mode, and README assembly- Full tutorial (5 steps), reference docs (configuration, prompt engineering), sample outputs, troubleshooting, and FAQ added to the doc site under
docs/readme-generator/ config.example.yaml: addedreadme_max_file_linesandreadme_sectionsfieldsmkdocs.yml: README Generator nav section added after Doc Site Portfolio
Changed
- Tutorial steps 1, 3, 4, and 5 updated to add Path C: Use Claude Code CLI as a third AI workflow option alongside the existing script-based paths
- Step 1: Added Path C to "Choose your path", added a "which path is right for you?" guidance paragraph, added full Path C setup section (install, authenticate, verify), added skip note in "Configure AI access" for Path C users, and added jump-ahead links on all three path names
- Step 3: Added "Option C" blocks for generating nav structure, homepage, and about page via Claude Code CLI
- Step 4: Added "Option C" block for generating project pages, plus a callout explaining how Path C users can direct Claude to write output to a file
- Step 5: Added "Option C" block for content refinement, plus a callout explaining how to reference file paths in prompts
[1.1.0] - 2026-04-02
Added
Release notes automation (01-release-notes-automation)
- GitLab integration via
python-gitlab—GitLabProviderclass with support for self-hosted instances viagitlab_urlconfig - Bitbucket integration via
atlassian-python-api—BitbucketProviderclass with app password authentication - Azure OpenAI provider —
AzureOpenAIProviderclass using the existingopenailibrary'sAzureOpenAIclient; requiresazure_endpointandazure_api_versionconfig fields - Hybrid categorization pipeline — three-stage strategy: conventional commit prefix parsing → keyword rules → AI fallback; AI only processes commits not matched by earlier stages
categorization_rules.example.yaml— example keyword rules file with pre-built rule sets for Security, Performance, Database, Infrastructure, and Dependencies categories- Batch processing —
--reposCLI argument andbatch_reposconfig field;--batch-outputcontrols separate files per repo or a single combined report - Custom Jinja2 output templates —
--templateCLI argument accepts any.j2file;templates/default.md.j2ships as the built-in default and preserves existing output format vcs_providerconfig field andVCS_PROVIDERenvironment variable for selecting GitHub, GitLab, or Bitbucket
Changed
generate_release_notes()signature updated: now accepts categorized commit data (List[Dict]) instead of a raw AI response string, enabling template renderingload_config()no longer requiresgithub_tokenas a universal required field; VCS token validation moved to each provider class to support multiple VCS sourcesconfig.example.yamlupdated with sections for all new providers and batch processing options; model recommendation updated toclaude-sonnet-4-6conftest.pyupdated with stubs forgitlabandatlassianso tests run without those packages installed- Test suite expanded from 13 to 47 tests, adding
TestParseConventionalCommit,TestMatchKeywordRules,TestParseAiCategories,TestCategorizeCommitsHybrid,TestTemplateRendering, andTestBatchProcessing
[1.0.0] - 2026-04-02
Added
Doc site portfolio project (02-doc-site-portfolio)
- Implemented generate_content.py — generates About, Home, project, and site structure pages from a writer profile using Anthropic or OpenAI
- Implemented improve_content.py — refines existing Markdown content for clarity, tone, or consistency using AI
- Added profile.example.yaml — template writers copy and fill in to drive both content generation scripts
- Wrote all three prompt templates: about_page_prompt.txt, project_page_prompt.txt, site_structure_prompt.txt (previously placeholders)
- Both scripts support --sample mode for full testing without API calls
Tests
- Added tests/ directory with pytest test suite (39 tests)
- tests/test_release_notes.py — covers sample data, release notes formatting, and fetch with sample flag
- tests/test_generate_content.py — covers profile loading, profile/project formatting, and output wrapping
- tests/conftest.py — stubs optional dependencies so tests run without installing anthropic, openai, or PyGithub
Release notes automation project (01-release-notes-automation) - Initial project setup with working release notes generation script - GitHub API integration using PyGithub - Support for Anthropic Claude and OpenAI GPT providers - Sample data mode for testing without API calls - Prompt engineering examples showing evolution from 65% to 91% accuracy - Workflow worksheet for documenting manual processes - Configuration management with YAML and environment variable overrides - Comprehensive MkDocs documentation site - Troubleshooting guide with 40+ common issues - Comprehensive FAQ with 50+ questions - Contributing guidelines and Code of Conduct
Changed
- Doc site portfolio tutorial steps 1–5 updated to reference the new scripts alongside the existing manual prompting approach
- Tutorial step 1 corrected: AI setup now uses
config.yaml(matching the actual scripts) instead of a.envfile with wrong variable names - Tutorial step 2 now includes a profile setup section for
profile.yaml
Documentation
- Complete tutorial covering setup through iteration (release notes)
- Doc site tutorial steps 1–6 covering setup through deployment
- Reference documentation for API integration, prompt engineering, site structure, theme customization, content types, and AI collaboration
- Sample outputs demonstrating categorization quality
- Getting started guide for first-time users
- Portfolio examples with five profile patterns
Release Note Categories
This changelog uses the following categories:
- Added - New features or functionality
- Changed - Changes to existing functionality
- Deprecated - Features that will be removed in future versions
- Removed - Features that have been removed
- Fixed - Bug fixes
- Security - Security vulnerability fixes
- Documentation - Documentation improvements
Future Releases (Planned)
Version 1.2.0 (Planned)
- Web-based configuration UI
- Scheduled automation support
- Integration with CI/CD pipelines
- Multiple output format support (JSON, HTML)
- Internationalization (i18n) support
Versioning Strategy
This project follows Semantic Versioning:
- MAJOR version (X.0.0): Incompatible API changes or major rewrites
- MINOR version (1.X.0): New features, backward-compatible
- PATCH version (1.0.X): Bug fixes, backward-compatible
Contributing
See CONTRIBUTING.md for how to contribute changes to this project.
Questions?
- Changelog questions: Open an issue
- Feature requests: Open a discussion