Thank you for your interest in contributing to our Custom Conversational AI Agent project! This document provides guidelines and instructions for contributing.
By participating in this project, you agree to abide by our Code of Conduct:
- Be respectful and inclusive
- Exercise consideration and empathy
- Focus on constructive criticism
- Avoid discriminatory or harassing behavior
- Check if the issue already exists in our issue tracker
- If not, create a new issue with:
- Clear title and description
- Steps to reproduce (for bugs)
- Expected vs actual behavior
- Screenshots if applicable
- System information when relevant
- Fork the repository
- Create a new branch from
main
:git checkout -b feature/your-feature-name
- Make your changes following our coding standards
- Commit your changes with clear messages:
git commit -m "feat: add new feature" # for features git commit -m "fix: resolve issue #123" # for fixes
- Push to your fork and submit a pull request
- Keep PRs focused on a single change
- Follow existing code style and conventions
- Include tests for new features
- Update documentation as needed
- Link related issues in PR description
-
Install prerequisites:
- Node.js (v14 or later)
- Docker
- Pulumi CLI
- AWS CLI
-
Fork the repository: https://github.com/AgoraIO-Community/Custom-Conversational-AI-Agent-Deployer
git clone https://github.com/{YOUR-USERNAME}/Custom-Conversational-AI-Agent-Deployer cd Custom-Conversational-AI-Agent-Deployer
-
Install dependencies:
npm install
-
Set up your development environment following the README.md
- Use TypeScript for infrastructure code
- Follow ESLint and Prettier configurations
- Write meaningful comments and documentation
- Include type definitions
- Write unit tests for new features
- Run tests before submitting PRs:
npm test
- Ensure all existing tests pass
- Add new tests for new features
- Include both unit and integration tests
- Update README.md for significant changes
- Document new features and configuration options
- Include JSDoc comments for functions
- Update architecture diagrams if needed
- Main branch is always deployable
- Releases are tagged using semantic versioning
- Release notes document all changes
- Open an issue for questions
- Join our community chat
- Check existing documentation
By contributing, you agree that your contributions will be licensed under the project's license.
Thank you for contributing to our project! 🎉