Skip to content

Effect AWS Monorepo

A collection of libraries simplifying AWS integrations within the Effect ecosystem

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-cloudsearchEffectful AWS CloudSearch 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-cognito-identity-providerEffectful AWS Cognito Identity Provider 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-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-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-eventsEffectful AWS IoT Events clientnpm version npm downloadsREADME
@effect-aws/client-iot-events-dataEffectful AWS IoT Events Data 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-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-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-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/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.