Thank you for your interest in contributing to ThreadCraft! This document provides guidelines and information for contributors.
- Code of Conduct
- Getting Started
- Development Setup
- How to Contribute
- Pull Request Process
- Style Guidelines
- Reporting Issues
By participating in this project, you agree to maintain a respectful and inclusive environment. Please:
- Be respectful and inclusive in your language and actions
- Accept constructive criticism gracefully
- Focus on what is best for the community
- Show empathy towards other community members
- Fork the repository on GitHub
- Clone your fork locally
- Set up the development environment (see below)
- Create a branch for your changes
- Make your changes and test them
- Submit a pull request
- Node.js 18 or higher
- Python 3.9 or higher
- Git
cd backend
python -m venv venv
# Windows
venv\Scripts\activate
# macOS/Linux
source venv/bin/activate
pip install -r requirements.txt
python app.pycd frontend
npm install
npm run dev# Frontend linting
cd frontend
npm run lint
# Backend syntax check
cd backend
python -m py_compile app.py- Bug fixes: Fix issues reported in the issue tracker
- Features: Implement new features (please discuss first)
- Documentation: Improve or add documentation
- Tests: Add or improve test coverage
- Performance: Optimize existing code
- Check existing issues and pull requests to avoid duplicates
- For significant changes, open an issue first to discuss
- Ensure your code follows the project's style guidelines
- Update the README.md with details of changes if applicable
- Ensure all tests pass and the build succeeds
- Update documentation as needed
- Use clear, descriptive commit messages
- Reference any related issues in your PR description
- Request review from maintainers
Use clear and descriptive commit messages:
type: brief description
Longer description if needed.
Fixes #issue_number
Types: feat, fix, docs, style, refactor, test, chore
- Follow PEP 8 style guide
- Use meaningful variable and function names
- Add docstrings to functions and classes
- Keep functions focused and small
- Use TypeScript for type safety
- Follow React best practices and hooks guidelines
- Use functional components
- Keep components small and focused
- Use meaningful component and variable names
- Write clear, self-documenting code
- Add comments only when necessary to explain "why"
- Keep files organized and properly structured
When reporting issues, please include:
- A clear and descriptive title
- Steps to reproduce the issue
- Expected behavior
- Actual behavior
- Screenshots if applicable
- Your environment (OS, browser, Node.js version, Python version)
bug: Something isn't workingenhancement: New feature or requestdocumentation: Documentation improvementsgood first issue: Good for newcomershelp wanted: Extra attention needed
If you have questions, feel free to:
- Open an issue with the
questionlabel - Reach out to the maintainers
Thank you for contributing!