Add separate frontend and backend port configuration for demo command#7
Merged
robdimarco-atxp merged 3 commits intomainfrom Sep 9, 2025
Conversation
Implement ATXP-243: Allow users to specify separate frontend and backend ports when running the demo, replacing the single --port option with more granular control. ## Changes Made ### Command Line Interface - Replace `--port, -p` with `--frontend-port, --fp` and `--backend-port, --bp` - Update default ports: frontend 3000, backend 3001 (matching atxp-express-example defaults) - Maintain backward compatibility by using sensible defaults ### Configuration Management - Generate .env files for both frontend and backend directories with appropriate port settings - Backend .env: `PORT` and `FRONTEND_PORT` (for CORS configuration) - Frontend .env: `PORT` and `REACT_APP_BACKEND_PORT` (for proxy configuration) - Graceful fallback if .env creation fails (uses environment variables) ### Updated Documentation - Comprehensive help text with new port options and examples - Clear usage examples showing frontend/backend port combinations - Updated default port information throughout ## Implementation Details The demo command now: 1. Parses separate frontend/backend port arguments 2. Creates appropriate .env files in the cloned repository 3. Passes environment variables to the demo process 4. Uses frontend port for browser opening and user messaging This integrates seamlessly with the atxp-express-example repository's existing port configuration system implemented in PR #6. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Frontend port: 8016 (original default, maintains backward compatibility) - Backend port: 8017 (one number higher as requested) - Updated help documentation with new default port values - Verified .env file generation works correctly with new defaults This preserves existing user expectations while providing the requested port separation functionality.
Remove global PORT environment variable that was overriding backend .env file. Now each service (frontend/backend) reads its PORT from its own .env file, allowing them to run on separate ports correctly. Fixes issue where backend was running on frontend port instead of backend port, causing ECONNREFUSED errors in the proxy connection. Verified fix: Backend=8017, Frontend=8016, proxy connections working.
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
Implements ATXP-243: Add separate
--frontend-portand--backend-portoptions to replace the single--portoption, giving users granular control over both frontend and backend ports when running the demo.Key Features
• Separate port control:
--frontend-port(default: 3000) and--backend-port(default: 3001)• Automatic .env generation: Creates appropriate .env files for frontend and backend directories
• Seamless integration: Works with existing atxp-express-example port configuration system
• Graceful fallbacks: Uses environment variables if .env creation fails
• Updated documentation: Comprehensive help text and usage examples
Changes Made
🔧 Command Line Interface
--port, -pwith--frontend-port, --fpand--backend-port, --bp--fpfor frontend port,--bpfor backend port📁 Configuration Management
PORT=${backendPort}andFRONTEND_PORT=${frontendPort}(for CORS)PORT=${frontendPort}andREACT_APP_BACKEND_PORT=${backendPort}(for proxy)📚 Documentation Updates
Integration with atxp-express-example
This implementation leverages the port configuration system added in atxp-express-example PR #6:
PORTandFRONTEND_PORTenvironment variablesconfigure-proxy.jsscript readsREACT_APP_BACKEND_PORTUsage Examples
Test Plan
Files Changed
src/index.ts- Updated argument parsing and DemoOptions interfacesrc/help.ts- Updated help documentation and examplessrc/run-demo.ts- Added .env file generation and updated startDemo function🤖 Generated with Claude Code