Skip to content

Effect AWS Monorepo ​

A collection of libraries simplifying AWS integrations within the Effect ecosystem

Watch the video

Effect Website: https://www.effect.website
Effect API Reference: https://effect-ts.github.io/effect
Effect AWS Website: https://effect-aws.website
Effect AWS API Reference: https://floydspace.github.io/effect-aws

Monorepo Structure ​

The Effect AWS monorepo is organized into clients (having same name as native AWS clients) and helper packages. Below is an overview of the packages included:

PackageDescription
@effect-aws/commonsCommon utilities for Effectful AWS clientsnpm version npm downloadsREADME
@effect-aws/client-accountEffectful AWS Account clientnpm version npm downloadsREADME
@effect-aws/client-api-gatewayEffectful AWS API Gateway clientnpm version npm downloadsREADME
@effect-aws/client-api-gateway-v2Effectful AWS API Gateway V2 clientnpm version npm downloadsREADME
@effect-aws/client-api-gateway-management-apiEffectful AWS API Gateway Management API clientnpm version npm downloadsREADME
@effect-aws/client-athenaEffectful AWS Athena clientnpm version npm downloadsREADME
@effect-aws/client-auto-scalingEffectful AWS Auto Scaling clientnpm version npm downloadsREADME
@effect-aws/client-bedrockEffectful AWS Bedrock clientnpm version npm downloadsREADME
@effect-aws/client-bedrock-runtimeEffectful AWS Bedrock Runtime clientnpm version npm downloadsREADME
@effect-aws/client-bedrock-agentEffectful AWS Bedrock Agent clientnpm version npm downloadsREADME
@effect-aws/client-bedrock-agentcoreEffectful AWS Bedrock AgentCore clientnpm version npm downloadsREADME
@effect-aws/client-bedrock-agentcore-controlEffectful AWS Bedrock AgentCore Control clientnpm version npm downloadsREADME
@effect-aws/client-cloudfrontEffectful AWS CloudFront clientnpm version npm downloadsREADME
@effect-aws/client-cloudsearchEffectful AWS CloudSearch clientnpm version npm downloadsREADME
@effect-aws/client-cloudformationEffectful AWS CloudFormation clientnpm version npm downloadsREADME
@effect-aws/client-cloudtrailEffectful AWS CloudTrail clientnpm version npm downloadsREADME
@effect-aws/client-cloudwatchEffectful AWS CloudWatch clientnpm version npm downloadsREADME
@effect-aws/client-cloudwatch-eventsEffectful AWS CloudWatch Events clientnpm version npm downloadsREADME
@effect-aws/client-cloudwatch-logsEffectful AWS CloudWatch Logs clientnpm version npm downloadsREADME
@effect-aws/client-codedeployEffectful AWS CodeDeploy clientnpm version npm downloadsREADME
@effect-aws/client-data-pipelineEffectful AWS Data Pipeline clientnpm version npm downloadsREADME
@effect-aws/client-cognito-identity-providerEffectful AWS Cognito Identity Provider clientnpm version npm downloadsREADME
@effect-aws/client-dsqlEffectful AWS DSQL clientnpm version npm downloadsREADME
@effect-aws/client-dynamodbEffectful AWS DynamoDB clientnpm version npm downloadsREADME
@effect-aws/client-ec2Effectful AWS EC2 clientnpm version npm downloadsREADME
@effect-aws/client-ecrEffectful AWS ECR clientnpm version npm downloadsREADME
@effect-aws/client-ecsEffectful AWS ECS clientnpm version npm downloadsREADME
@effect-aws/client-eksEffectful AWS EKS clientnpm version npm downloadsREADME
@effect-aws/client-elastic-load-balancing-v2Effectful AWS Elastic Load Balancing v2 clientnpm version npm downloadsREADME
@effect-aws/client-elasticacheEffectful AWS ElastiCache clientnpm version npm downloadsREADME
@effect-aws/client-eventbridgeEffectful AWS EventBridge clientnpm version npm downloadsREADME
@effect-aws/client-firehoseEffectful AWS Firehose clientnpm version npm downloadsREADME
@effect-aws/client-glueEffectful AWS Glue clientnpm version npm downloadsREADME
@effect-aws/client-iamEffectful AWS IAM clientnpm version npm downloadsREADME
@effect-aws/client-iotEffectful AWS IoT clientnpm version npm downloadsREADME
@effect-aws/client-iot-data-planeEffectful AWS IoT Data Plane clientnpm version npm downloadsREADME
@effect-aws/client-iot-jobs-data-planeEffectful AWS IoT Jobs Data Plane clientnpm version npm downloadsREADME
@effect-aws/client-iot-wirelessEffectful AWS IoT Wireless clientnpm version npm downloadsREADME
@effect-aws/client-ivsEffectful AWS IVS clientnpm version npm downloadsREADME
@effect-aws/client-kinesisEffectful AWS Kinesis clientnpm version npm downloadsREADME
@effect-aws/client-kmsEffectful AWS KMS clientnpm version npm downloadsREADME
@effect-aws/client-lambdaEffectful AWS Lambda clientnpm version npm downloadsREADME
@effect-aws/client-mqEffectful AWS MQ clientnpm version npm downloadsREADME
@effect-aws/client-opensearchEffectful AWS OpenSearch clientnpm version npm downloadsREADME
@effect-aws/client-opensearch-serverlessEffectful AWS OpenSearch Serverless clientnpm version npm downloadsREADME
@effect-aws/client-organizationsEffectful AWS Organizations clientnpm version npm downloadsREADME
@effect-aws/client-rdsEffectful AWS RDS clientnpm version npm downloadsREADME
@effect-aws/client-resource-groups-tagging-apiEffectful AWS Resource Groups Tagging API clientnpm version npm downloadsREADME
@effect-aws/client-s3Effectful AWS S3 clientnpm version npm downloadsREADME
@effect-aws/client-schedulerEffectful AWS Scheduler clientnpm version npm downloadsREADME
@effect-aws/client-secrets-managerEffectful AWS Secrets Manager clientnpm version npm downloadsREADME
@effect-aws/client-sesEffectful AWS SES clientnpm version npm downloadsREADME
@effect-aws/client-sesv2Effectful AWS SESv2 clientnpm version npm downloadsREADME
@effect-aws/client-sfnEffectful AWS Step Functions clientnpm version npm downloadsREADME
@effect-aws/client-snsEffectful AWS SNS clientnpm version npm downloadsREADME
@effect-aws/client-sqsEffectful AWS SQS clientnpm version npm downloadsREADME
@effect-aws/client-ssmEffectful AWS SSM clientnpm version npm downloadsREADME
@effect-aws/client-stsEffectful AWS STS clientnpm version npm downloadsREADME
@effect-aws/client-textractEffectful AWS Textract clientnpm version npm downloadsREADME
@effect-aws/client-timestream-writeEffectful AWS Timestream Write clientnpm version npm downloadsREADME
@effect-aws/client-timestream-queryEffectful AWS Timestream Query clientnpm version npm downloadsREADME
@effect-aws/client-timestream-influxdbEffectful AWS Timestream InfluxDB clientnpm version npm downloadsREADME
@effect-aws/client-kafkaEffectful AWS Kafka clientnpm version npm downloadsREADME
@effect-aws/client-kafkaconnectEffectful AWS KafkaConnect clientnpm version npm downloadsREADME
@effect-aws/dynamodbEffectful AWS DynamoDB library & functionsnpm version npm downloadsREADME
@effect-aws/http-handlerEffectful HttpHandler for AWS SDKnpm version npm downloadsREADME
@effect-aws/lambdaEffectful AWS Lambda handlernpm version npm downloadsREADME
@effect-aws/powertools-loggerEffectful Powertools Logger for AWS Lambdanpm version npm downloadsREADME
@effect-aws/powertools-tracerEffectful Powertools Tracer for AWS Lambdanpm version npm downloadsREADME
@effect-aws/s3Effectful AWS S3 functionsnpm version npm downloadsREADME
@effect-aws/secrets-managerEffectful AWS Secrets Manager functionsnpm version npm downloadsREADME
@effect-aws/ssmEffectful AWS SSM functionsnpm version npm downloadsREADME

