Thanks for your interest in contributing! This guide will help you get started.
- Fork and clone the repository:
git clone https://github.com/<your-username>/cloud-audit-agent.git
cd cloud-audit-agent- Install dependencies:
npm install- Run the tests to verify everything works:
npm testNo AWS credentials are needed to run tests — all tests use mocked AWS API responses.
- Create a branch for your work:
git checkout -b feat/my-change-
Make your changes and add tests.
-
Run the test suite:
npm test- Submit a pull request against
main.
If you're adding a new audit tool:
- One tool per PR — this makes review faster and keeps changes focused.
- Add the tool to the appropriate server file in
src/tools/(or create a new server if it's a new AWS service). - Always set tool annotations:
readOnlyHint: true, destructiveHint: false, openWorldHint: false. - Add unit tests using
aws-sdk-client-mock— see existing tests intests/unit/for examples. - Update the tool count in the README if applicable.
- Tests use vitest and aws-sdk-client-mock.
- Test external behavior (what a tool returns given mocked AWS responses), not implementation details.
- Look at existing test files in
tests/unit/as reference.
- TypeScript strict mode is enabled.
- Use Effect-TS for AWS SDK calls via the
awsCall()wrapper insrc/aws/effect.ts. - Use Zod for tool input schemas.
Open an issue on GitHub. Include:
- What you were trying to do
- What happened instead
- Steps to reproduce (if applicable)
- Your Node.js version and OS