mirror of
https://github.com/danielmiessler/Fabric.git
synced 2026-01-09 14:28:01 -05:00
- Add comprehensive "Recent Major Features" section to README - Introduce new readme_updates Python script for automation - Enable Gemini thinking configuration with token budgets - Update CLI help text for Gemini thinking support - Add comprehensive test coverage for Gemini thinking - Create documentation for README update automation - Reorganize README navigation structure with changelog section
3.2 KiB
3.2 KiB
README Update Scripts
This directory contains automation scripts for updating the main README.md file with release information from the changelog database.
update_readme_features.py
A Python script that generates the "Recent Major Features" section for the README by extracting and filtering release information from the changelog SQLite database.
Usage
# Generate the Recent Major Features section with default limit (20 releases)
python scripts/readme_updates/update_readme_features.py
# Specify a custom limit
python scripts/readme_updates/update_readme_features.py --limit 15
# Use a custom database path
python scripts/readme_updates/update_readme_features.py --db /path/to/changelog.db
How It Works
- Database Connection: Connects to
cmd/generate_changelog/changelog.db(or custom path) - Data Extraction: Queries the
versionstable for release information - Feature Filtering: Uses heuristics to identify feature/improvement releases
- Markdown Generation: Formats output to match README style
Feature Detection Heuristics
The script uses keyword-based heuristics to filter releases:
Include Keywords (Features/Improvements)
- new, feature, feat, add, introduce, enable, support
- improve, enhance, performance, speed
- option, flag, argument, parameter
- integration, provider, search, tts, audio, model
- cli, ui, web, oauth, sync, database
- notifications, desktop, reasoning, thinking
Exclude Keywords (Non-Features)
- fix, bug, hotfix
- ci, cd, pipeline, chore
- docs, readme, refactor, style, typo
- test, bump, deps, dependency
- merge, revert, format, lint, build
- release, prepare, coverage, security
Integration with README
To update the README with new release features:
# Generate the features and save to a temporary file
python scripts/readme_updates/update_readme_features.py --limit 20 > /tmp/recent_features.md
# Manually replace the "### Recent Major Features" section in README.md
# with the generated content
Database Schema
The script expects the following SQLite table structure:
CREATE TABLE versions (
name TEXT PRIMARY KEY,
date DATETIME,
commit_sha TEXT,
pr_numbers TEXT,
ai_summary TEXT,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
Date Format Support
The script can parse various date formats:
- ISO 8601 with timezone:
2025-08-14 14:11:04+00:00 - ISO 8601 basic:
2025-08-14T14:11:04 - Date only:
2025-08-14 - US format:
08/14/2025
Output format is standardized to: Aug 14, 2025
Maintenance Notes
- AI Summary Format Changes: If the format of AI summaries changes, update the
extract_title_desc()andsplit_summary()functions - Keyword Tuning: Adjust
INCLUDE_REandEXCLUDE_REpatterns as needed - Title Extraction: The script attempts to extract concise titles from feature descriptions
- Description Length: Descriptions are limited to 200 characters for readability
Future Enhancements
Potential improvements for automated README updates:
- Add section delimiter markers in README for automated replacement
- Create a GitHub Action to run on new releases
- Add support for categorizing features by type
- Implement confidence scoring for feature detection