Thank you for your interest in contributing to Akash Chat! This document provides guidelines and instructions for contributing to this project.
By participating in this project, you agree to maintain a respectful and inclusive environment for everyone. Please be considerate in your interactions with other contributors. See the Code of Conduct for more details.
- Fork the repository on GitHub
- Clone your fork to your local machine:
git clone https://github.com/YOUR_USERNAME/akash-chat.git cd akash-chat - Set up the upstream remote:
git remote add upstream https://github.com/ORIGINAL_REPO/akash-chat.git
- Install dependencies:
pnpm install
- Set up environment variables:
Create a
.env.localfile in the root directory with the necessary environment variables (refer to the README for required variables)
-
Create a new branch for your feature or bugfix:
git checkout -b feature/your-feature-name
or
git checkout -b fix/issue-you-are-fixing
-
Make your changes and ensure they follow our coding standards.
-
Run linting to ensure code quality:
pnpm lint
-
Test your changes by running the development server:
pnpm dev
-
Commit your changes with a clear, descriptive message following the Conventional Commits specification:
git commit -m "feat: add new chat feature" -
Pull the latest changes from upstream:
git pull upstream main
-
Push your branch to your fork:
git push origin feature/your-feature-name
-
Create a Pull Request from your fork to the main repository.
/app- Next.js app directory containing pages and API routes/components- Reusable React components/lib- Utility functions and shared logic/public- Static assets/hooks- Custom React hooks
When submitting a Pull Request, please:
- Provide a clear description of the changes and their purpose
- Reference any related issues using GitHub's keyword references (e.g., "Fixes #123")
- Include any necessary documentation updates
- Ensure the PR is up-to-date with the main branch
- Test your changes thoroughly, including:
- Chat functionality
- UI responsiveness
- Error handling
- API integration
When adding new features:
- Follow the existing project structure and patterns
- Use TypeScript for type safety
- Implement proper error handling
- Add appropriate tests if applicable
- Update documentation as needed
- Consider mobile responsiveness
- Follow the existing styling conventions using Tailwind CSS
When reporting issues, please:
- Use the issue template provided
- Provide steps to reproduce the issue
- Include relevant information such as:
- Node.js version
- Operating system
- Browser version
- Relevant logs or error messages
- Expected versus actual behavior
- Screenshots if applicable
Improvements to documentation are always welcome! Please ensure:
- Documentation is clear and concise
- Code examples are correct and follow best practices
- Any new functionality is properly documented
- Update README.md if necessary
By contributing to this project, you agree that your contributions will be licensed under the project's Apache 2.0 License.
If you have any questions or need help with the contribution process, please open an issue marked as a question or contact the maintainers directly.
Thank you for contributing to Akash Chat!