We love your input! We want to make contributing to DeepChat as easy and transparent as possible, whether it's:
- Reporting a bug
- Discussing the current state of the code
- Submitting a fix
- Proposing new features
- Becoming a maintainer
We use GitHub to host code, to track issues and feature requests, as well as accept pull requests.
- Develop directly on the
dev
branch - Code submitted to the
dev
branch must ensure:- Basic functionality works
- No compilation errors
- Project can start normally with
npm run dev
- Create a new feature branch named
feature/featurename
- Merge the feature branch back to
dev
branch upon completion
- Fork this repository to your personal account
- Create your development branch from
dev
- Develop in your forked repository
- Submit a Pull Request to the
dev
branch of the original repository - Describe the Issues fixed in your PR description (if applicable)
-
Clone the repository:
git clone https://github.com/yourusername/deepchat.git cd deepchat
-
Install required development tools:
- Install Node.js (Latest LTS version recommended)
-
Additional setup based on your operating system:
Windows:
- Install Windows Build Tools:
GUI Installation:
- Install Visual Studio Community
- Select "Desktop development with C++" workload during installation
- Ensure "Windows 10/11 SDK" and "MSVC v143 build tools" components are selected
- Install Git for Windows
macOS:
- Install Xcode Command Line Tools:
xcode-select --install
- Recommended: Install Homebrew package manager:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Linux:
- Install required build dependencies:
# Ubuntu/Debian sudo apt-get install build-essential git # Fedora sudo dnf groupinstall "Development Tools" sudo dnf install git
- Install Windows Build Tools:
GUI Installation:
-
Install project dependencies:
yarn install
-
Start the development server:
yarn dev
/src
- Main source code/scripts
- Build and development scripts/resources
- Application resources/build
- Build configuration/out
- Build output
- We use ESLint for JavaScript/TypeScript linting
- Prettier for code formatting
- EditorConfig for maintaining consistent coding styles
Please ensure your code follows our style guidelines by running:
yarn lint
yarn format
- Update the README.md with details of changes to the interface, if applicable.
- Update documentation in the
/docs
directory if needed. - The PR will be merged once you have the sign-off of at least one maintainer.
Feel free to open an issue with the tag "question" if you have any questions about contributing.
By contributing, you agree that your contributions will be licensed under the project's license.