Home ci 42. monorepos: monorepos

42. monorepos: monorepos

Last updated on Aug 05, 2025

Using Monorepos

Monorepos are an excellent way to manage multiple projects within a single directory, making it easier to organize and work with your codebase. Epycbyte provides robust support for monorepos, allowing you to deploy them quickly and efficiently.

Table of Contents

  1. Getting Started
  2. Deploying a Template Monorepo
  3. Adding a Monorepo Through the Epycbyte Dashboard
  4. Using the Epycbyte CLI
  5. When Do Monorepo Builds Occur?
  6. Ignoring the Build Step
  7. Skipping Unaffected Projects
  8. Requirements

Getting Started

Monorepos simplify project management by consolidating your codebase into a single repository. With Epycbyte, you can easily set up and manage monorepos to streamline your workflow.


Deploying a Template Monorepo

Epycbyte offers pre-configured templates for monorepos, making it simple to get started. Follow these steps:

  1. Select Your Team: Ensure you're logged in and have the necessary permissions.
  2. Create a New Project: Navigate to the project creation section and choose "Monorepo" as your template type.
  3. Configure Settings: Set up your repository with the required configurations, such as root directories and build settings.
  4. Deploy: Click "Deploy" to create your monorepo project.

Epycbyte's templates are designed for quick deployment, allowing you to start managing multiple projects in minutes.


Adding a Monorepo Through the Epycbyte Dashboard

To add a monorepo manually:

  1. Select Your Team: Ensure you're working within the correct team settings.
  2. Create a New Project: Click on "Add Project" and select "Monorepo."
  3. Import Your Repository: Enter your Git repository details to clone it into Epycbyte.
  4. Set Root Directories: Define which directories will be included in your monorepo.
  5. Configure Settings: Adjust build triggers, concurrency settings, and other configurations as needed.
  6. Deploy: Save your changes and deploy the project.

Using the Epycbyte CLI

Epycbyte provides a command-line interface (CLI) for managing monorepos. Here's how to use it:

  1. Install the CLI: Download and install the Epycbyte CLI from the official website.
  2. Log In: Use epycbyte login to log in to your account.
  3. Link Projects: To link a project, run epycbyte link --repo <project-name>.
  4. Clone Repositories: Use epycbyte clone to clone repositories into your monorepo structure.

When Do Monorepo Builds Occur?

By default, any push or pull request to your monorepo will trigger a build. Epycbyte automatically builds all connected projects based on the defined rules.


Ignoring the Build Step

If you want to skip a build for specific branches or files, use the "Ignore Build" feature in project settings:

  1. Go to Project Settings: Navigate to the "Settings" tab and select "General."
  2. Enable Ignore Build: Toggle the switch next to "Ignore Build" to disable automatic builds.
  3. Save Changes: Apply your changes and confirm that builds will be skipped for selected branches.

Skipping Unaffected Projects

Epycbyte allows you to skip building projects that don't require updates:

  1. Go to Project Settings: Navigate to the "Settings" tab and select "General."
  2. Enable Skip Deployment: Toggle the switch next to "Skip Deployment" to enable this feature.
  3. Save Changes: Apply your changes, and Epycbyte will automatically skip building unaffected projects.

Requirements

For optimal performance:

  • Package Manager: Use npm, yarn, or pnpm with a lockfile at the root of your repository.
  • Unique Package Names: Ensure each package in your monorepo has a unique name in its package.json file.
  • Explicit Dependencies: Clearly define dependencies between packages in their respective package.json files.

Additional Notes

  • Error Handling: Monitor build logs for errors and resolve issues promptly.
  • Release Phases: Use release phases to manage rollouts and deployments.
  • Private Registry Support: Epycbyte supports private registries for secure package management.
  • Glossary: Refer to the glossary for detailed explanations of terms and features.