Thank you for your interest in contributing to AI Chatbot Framework! This document provides guidelines and steps for contributing to the project.
By participating in this project, you agree to maintain a respectful and inclusive environment for everyone.
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR-USERNAME/ai-chatbot-framework.git
cd ai-chatbot-framework
- Set up pre-commit hooks:
# Install pre-commit
pip install pre-commit
# Install the pre-commit hooks
pre-commit install
- Set up development environment using Docker Compose:
docker-compose -f docker-compose.dev.yml up -d
The development server will be available at http://localhost:3000/
- Create a new branch:
git checkout -b feature/your-feature-name
- Make your changes
- Test your changes thoroughly
- Commit your changes:
git add .
git commit -m "feat: describe your changes"
Follow conventional commits for your commit messages:
feat:
for new featuresfix:
for bug fixesdocs:
for documentation changestest:
for test-related changesrefactor:
for code refactoringstyle:
for code style changeschore:
for maintenance tasks
- Push to your fork:
git push origin feature/your-feature-name
- Create a Pull Request from your fork to the main repository
- Ensure your PR description clearly describes the changes
- Link any related issues
- Wait for review and address any feedback
app/
- Backend Python/FastAPI applicationfrontend/
- Frontend React applicationhelm/
- Helm charts for Kubernetes deploymentexamples/
- Example implementationsdocs/
- Project documentation
Before submitting a PR:
- Ensure all tests pass
- Add tests for new features
- Update documentation if needed
- Follow PEP 8 for Python code
- Use ESLint rules for JavaScript/React code
- Keep code modular and well-documented
- Add type hints in Python code where applicable
- Join our Gitter chat for questions
- Create an issue for bugs or feature requests
- Check existing issues and PRs before creating new ones
By contributing to AI Chatbot Framework, you agree that your contributions will be licensed under the project's license.