feat: quick-start improvements with setup and environment activation#20
Merged
feat: quick-start improvements with setup and environment activation#20
Conversation
Rename `make dev` to `make setup` and add comprehensive verification: - Add `make setup`: Primary command for environment setup - Auto-creates .env from .env.example template - Installs dependencies for all supported package managers - Runs automatic verification at end - Shows next steps clearly - Add `make verify-setup`: Standalone diagnostic command - Checks Python version (3.10+ required) - Verifies virtual environment exists - Confirms Flash CLI is installed - Warns if RUNPOD_API_KEY not configured - Provides actionable error messages - Maintain backward compatibility - `make dev` remains as alias to `make setup` - No breaking changes for existing workflows Documentation updates: - README.md: Updated Quick Start guide with new flow - DEVELOPMENT.md: Updated all references and added verify-setup docs - CI workflows: Updated to use `make setup` for consistency Code fixes: - Fixed lb_handler.py syntax errors (unused imports, malformed dicts) - Ensured code passes quality checks Implementation notes: - .setup-env target handles .env file creation internally - Verification happens automatically after setup completes - Works with uv, pip, poetry, pipenv, and conda - ENV_MANAGER override still works: `ENV_MANAGER=pip make setup`
- Update README with documentation for users without uv installed - Explain automatic fallback to pip, poetry, pipenv, or conda - Show PKG_MANAGER override examples - Document pip-specific activation step
…anagers - Update Makefile to show unified activation workflow for all package managers (uv, poetry, pipenv, pip, conda) - Remove package-manager-specific next steps (uv run, poetry run, etc.) - Update README.md to clarify activation workflow works identically for all managers - Simplify documentation by removing conditional instructions - Add Windows activation command (.venv\Scripts\activate) alongside Unix/macOS - Update DEVELOPMENT.md troubleshooting section to show activation-first approach This ensures consistent user experience regardless of which package manager is installed.
There was a problem hiding this comment.
Pull request overview
This PR enhances the developer setup experience by introducing a new make setup command with automatic verification, multi-package-manager support, and improved documentation. The changes make it easier for new contributors to get started regardless of their preferred Python package manager.
Changes:
- Added
make setupcommand with automatic .env creation and post-install verification - Introduced
make verify-setupdiagnostic command to check Python version, virtual environment, Flash CLI installation, and API key configuration - Updated documentation to clarify package manager auto-detection, activation steps, and provide manager-specific guidance
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| README.md | Updated quick-start guide with new setup command, verification instructions, and detailed package manager usage examples |
| Makefile | Added setup/verify-setup targets, .env auto-creation, setup verification logic, and unified next-steps instructions |
| DEVELOPMENT.md | Updated all references from make dev to make setup and added comprehensive verification documentation |
| .github/workflows/test-examples.yml | Updated CI to use new make setup command |
| .github/workflows/quality.yml | Updated CI to use new make setup command |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
rambo-runpod
approved these changes
Jan 31, 2026
…ix variable naming Addressing review feedback from PR #20: 1. Restore conditional next steps in Makefile based on PKG_MANAGER - uv/poetry/pipenv users can use package manager prefix without activation - pip users need to activate environment first - Each manager gets optimal workflow instructions 2. Update README to clarify both approaches work: - Option A: Use package manager prefix (uv run, poetry run, etc.) - Option B: Activate environment first (works for all managers) - Makes it clear activation is optional for uv/poetry/pipenv/conda 3. Fix ENV_MANAGER -> PKG_MANAGER variable naming inconsistency - Updated Makefile comments and help text - Updated DEVELOPMENT.md examples - All references now use correct PKG_MANAGER variable name 4. Dependency updates: boto3, botocore minor version bumps This approach provides better UX by respecting each package manager's native workflow while still offering the activation option for users who prefer it.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Comprehensive improvements to the developer setup experience, including a new
make setupcommand with automatic verification, support for multiple package managers, and clear guidance for users without uv.Changes
1. Setup Command & Verification (feat: 3e4355d)
New
make setupcommand:.envfrom templatemake devremains as aliasNew
make verify-setupdiagnostic command:Package Manager Support:
ENV_MANAGER=pip make setupFiles Modified:
make setup2. Non-UV Package Manager Guidance (docs: ced66ce)
Updated README.md with:
Key Features
✅ Auto-Detection: Automatically finds available package manager
✅ Fallback Support: Works without uv, gracefully falls back to pip
✅ User Guidance: Clear, customized next steps for each manager
✅ Override Option: Force specific manager with
PKG_MANAGER=pip make setup✅ Verification: Built-in diagnostic to verify setup worked
✅ Compatibility: Works with all major Python package managers
✅ Quality: All code passes formatting and linting checks
Testing
User Experience
With uv (recommended):
With pip (automatic fallback):
make setup source .venv/bin/activate flash runAny manager (explicit override):
All steps are printed automatically after setup completes.
Breaking Changes
None. Fully backward compatible:
make devstill works as alias tomake setup