# VPN Access Server - Post-Task Completion Actions ## After Code Changes 1. **Run tests**: `uv run pytest tests/` - Ensure all tests pass 2. **Health check**: `uv run vpn-access-server health-check` - Verify system integrity 3. **Type checking**: Consider running mypy if configured (not currently set up) 4. **Code review**: Check for adherence to style guidelines ## After Adding Dependencies 1. **Update lockfile**: `uv lock` - Ensure reproducible builds 2. **Test installation**: `uv install` - Verify dependencies install correctly 3. **Update pyproject.toml**: Add version constraints if needed ## After Database Schema Changes 1. **Update scripts**: Modify `scripts/init_db.py` for new schema 2. **Test migration**: Run `uv run vpn-access-server init-db` on test environment 3. **Update seed data**: Modify `scripts/seed_data.py` if needed 4. **Verify queries**: Test all database operations in affected modules ## After Adding New Modules (e.g., Email Module) 1. **Update configuration**: Add new config classes and validation in `access/config.py` 2. **Update .env.example**: Add required environment variables with defaults 3. **Update imports**: Ensure proper import paths in dependent modules 4. **Add tests**: Create corresponding test files in `tests/` directory following existing patterns 5. **Install test dependencies**: Run `uv sync --group test` if needed 6. **Update CLI**: Add new commands to `cli.py` if needed 7. **Update documentation**: Update README.md and any relevant docs ## General Best Practices - **Commit frequently**: Small, focused commits with clear messages - **Test thoroughly**: Unit tests for new functions, integration tests for workflows - **Security review**: Check for credential leaks, SQL injection risks, etc. - **Performance check**: Monitor database queries and memory usage - **Documentation**: Update docstrings and comments for complex logic