SmartGen Docs is an open-source project, and its growth and success are driven by the valuable contributions of its community. We welcome and encourage everyone, regardless of their experience level, to get involved and help us make SmartGen Docs the best documentation platform possible. Your contributions can range from reporting bugs and suggesting new features to improving documentation and writing code.

This guide outlines the various ways you can contribute to SmartGen Docs and provides the necessary steps to get started. Thank you for considering contributing to our project!

1. Ways to Contribute

There are many ways you can contribute to SmartGen Docs. Find the one that best suits your skills and interests:

A. Code Contributions

  • Bug Fixes: Identify and fix bugs in the SmartGen Docs codebase.
  • New Features: Implement new features or enhancements that improve the platform.
  • Performance Improvements: Optimize existing code for better performance and efficiency.
  • Refactoring: Improve the structure and readability of the codebase without changing its external behavior.

B. Documentation Improvements

  • Typos and Grammar: Correct any spelling or grammatical errors in the existing documentation.
  • Clarity and Accuracy: Improve the clarity, conciseness, and accuracy of explanations.
  • New Guides/Tutorials: Write new guides or tutorials for features that are not well-documented or for common use cases.
  • Translations: Help translate the documentation into other languages (if multilingual support is planned).

C. Reporting Issues and Suggesting Features

  • Bug Reports: If you encounter a bug, report it clearly and concisely so we can fix it. (See Reporting Issues).
  • Feature Requests: Suggest new features or enhancements that you believe would benefit SmartGen Docs users. (See Community Features).

D. Community Support

  • Answering Questions: Help other users by answering their questions in discussion forums or on social media.
  • Sharing Knowledge: Write blog posts, create videos, or give presentations about how you use SmartGen Docs.
  • Testing: Help test new releases or features and provide feedback.

2. General Contribution Guidelines

To ensure a smooth and collaborative contribution process, please follow these general guidelines:

  • Be Respectful: Always maintain a positive and respectful attitude towards other contributors and users.
  • Read the Code of Conduct: Familiarize yourself with our project`s Code of Conduct (if available) to understand expected behavior.
  • Search Existing Issues: Before opening a new issue or starting work on a feature, check if a similar discussion or issue already exists.
  • Communicate: If you plan to work on a significant feature or change, it`s a good idea to open a discussion or issue first to get feedback and ensure your efforts align with the project`s direction.

3. Making a Code Contribution (Pull Request Workflow)

For code contributions, we follow a standard GitHub Pull Request (PR) workflow:

  1. Fork the Repository: Start by forking the bayeziddev/smartGenDocs repository to your GitHub account.
  2. Clone Your Fork: Clone your forked repository to your local machine:

    git clone https://github.com/YOUR_USERNAME/smartGenDocs.git
    cd smartGenDocs
    
  3. Create a New Branch: Create a new branch for your changes. Use a descriptive name (e.g., feature/add-search-plugin, bugfix/fix-broken-link).

    git checkout -b feature/your-feature-name
    
  4. Make Your Changes: Implement your bug fix or new feature. Ensure your code adheres to the project`s coding style and conventions.

  5. Write Tests: If applicable, write unit or integration tests for your changes to ensure they work as expected and prevent regressions.
  6. Update Documentation: Update any relevant documentation (guides, API references) to reflect your changes.
  7. Commit Your Changes: Commit your changes with a clear and concise commit message. Follow conventional commit guidelines if the project uses them.

    git commit -m "feat: Add new feature for X"
    
  8. Push to Your Fork: Push your new branch to your forked repository on GitHub:

    git push origin feature/your-feature-name
    
  9. Open a Pull Request: Go to the original bayeziddev/smartGenDocs repository on GitHub. You should see a prompt to open a new Pull Request from your branch. Provide a detailed description of your changes, why they are needed, and any relevant context.

  10. Address Feedback: Project maintainers will review your PR and may provide feedback or request changes. Be responsive and willing to iterate.

4. Making a Documentation Contribution

For documentation improvements, the process is similar to code contributions:

  1. Fork and Clone: Fork and clone the repository as described above.
  2. Create a New Branch: Create a branch (e.g., docs/improve-installation-guide).
  3. Edit Markdown Files: Make your changes directly to the Markdown files in the docs/ directory.
  4. Preview Changes: Use smartgen-docs serve locally to preview how your changes will look.
  5. Commit and Push: Commit your changes with a descriptive message and push to your fork.
  6. Open a Pull Request: Open a PR to the main repository, explaining the documentation improvements you`ve made.

5. Thank You!

Every contribution, no matter how small, helps make SmartGen Docs better for everyone. We appreciate your time, effort, and dedication to the project. Together, we can build an exceptional documentation platform.

See Also