# Changelog ## [Unreleased] ### Changed - **Output directory structure**: Removed `output/reports/` subdirectory, all files now go directly to `output/` - Simpler directory structure - Easier to find and manage files - All CSV files in one location - **Export filename format**: Changed from `all_posts_for_ai_decision_YYYYMMDD_HHMMSS.csv` to `all_posts_YYYY-MM-DD.csv` - Simpler, cleaner naming convention - ISO 8601 date format (YYYY-MM-DD) - One file per day (overwrites previous exports on same day) - **CLI commands now accept CSV file arguments**: All analysis commands can take optional CSV file inputs - `seo analyze [csv_file]` - Analyze specific CSV or latest export - `seo recategorize [csv_file]` - Recategorize specific CSV or latest export - `seo approve [file1.csv] [file2.csv] ...` - Approve specific recommendation files - Auto-detects latest files if no arguments provided ### Added - **Unified CLI application**: New `./seo` executable with simple command structure - Inspired by Ruby on Rails CLI conventions - Simple, memorable command names - Comprehensive help system - Optional CSV file arguments for all analysis commands ### Deprecated - **scripts/seo-cli.py**: Old CLI tool, use `./seo` instead - Still functional but will be removed in future versions - All functionality available in new CLI - **output/reports/**: Subdirectory removed, use `output/` directly ## Commands ### New CLI (`./seo`) ```bash ./seo help # Show available commands ./seo export # Export all posts (creates output/all_posts_YYYY-MM-DD.csv) ./seo analyze [csv_file] # Analyze posts with AI (optional CSV input) ./seo recategorize [csv_file] # Recategorize posts (optional CSV input) ./seo seo_check # Check SEO quality ./seo categories # Manage categories ./seo approve [file1.csv] [file2.csv] # Approve recommendations (optional CSV inputs) ./seo full_pipeline # Run complete workflow ./seo analytics ga4.csv gsc.csv # Import analytics ./seo gaps # Analyze content gaps ./seo opportunities # Analyze keyword opportunities ./seo report # Generate reports ./seo status # Show output files ``` ### File Naming - **Old**: `all_posts_for_ai_decision_20260216_141512.csv` - **New**: `all_posts_2026-02-16.csv` ### Directory Structure - **Old**: `output/reports/all_posts_*.csv` - **New**: `output/all_posts_*.csv` Benefits: - Cleaner, more readable filenames - Simpler directory structure - ISO 8601 date format (YYYY-MM-DD) - Easier to identify recent exports - Consistent with modern CLI conventions - Flexible CSV file arguments for all commands ## Examples ### Export and analyze ```bash # Export posts ./seo export # Creates: output/all_posts_2026-02-16.csv # Analyze (uses latest export automatically) ./seo analyze # Or specify a specific file ./seo analyze output/all_posts_2026-02-16.csv ``` ### Approve recommendations ```bash # Auto-detect recommendation files ./seo approve # Or specify specific files ./seo approve output/category_assignments_*.csv output/posts_to_move_*.csv ``` ### Full workflow ```bash # Complete pipeline with one command ./seo full_pipeline # Or step by step with control ./seo export ./seo analyze ./seo categories ./seo approve ```