This monorepo houses shared packages and reusable CI/CD workflows used across various @6edesign projects. It is managed with pnpm workspaces and turbo for efficient task orchestration.
/(Root): Contains global configuration files (package.json,pnpm-workspace.yaml,turbo.json,.nvmrc,.prettierrc,.changeset/).packages/: Contains shared libraries and tools. Each subdirectory is a distinct package (e.g.,@6edesign/cicd,@6edesign/cli)..github/workflows/: Houses reusable GitHub Actions workflows for CI/CD tasks.
-
Clone the repository:
git clone <repository-url> cd <repository-name>
-
Install dependencies:
pnpm install
-
Build all packages:
pnpm turbo build
-
Generate new projects, packages, or services: The
@6edesign/clipackage provides powerful code generation capabilities to quickly scaffold new projects, packages, and zRPC services, adhering to the monorepo's conventions. This simplifies the setup of new components and ensures consistency across the codebase.You can generate:
- New Monorepo Projects: Use
pnpm exec stacker new-projectto bootstrap a complete monorepo structure. - New Packages: Use
pnpm exec stacker new-packageto create new shared libraries or utilities within thepackages/directory. - New zRPC Services: Use
pnpm exec stacker new-zrpc-serviceto scaffold new microservices within theapps/directory, with options for JavaScript or TypeScript.
For detailed usage and examples of these code generation commands, please refer to the CLI's README.md.
- New Monorepo Projects: Use
-
Run tests for all packages:
pnpm turbo test
This monorepo includes the following shared packages:
@6edesign/cicd: Core CI/CD functionalities and plugins.@6edesign/cicd-core: Foundational CI/CD abstractions.@6edesign/cicd-internal: Internal CI/CD utilities.@6edesign/cli: Command-line interface tools.@6edesign/data-circuits: Data circuit utilities.@6edesign/eslint-config: Shared ESLint configurations.@6edesign/messenger: Messaging utilities.@6edesign/microservice: Microservice development utilities.@6edesign/tracing: Distributed tracing utilities.@6edesign/tsconfig: Shared TypeScript configurations.
Reusable GitHub Actions workflows are located in .github/workflows/. These workflows are designed to be called by other repositories to standardize CI/CD practices across @6edesign projects.
Contributions are welcome! Please refer to the project's contributing guidelines (if available) for more information.