Skip to main content

Prerequisites

Welcome to the prerequisites guide for developing in our monorepo. This document is designed to ensure you have all the necessary tools and accounts set up before you dive into development. Whether you prefer developing inside a devcontainer or directly on your host machine, these steps are crucial to get you started smoothly.

Orbstack: Docker Desktop Alternative

Before you can start developing, you'll need to set up Orbstack, a lightweight and efficient alternative to Docker Desktop. Orbstack enables you to manage your development environments and containers with ease.

Installation Guide

Follow the detailed installation guide for Orbstack to set up on your system. Ensure you follow the steps specific to your operating system to avoid any compatibility issues.

Why Orbstack?

Orbstack provides a seamless development experience, especially for projects requiring containerization. It's designed to be resource-efficient, making it ideal for developers who need to conserve system resources.

Registering for Third-party Services

Our development process integrates with several third-party services, which are essential for various aspects of the workflow. Here's a list of services you need to register for:

  • GitHub: For source control and code review. Make sure to set up your SSH keys for easy repository access.
  • Docker Hub: Required for managing and storing docker images.
  • Other Services: Depending on your project, you may need to register for additional services. Consult the project documentation for specifics.

Account Setup Tips

  • Ensure your accounts are secure by using strong, unique passwords and enabling two-factor authentication wherever possible.
  • Familiarize yourself with the services' dashboards and settings. This will streamline your development process.

Development Environment Choices

Once you've completed the prerequisites, you have two primary choices for your development environment:

  • Devcontainer: Our preferred method. It offers a consistent development environment across all team members and reduces "works on my machine" issues.
  • Host Machine: If you prefer to develop directly on your host machine, ensure your development environment meets the project's requirements.

Choosing the Right Environment

Consider the pros and cons of each environment option. If you're unsure, start with a devcontainer to leverage the benefits of a containerized development environment.