Skip to main content

How to Contribute

DevoxxGenie is an open-source project, and we welcome contributions from the community. Whether you're fixing bugs, improving documentation, or adding new features, your help is appreciated!

Ways to Contribute​

There are many ways to contribute to DevoxxGenie:

  • Code Contributions: Implement new features or fix bugs
  • Documentation: Improve or extend the documentation
  • Bug Reports: Report issues you encounter
  • Feature Requests: Suggest new features or improvements
  • Testing: Test the plugin across different environments
  • Community Support: Help answer questions from other users

Getting Started​

Prerequisites​

Before you start contributing, make sure you have:

  • Basic knowledge of Java
  • Understanding of IntelliJ IDEA plugin development
  • Git installed
  • JDK 17 or later
  • IntelliJ IDEA (Community or Ultimate)

Setting Up the Development Environment​

  1. Fork the Repository

    Fork the DevoxxGenie repository on GitHub.

  2. Clone Your Fork

    git clone https://github.com/YOUR-USERNAME/DevoxxGenieIDEAPlugin.git
    cd DevoxxGenieIDEAPlugin
  3. Set Up the Project in IntelliJ IDEA

    • Open IntelliJ IDEA
    • Select "Open" and navigate to the cloned repository
    • Choose "Open as Project"
    • Allow the Gradle sync to complete
  4. Verify Setup

    Run the Gradle build task to ensure everything is set up correctly:

    ./gradlew build

Development Workflow​

  1. Create a Branch

    Create a branch for your changes:

    git checkout -b feature/your-feature-name

    Or for bugfixes:

    git checkout -b fix/issue-description
  2. Make Your Changes

    Implement your changes, following the code style guidelines.

  3. Run Tests

    Run the tests to ensure everything works as expected:

    ./gradlew test
  4. Build the Plugin

    Build the plugin to verify it packages correctly:

    ./gradlew buildPlugin
  5. Test the Plugin

    Run the plugin in a development instance of IntelliJ:

    ./gradlew runIde
  6. Commit Your Changes

    Commit your changes with a clear and descriptive commit message:

    git commit -am "Add feature: description of your changes"
  7. Push Your Changes

    Push your changes to your fork:

    git push origin feature/your-feature-name
  8. Create a Pull Request

    Go to the DevoxxGenie repository and create a pull request from your fork.

Code Style Guidelines​

DevoxxGenie follows standard Java code style conventions:

  • Use 4 spaces for indentation
  • Follow Java naming conventions
  • Write clear, concise comments
  • Include JavaDoc for public APIs
  • Maximum line length of 120 characters
  • Organize imports

Pull Request Guidelines​

When submitting a pull request:

  1. Link Related Issues: Reference any related issues in your PR description
  2. Describe Your Changes: Provide a clear description of what your changes do
  3. Include Tests: Add tests for new features or bug fixes
  4. Update Documentation: Update any relevant documentation
  5. Keep PRs Focused: Each PR should address a single concern
  6. Be Responsive: Respond to feedback and update your PR as needed

Finding Issues to Work On​

  • Check the Issues tab on GitHub
  • Look for issues labeled "good first issue" for beginner-friendly tasks
  • Join the GitHub Discussions to find areas where help is needed

Community Guidelines​

  • Be Respectful: Treat all community members with respect
  • Be Constructive: Provide constructive feedback and suggestions
  • Be Collaborative: Work together to improve the project
  • Be Patient: Not all contributors have the same expertise or availability
  • Be Inclusive: Welcome new contributors and help them get started

Additional Resources​

Thank you for contributing to DevoxxGenie! Your efforts help make this tool better for everyone.