Skip to content

Latest commit

 

History

History
88 lines (61 loc) · 3.51 KB

CONTRIBUTING.md

File metadata and controls

88 lines (61 loc) · 3.51 KB

Contributing to Advanced Textbook Q&A System

First off, thank you for considering contributing to the Advanced Textbook Q&A System! It's people like you that make this project such a great tool for students and researchers alike.

Table of Contents

  1. Code of Conduct
  2. Getting Started
  3. How Can I Contribute?
  4. Style Guidelines
  5. Additional Notes

Code of Conduct

By participating, you are expected to uphold this code. Please report unacceptable behavior to [[email protected]].

Getting Started

  1. Fork the repository on GitHub
  2. Clone your fork locally
  3. Create a new branch for your contribution

How Can I Contribute?

Reporting Bugs

  • Ensure the bug was not already reported by searching on GitHub under Issues
  • If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a title and clear description, as much relevant information as possible, and a code sample or an executable test case demonstrating the expected behavior that is not occurring.

Suggesting Enhancements

  • Open a new issue with a clear title and detailed description
  • Provide specific examples to demonstrate the steps
  • Explain why this enhancement would be useful to most users

Your First Code Contribution

Unsure where to begin contributing? You can start by looking through these beginner and help-wanted issues:

  • Beginner issues - issues which should only require a few lines of code, and a test or two.
  • Help wanted issues - issues which should be a bit more involved than beginner issues.

Pull Requests

  1. Fork the repo and create your branch from main
  2. If you've added code that should be tested, add tests
  3. If you've changed APIs, update the documentation
  4. Ensure the test suite passes
  5. Make sure your code lints
  6. Issue that pull request!

Style Guidelines

Git Commit Messages

  • Use the present tense ("Add feature" not "Added feature")
  • Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
  • Limit the first line to 72 characters or less
  • Reference issues and pull requests liberally after the first line

Python Style Guide

This project follows the PEP 8 style guide for Python code. Additionally:

  • Use 4 spaces for indentation (not tabs)
  • Use docstrings for all public modules, functions, classes, and methods
  • Keep line length to a maximum of 100 characters
  • Use type hints where possible

Additional Notes

Issue and Pull Request Labels

This project uses the following labels to track and manage issues and pull requests:

  • bug: Something isn't working
  • enhancement: New feature or request
  • documentation: Improvements or additions to documentation
  • good first issue: Good for newcomers
  • help wanted: Extra attention is needed
  • question: Further information is requested

Thank you for contributing to the Advanced Textbook Q&A System!