# AdvChkSys Development Scripts ## Track Progress Script The `track_progress.py` script automates feature tracking, status updates, and changelog management for the AdvChkSys project. ### Overview This script: - Tracks features and their status in a human-readable Markdown file - Generates a status document with current development progress - Updates the changelog with tagged entries from commit messages - Automatically detects new features from specially formatted commit messages ### Usage Run the script periodically to update documentation: ```bash python scripts/track_progress.py ``` ### Commit Message Tags The script recognizes special tags in commit messages: #### 1. Feature Status Updates ``` git commit -m "Implemented spatial queries [feature:spatial_queries]" ``` This marks the `spatial_queries` feature as completed and records the date and author. #### 2. New Features ``` git commit -m "Initial setup [new-feature:custom_serialization:Support for custom serialization formats]" ``` This adds a new feature called `custom_serialization` with the provided description and sets its status to "planned". #### 3. Changelog Entries ``` git commit -m "Fixed bug in chunk loading [changelog:Fixed race condition in async chunk loading]" ``` This adds an entry to the changelog with the date, message, and commit hash. #### 4. Status Updates ``` git commit -m "Completed milestone 1 [status:milestone1]" ``` This records a general status update. ### Output Files The script generates and updates the following files: - `docs/features.md`: Human-readable feature tracking in Markdown format - `docs/status/ChunkManager-Status.md`: Status document with feature progress and recent updates - `CHANGELOG.md`: Project changelog with tagged entries from commits ### Feature Statuses Features can have the following statuses: - `planned`: Feature is planned but not yet started - `in_progress`: Feature is currently being implemented - `completed`: Feature has been implemented ### Manual Editing You can manually edit the `docs/features.md` file to update feature descriptions, statuses, or add new features. The script will preserve your changes when it runs. ### Requirements - Python 3.6+ - Git repository