Documentation ​

API Reference ​

For a complete API reference of the effect-aws packages, see the Effect AWS API documentation.

Contributing Guidelines ​

Thank you for considering contributing to our project! Here are some guidelines to help you get started:

Reporting Bugs ​

If you have found a bug, please open an issue on our issue tracker and provide as much detail as possible. This should include:

  • A clear and concise description of the problem
  • Steps to reproduce the problem
  • The expected behavior
  • The actual behavior
  • Any relevant error messages or logs

Suggesting Enhancements ​

If you have an idea for an enhancement or a new feature, please open an issue on our issue tracker and provide as much detail as possible. This should include:

  • A clear and concise description of the enhancement or feature
  • Any potential benefits or use cases
  • Any potential drawbacks or trade-offs

Pull Requests ​

We welcome contributions via pull requests! Here are some guidelines to help you get started:

  1. Fork the repository and clone it to your local machine.
  2. Create a new branch for your changes: git checkout -b my-new-feature
  3. Install dependencies: pnpm install (pnpm@9.x, using corepack or nix preferred)
    • if you introduce new dependencies, please use .projenrc.ts to add them
    • then run pnpm default to update the project
  4. Make your changes and add tests if applicable.
  5. Run the tests: pnpm test
  6. Commit your changes: git commit -am 'Add some feature'
  7. Push your changes to your fork: git push origin my-new-feature
  8. Open a pull request against our main branch.

Pull Request Guidelines ​

  • Please make sure your changes are consistent with the project's existing style and conventions.
  • Please write clear commit messages and include a summary of your changes in the pull request description.
  • Please make sure all tests pass and add new tests as necessary.
  • If your change requires documentation, please update the relevant documentation.
  • Please be patient! We will do our best to review your pull request as soon as possible.

License ​

By contributing to this project, you agree that your contributions will be licensed under the project's MIT License.

Released under the MIT License.