AI-Powered Job Posting Optimization System with Interactive CLI Interface
JobRefresher v6.0 combines the proven PD-SMIS v5.1 optimization engine with a modern interactive command-line interface (CLUI), multi-job management, and TeamTailor API integration.
- Interactive CLUI: Menu-driven interface for easy navigation
- Multi-Job Management: Handle multiple job postings with version control
- TeamTailor Integration: Automatic job import and metrics synchronization
- PD-SMIS v5.1 Engine: Preserved optimization engine with 14-layer validation
- Batch Processing: Optimize multiple jobs simultaneously
- Performance Dashboard: Track metrics and improvements
- Version Comparison: Compare different job versions
- Export Options: Multiple export formats (Markdown, JSON, HTML, Text)
- Python 3.8 or higher
- pip package manager
- Git (for version control)
- Clone the repository:
git clone https://github.com/yourorg/JobPostingRefresher.git
cd JobPostingRefresher- Create virtual environment:
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install dependencies:
pip install rich prompt-toolkit requests # Optional: pip install -r requirements.txt if available- Configure TeamTailor (optional):
cp config/teamtailor_config.json.example user_data/config/teamtailor_config.json
# Edit user_data/config/teamtailor_config.json with your API credentials- Launch the application:
python3 -m clui
# Or directly: python3 clui/jbr.pyWhen you launch JobRefresher, you'll see the main menu:
- [1] Job Management - Create, view, import, and search jobs
- [2] Job Processing - Optimize single or multiple jobs
- [3] TeamTailor Integration - Sync jobs and metrics
- [Q] Quit - Exit the application
- Select
[1] Job Managementfrom main menu - Choose
Create New Job - Enter job title, company name, and raw job posting content
- Job is saved with unique ID
- From Job Management, select a job
- Choose optimization option
- Watch the optimization phases progress
- Review validation report
- New optimized version is created automatically
- Configure TeamTailor API credentials first (optional)
- From TeamTailor Integration menu
- Choose import option:
- Import specific job by ID
- Batch import jobs
- Select
[2] Job Processingfrom main menu - Choose
Batch Process Jobs - Select filter criteria or process all
- Monitor progress
- Review results
JobPostingRefresher/
├── IBJobRefresher/ # v5.1 PD-SMIS engine (preserved, DO NOT MODIFY)
├── clui/ # Command-line UI components
│ ├── __init__.py
│ ├── __main__.py # Module entry point
│ ├── jbr.py # Main CLUI application
│ ├── job_manager.py # Job data management
│ ├── teamtailor_client.py # TeamTailor API integration
│ └── pd_smis_engine.py # v5.1 engine wrapper
├── user_data/ # User data (git-ignored)
│ ├── config/ # Configuration files
│ └── jobs/ # Job storage
├── tests/ # Test suite
│ ├── unit/ # Unit tests
│ ├── test_integration_complete.py
│ ├── test_performance.py
│ ├── test_regression.py
│ ├── test_v5_preservation_final.py
│ ├── run_ci_tests.sh
│ └── check_coverage.sh
├── scripts/ # Utility scripts
│ └── check_v5_preservation.sh
├── exports/ # Export output
└── dev/v6/ # Development documentation
Jobs are stored in user_data/jobs/ with this structure:
user_data/jobs/
└── job_id/
├── metadata.json # Job metadata
├── raw_posting.txt # Original content
├── versions/ # Version history
│ ├── v1.json
│ └── v2.json
└── exports/ # Exported files
Edit user_data/config/teamtailor_config.json:
{
"api_key": "your-api-key-here",
"company_id": "your-company-id",
"api_version": "20210218"
}Get your API key from TeamTailor Settings > API & Webhooks.
Run the test suite:
# Run all tests
python3 -m unittest discover tests/ -v
# Run specific test categories
python3 -m unittest tests.unit.test_job_manager -v # Data layer tests
python3 -m unittest tests.test_integration_complete -v # Integration tests
python3 -m unittest tests.test_performance -v # Performance tests
python3 -m unittest tests.test_v5_preservation_final -v # Preservation tests
# Run CI/CD test suite
bash tests/run_ci_tests.sh
# Check test coverage
bash tests/check_coverage.sh- Create feature branch:
git checkout -b feature/your-feature - Implement in appropriate module (clui/*.py)
- Add tests in tests/
- Run full test suite
- Create pull request
- NEVER modify files in IBJobRefresher/ - This preserves the v5.1 engine
- All new code goes in
clui/directory - User data in
user_data/is git-ignored - Run
bash scripts/check_v5_preservation.shregularly to verify v5.1 integrity
TeamTailor connection fails:
- Check API key in user_data/config/teamtailor_config.json
- Verify internet connection
- System works without TeamTailor (graceful degradation)
Optimization not available:
- Ensure PD-SMIS engine files exist in IBJobRefresher/
- Check for error messages in console
- Run preservation check:
bash scripts/check_v5_preservation.sh
Jobs not persisting:
- Verify user_data/jobs/ directory exists
- Check file permissions
- Ensure adequate disk space
Tests failing:
- Ensure working directory is project root
- Check Python version (3.8+ required)
- Verify all dependencies installed
For issues, questions, or contributions:
- GitHub Issues: [Report issues]
- Documentation: See docs/ for detailed guides
- Tests: See tests/ for test examples
[Your License Here]
Built on the PD-SMIS v5.1 optimization engine. v6.0 enhancements: Interactive CLUI, multi-job management, TeamTailor integration.
- v6.0.0 - Interactive CLUI, multi-job management, TeamTailor integration
- v5.1.0 - PD-SMIS optimization engine baseline
For detailed documentation about the v5.1 engine and its optimization methodology, see IBJobRefresher/ directory.