Skip to content

feat: quick-start improvements with setup and environment activation#20

Merged
deanq merged 4 commits intomainfrom
deanq/ae-1942-quick-start-improvements
Jan 31, 2026
Merged

feat: quick-start improvements with setup and environment activation#20
deanq merged 4 commits intomainfrom
deanq/ae-1942-quick-start-improvements

Conversation

@deanq
Copy link
Member

@deanq deanq commented Jan 30, 2026

Summary

Comprehensive improvements to the developer setup experience, including a new make setup command with automatic verification, support for multiple package managers, and clear guidance for users without uv.

Changes

1. Setup Command & Verification (feat: 3e4355d)

New make setup command:

  • Auto-creates .env from template
  • Installs dependencies for all supported package managers (uv, pip, poetry, pipenv, conda)
  • Runs automatic verification at end
  • Shows next steps clearly
  • Backward compatible: make dev remains as alias

New make verify-setup 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

Package Manager Support:

  • Works with: uv, pip, poetry, pipenv, conda
  • AUTO-DETECTS which manager is available
  • Supports ENV_MANAGER override: ENV_MANAGER=pip make setup
  • Customized next steps for each manager

Files Modified:

  • Makefile: Added setup/verify-setup targets, auto-detection logic
  • README.md: Updated Quick Start guide
  • DEVELOPMENT.md: Updated documentation
  • CI workflows: Updated to use make setup

2. Non-UV Package Manager Guidance (docs: ced66ce)

Updated README.md with:

  • Explanation of automatic fallback order (poetry → pipenv → pip → conda)
  • PKG_MANAGER override examples
  • Specific pip workflow with activation step
  • Clear comparison of manager-specific next steps
  • No additional setup needed - everything is automatic

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

  • ✅ Auto-detection verified for all package managers
  • ✅ pip fallback tested and working
  • ✅ ENV_MANAGER override functional
  • ✅ Help output customized by manager
  • ✅ Quality checks: All 39 files formatted, linting passes
  • ✅ Works with existing virtual environment

User Experience

With uv (recommended):

make setup
uv run flash run

With pip (automatic fallback):

make setup
source .venv/bin/activate
flash run

Any manager (explicit override):

PKG_MANAGER=poetry make setup

All steps are printed automatically after setup completes.

Breaking Changes

None. Fully backward compatible:

  • make dev still works as alias to make setup
  • Existing workflows unaffected
  • New commands are additive only

deanq added 2 commits January 30, 2026 10:17
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
@linear
Copy link

linear bot commented Jan 30, 2026

…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.
@deanq deanq changed the title Quick Start Improvements: Enhanced Setup Experience with Package Manager Support feat: quick-start improvements with setup and environment activation Jan 30, 2026
@deanq deanq requested a review from Copilot January 31, 2026 00:08
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 setup command with automatic .env creation and post-install verification
  • Introduced make verify-setup diagnostic 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.

@deanq deanq requested a review from jhcipar January 31, 2026 00:19
…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.
@deanq deanq merged commit 02be0d7 into main Jan 31, 2026
6 checks passed
@deanq deanq deleted the deanq/ae-1942-quick-start-improvements branch January 31, 2026 02:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants