Contributing to Dcup

Thanks for taking the time to contribute ❤️. All types of contributions—whether code, documentation, bug reports, or feature ideas—are encouraged and valued!

How to Report a Bug

We use GitHub issues to track bugs and errors. If you run into a problem with Dcup, please:

  • Open an Issue: Describe the problem.
  • Explain the Behavior: Share what you expected versus what actually happened.
  • Provide Details: Include as much context as possible, such as isolated code examples and clear reproduction steps.

A well-documented bug report helps us fix issues quickly.

How to Request a New Feature

Enhancement suggestions are tracked as GitHub issues. When suggesting a new feature, please:

  • Use a Clear, Descriptive Title: Help us quickly understand the suggestion.
  • Provide a Detailed Description: Explain the current behavior, your expected behavior, and why this change would benefit Dcup users.
  • Include Visuals: Add screenshots or examples if applicable. Your ideas are important in making Dcup even better.

How to Contribute Code

Working on Your First Pull Request

If you're new to open-source, check out our list of "good first issues" on GitHub. These issues have a relatively limited scope and are a great starting point.

Opening a Pull Request

  1. Fork the Repository:
git clone https://github.com/Dcup-dev/dcup.git
cd dcup
git remote add upstream https://github.com/Dcup-dev/dcup.git
  1. Sync Your Local Main Branch:
git checkout main
git pull upstream main
  1. Install Dependencies:
npm install
  1. Setting Up the Development Environment
    • Copy .env.example into .env: Update the .env file with your settings.
    • Launch Required Services: Start PostgreSQL, Redis, and Qdrant with
make docker-run
  1. Start the Development Server:
npm run dev
  1. Create a New Topic Branch:
git checkout -b feature/my-feature
  1. Make Your Changes, Commit, and Push:
git push -u origin feature/my-feature
  1. Open a Pull Request on GitHub: Describe your changes clearly and reference any related issues.

Merge Strategy

We use squash & merge to keep the main branch history clean.

On this page