A comprehensive guide to setting up and using GitHub Codespaces within the GitHub GIG Cymru service for NHS Wales organizations.
- What is GitHub Codespaces?
- What is GitHub GIG Cymru?
- Benefits of Using Codespaces
- Getting Started
- Setting Up Your First Codespace
- Using Codespaces Effectively
- Organization-Specific Features
- Troubleshooting
- Support and Resources
GitHub Codespaces is a cloud-based development environment that allows you to code, build, test, and debug applications directly in your browser or through Visual Studio Code. It provides a complete, configurable development environment hosted in the cloud, eliminating the need to set up local development environments.
- Instant Setup: Launch a fully configured development environment in seconds
- Browser-Based: Code directly in your web browser with a full VS Code experience
- Customizable: Configure your environment with specific tools, extensions, and settings
- Collaborative: Share and collaborate on code with your team seamlessly
- Scalable: Choose from different machine types based on your project needs
GitHub GIG Cymru is a secure, centrally managed GitHub Enterprise platform provided by NHS Wales. This enterprise-grade platform offers several advantages for NHS Wales organizations:
- Develop under a community umbrella: Each organization gets its own GitHub organization, fostering collaboration and knowledge sharing across NHS Wales
- Leverage enterprise features: Benefit from advanced security, compliance, and management tools specifically designed for healthcare environments
- Enhanced Security: Enterprise-grade security controls and compliance features
- Central Management: Streamlined administration across all NHS Wales organizations
- Collaboration: Cross-organizational collaboration while maintaining security boundaries
- Compliance: Built-in tools to help meet healthcare data protection requirements
- Support: Dedicated support for NHS Wales development teams
Using GitHub Codespaces within the GitHub GIG Cymru platform provides numerous advantages:
- Zero Setup Time: Jump into coding immediately without local environment configuration
- Consistent Environments: Ensure all team members work with identical development setups
- Pre-configured Tools: Access pre-installed development tools and dependencies
- Secure by Default: Code remains in secure cloud environments
- No Local Data: Sensitive NHS data never needs to be stored locally
- Access Controls: Leverage enterprise security policies and access controls
- Audit Trail: Complete visibility into development activities
- Instant Sharing: Share development environments with colleagues instantly
- Live Collaboration: Work together on code in real-time
- Knowledge Transfer: Onboard new team members quickly with pre-configured environments
- Device Independent: Work from any device with a web browser
- Remote Friendly: Perfect for remote work and distributed teams
- Consistent Experience: Same development experience across all devices
- No Hardware Requirements: Reduce local hardware needs
- Pay-per-Use: Only pay for compute time when actively developing
- Reduced IT Overhead: Less local software management and troubleshooting
Before you can use GitHub Codespaces, ensure you have:
- Access to GitHub GIG Cymru: Your NHS Wales organization must have provisioned access
- GitHub Account: A GitHub account associated with your organization
- Appropriate Permissions: Repository access and Codespaces permissions
- Modern Web Browser: Chrome, Firefox, Safari, or Edge (latest versions)
-
Log into GitHub GIG Cymru
- Navigate to your organization's GitHub instance
- Sign in with your NHS Wales credentials
-
Verify Codespaces Access
- Go to your user settings
- Check that Codespaces is enabled for your account
-
Review Organization Policies
- Familiarize yourself with your organization's Codespaces policies
- Understand any usage limits or restrictions
-
Navigate to Repository
- Go to the repository you want to work on
- Ensure you have appropriate access permissions
-
Create Codespace
- Click the green "Code" button
- Select the "Codespaces" tab
- Click "Create codespace on main" (or your desired branch)
-
Choose Configuration
- Select machine type (2-core, 4-core, 8-core, etc.)
- Choose region (if available)
- Click "Create codespace"
-
Access Dashboard
- Go to github.com/codespaces
- Or click your profile β "Your codespaces"
-
New Codespace
- Click "New codespace"
- Select repository and branch
- Configure machine type and region
- Click "Create codespace"
When your Codespace starts:
- Wait for Setup: The environment will automatically configure based on repository settings
- Install Extensions: VS Code extensions will be installed automatically
- Review Environment: Check that all necessary tools are available
- Test Setup: Run any setup scripts or commands specific to your project
-
Code Development
- Use the integrated VS Code interface
- Access terminal for command-line operations
- Install additional tools as needed
-
Version Control
- Commit and push changes directly from the Codespace
- Use VS Code's built-in Git integration
- Create and manage branches
-
Testing and Debugging
- Run tests within the Codespace environment
- Use integrated debugging tools
- Preview applications using port forwarding
- Use
devcontainer.jsonfiles to define consistent environments - Document environment requirements in your repository
- Regularly update base images and configurations
- Commit changes frequently to avoid data loss
- Use persistent storage for important files
- Backup configuration files and settings
- Choose appropriate machine types for your workload
- Stop Codespaces when not in use to save costs
- Use efficient development practices
- Never store sensitive credentials in code
- Use environment variables for configuration
- Follow your organization's security guidelines
- Dotfiles: Automatically apply your personal configuration
- Settings Sync: Sync VS Code settings across Codespaces
- Extensions: Install and manage development extensions
- Dev Containers: Define project-specific environments
- Prebuild: Create faster-starting Codespaces
- Port Configuration: Set up application ports and forwarding
As part of the GitHub GIG Cymru platform, your Codespaces benefit from:
- Single Sign-On (SSO) integration
- Advanced audit logging
- IP allowlist support
- Enterprise-grade encryption
- Cross-organization visibility (where appropriate)
- Shared templates and configurations
- Centralized billing and usage reporting
- Policy enforcement and compliance
- Organization-wide usage policies
- Spending limits and controls
- Machine type restrictions
- Automatic timeout configurations
When working with NHS data:
- Data Classification: Understand data sensitivity levels
- Access Controls: Respect patient data access restrictions
- Audit Requirements: Maintain appropriate audit trails
- Data Residency: Ensure compliance with data location requirements
- Check organization policies and limits
- Verify repository permissions
- Try a different machine type or region
- Contact your organization administrator
- Upgrade to a larger machine type
- Close unnecessary browser tabs
- Check network connectivity
- Restart the Codespace
- Update VS Code extensions
- Check extension compatibility
- Clear extension cache
- Reinstall problematic extensions
- Refresh your browser
- Check internet connectivity
- Try incognito/private browsing mode
- Clear browser cache and cookies
-
Organization Support
- Contact your NHS Wales IT support team
- Check internal documentation and wikis
- Reach out to your GitHub organization administrators
-
GitHub Documentation
- Visit GitHub Codespaces Documentation
- Check GitHub Community Forum
- Review GitHub Status Page
-
Emergency Procedures
- Follow your organization's incident response procedures
- Document any security-related issues
- Escalate critical problems through appropriate channels
- GitHub Skills courses on Codespaces
- NHS Wales internal training materials
- VS Code documentation and tutorials
- NHS Wales developer communities
- GitHub organization discussions
- Internal knowledge sharing sessions
# Open terminal
Ctrl+` (or Cmd+` on Mac)
# Command palette
Ctrl+Shift+P (or Cmd+Shift+P on Mac)
# File explorer
Ctrl+Shift+E (or Cmd+Shift+E on Mac)
# Source control
Ctrl+Shift+G (or Cmd+Shift+G on Mac)This guide is maintained by the GitHub GIG Cymru team for NHS Wales organizations. For updates and suggestions, please create an issue in this repository.