Thank you for your interest in contributing to the A1Base AI Chat Agent! We welcome contributions from the community and are excited to help you make this project better.
This project adheres to the Contributor Covenant. By participating, you agree to abide by our Code of Conduct:
- Be respectful and inclusive
- Exercise consideration and empathy
- Focus on constructive feedback
- Maintain a harassment-free experience for everyone
-
Fork the Repository
- Click the 'Fork' button on GitHub
- Clone your fork locally:
git clone https://github.com/your-username/a1base-ai-agent cd a1base-ai-agent
-
Set Up Development Environment
- Install dependencies:
npm install
- Copy environment configuration:
cp .env.example .env.local
- Configure your environment variables
- Install dependencies:
-
Create a Branch
git checkout -b feature/your-feature-name
- Use TypeScript for all new code
- Follow existing code formatting (Prettier configuration)
- Maintain consistent naming conventions
- Add JSDoc comments for functions and complex logic
Follow the Conventional Commits specification:
feat:New featuresfix:Bug fixesdocs:Documentation changesstyle:Code style updatesrefactor:Code refactoringtest:Test updateschore:Maintenance tasks
Example:
feat: add message history persistence
-
Before Submitting
- Update your fork to the latest main branch
- Run tests:
npm test - Ensure linting passes:
npm run lint - Update documentation if needed
-
PR Guidelines
- Provide a clear, descriptive title
- Include relevant issue numbers
- Add detailed description of changes
- Include screenshots for UI changes
- Update tests and documentation
-
PR Template
## Description [Describe your changes] ## Type of Change - [ ] Bug fix - [ ] New feature - [ ] Documentation update - [ ] Code refactor - [ ] Other (please specify) ## Related Issues Fixes #[issue number] ## Testing [Describe how you tested your changes] ## Screenshots (if applicable)
- Write tests for new features
- Update existing tests when modifying features
- Ensure all tests pass before submitting PR
- Include both unit and integration tests where appropriate
- Update README.md for user-facing changes
- Add JSDoc comments for new functions
- Update API documentation if endpoints change
- Include code examples for new features
When filing an issue:
- Use the bug report template
- Include clear steps to reproduce
- Provide environment details
- Add relevant code snippets
- Include error messages and logs
When proposing new features:
- Use the feature request template
- Explain the use case
- Describe expected behavior
- Provide example scenarios
- Consider implementation approach
- All PRs require at least one reviewer
- Address review comments promptly
- Maintain discussion in PR comments
- Request re-review after updates
- Squash commits before merging
- Version bumps follow Semantic Versioning
- Update CHANGELOG.md with changes
- Create release notes
- Tag releases appropriately
- Join our Discord community
- Check existing issues and discussions
- Reach out to maintainers
- Review documentation
By contributing, you agree that your contributions will be licensed under the MIT License.
Thank you for contributing to making A1Base AI Chat Agent better for everyone! π