Major refactoring to create a clean, integrated CLI application: ### New Features: - Unified CLI executable (./seo) with simple command structure - All commands accept optional CSV file arguments - Auto-detection of latest files when no arguments provided - Simplified output directory structure (output/ instead of output/reports/) - Cleaner export filename format (all_posts_YYYY-MM-DD.csv) ### Commands: - export: Export all posts from WordPress sites - analyze [csv]: Analyze posts with AI (optional CSV input) - recategorize [csv]: Recategorize posts with AI - seo_check: Check SEO quality - categories: Manage categories across sites - approve [files]: Review and approve recommendations - full_pipeline: Run complete workflow - analytics, gaps, opportunities, report, status ### Changes: - Moved all scripts to scripts/ directory - Created config.yaml for configuration - Updated all scripts to use output/ directory - Deprecated old seo-cli.py in favor of new ./seo - Added AGENTS.md and CHANGELOG.md documentation - Consolidated README.md with updated usage ### Technical: - Added PyYAML dependency - Removed hardcoded configuration values - All scripts now properly integrated - Better error handling and user feedback Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
105 lines
3.4 KiB
Markdown
105 lines
3.4 KiB
Markdown
# 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
|
|
```
|