| Resource | Value |
|---|---|
| CPUs | 1 (more performant if >2 available) |
| Memory | 5 GB |
| Swap | 1 GB |
| Disk | 10 GB |
cdk-utils/
├── packages/
│ ├── aws/ # AWS CDK constructs and service managers
│ ├── azure/ # Azure Pulumi constructs and service managers
│ ├── cloudflare/ # Cloudflare Pulumi constructs and service managers
│ ├── common/ # Shared utilities, types, and enums
│ └── cdk-utils/ # Umbrella package re-exporting all sub-packages
├── docs/ # Project documentation (rendered in API docs)
├── img/ # Architecture diagrams and logo
├── theme/ # Custom TypeDoc theme (CSS + JS)
├── .github/ # GitHub Actions workflows and actions
└── app/ # Example applications
Each package under packages/ follows a consistent structure:
packages/<name>/
├── src/
│ ├── common/ # Base constructs, stacks, and shared types
│ ├── construct/ # High-level construct patterns
│ ├── services/ # Service manager classes
│ └── index.ts # Public API exports
├── test/ # Unit and integration tests
├── package.json
└── tsconfig.json
git clone https://github.com/gradientedge/cdk-utils.git
cd cdk-utils
pnpm install
pnpm build
pnpm test
pnpm install
pnpm build
pnpm validate
pnpm test:watch
pnpm fix
pnpm prettify
pnpm run docs
pnpm update:deps
pnpm --filter @gradientedge/cdk-utils-aws build
pnpm --filter @gradientedge/cdk-utils-aws test
noImplicitAny, strictNullChecks"type": "module") with Node.js module resolutionAll code is automatically formatted and linted via pre-commit hooks (powered by Husky).
This project uses Conventional Commits:
<type>(<scope>): <description>
Common types:
| Type | Description |
|---|---|
feat |
A new feature |
fix |
A bug fix |
docs |
Documentation changes |
style |
Formatting, missing semicolons, etc. |
refactor |
Code change that neither fixes nor adds |
test |
Adding or updating tests |
chore |
Maintenance tasks (deps, CI, build, etc.) |
Commit messages are validated automatically via a commit-msg hook using commitlint.