# Setup Guide
This section covers the initial setup and configuration for PatternFly React development projects.
## Introduction
The setup process for PatternFly React applications involves several key steps including environment preparation, project initialization, and dependency management. This guide provides comprehensive instructions for AI coders to establish a proper development environment.
## Related Files
- [**Quick Start**](./quick-start.md) - Step-by-step project initialization
- [**Development Environment**](./development-environment.md) - Environment configuration and tools
- [**PatternFly Guidelines**](../guidelines/README.md) - Core development principles
- [**Troubleshooting Setup Issues**](../troubleshooting/common-issues.md#setup-issues) - Common setup problems
## Prerequisites
Before starting any PatternFly React project, ensure the following requirements are met:
### Required Software
#### Node.js & npm
- **Requirement**: Node.js and npm must be installed and available in PATH
- **Verification**: Run `node --version && npm --version` to confirm installation
- **Installation**: Download from [https://nodejs.org/](https://nodejs.org/)
- **AI Note**: AI can verify these commands and guide installation if needed
#### Optional: Node Version Manager (nvm)
- **Purpose**: Manage multiple Node.js versions
- **Usage**: If using nvm, ensure it's loaded and the correct Node version is active
- **Verification**: Run `nvm use node` to activate the latest version
- **AI Note**: Check if nvm is being used before proceeding with npm commands
### System Requirements
- **Operating System**: Windows, macOS, or Linux
- **Memory**: Minimum 4GB RAM (8GB recommended for development)
- **Storage**: At least 1GB free space for dependencies
- **Network**: Internet connection for package downloads
## Project Initialization Methods
### Method 1: PatternFly React Seed (Recommended)
The PatternFly React Seed provides a complete scaffolding solution with:
- Pre-configured layout components
- Routing setup
- Build and test tools
- Development server configuration
**Repository**: [patternfly-react-seed](https://github.com/patternfly/patternfly-react-seed)
### Method 2: Manual Setup
For custom project structures or specific requirements, manual setup allows full control over:
- Package selection
- Build configuration
- Project structure
- Development workflow
## Next Steps
1. Follow the [Quick Start Guide](./quick-start.md) for immediate project setup
2. Configure your [Development Environment](./development-environment.md)
3. Review [PatternFly Guidelines](../guidelines/README.md) for coding standards
4. Explore [Component Documentation](../components/) for implementation guidance
## Best Practices
- Always verify Node.js and npm versions before starting
- Use the PatternFly React Seed for new projects unless specific customization is required
- Keep dependencies up to date with PatternFly releases
- Follow semantic versioning for project dependencies
- Document any custom setup steps for team collaboration
## Common Setup Scenarios
- **New Project**: Use PatternFly React Seed
- **Existing React App**: Add PatternFly dependencies manually
- **Enterprise Environment**: Consider proxy and security requirements
- **Team Development**: Ensure consistent Node.js versions across team members