Contributing Guide
Thank you for your interest in contributing to the Refract documentation! This project is part of the Technical Writers Mentorship Program (TWMP) and serves as a capstone project to practice documentation best practices for a fictional JavaScript UI framework.
This is a learning project, so we welcome contributions from writers of all experience levels. Don't hesitate to ask questions or seek guidance!
How Can You Contribute?
There are several ways to contribute to this documentation project:
Improving Content
- Fix typos, grammatical errors, or unclear explanations
- Add missing code examples or improve existing ones
- Enhance the organization and flow of content
- Add practical examples and use cases
- Improve consistency in tone and style
Reporting Issues
Found something that doesn't seem right? Please let us know by:
- Creating an issue on GitHub
- Providing clear descriptions of what needs improvement
- Suggesting specific changes or alternatives
Suggesting New Content
Have ideas for new tutorials, guides, or explanations? We'd love to hear them! Consider suggesting:
- New tutorial topics that would help learners
- Additional examples for complex concepts
- Better ways to explain challenging topics
Documentation Structure
Our documentation follows a specific organization to help users find what they need:
- Getting Started: Basic introductions and setup guides
- Core Concepts: Fundamental Refract concepts like refractions and optics
- Tutorials: Step-by-step building guides
- API Reference: Detailed API documentation
- Advanced Guides: Complex topics and optimization techniques
When adding new content, please place it in the appropriate section to maintain our information architecture.
Making Contributions
Development Setup
- Fork the repository on GitHub
- Clone your fork locally:
git clone https://github.com/your-username/Refract.git
cd Refract - Install dependencies:
npm install - Run the development server:
npm start
Writing Guidelines
-
Use clear, simple language that's accessible to beginners
-
Include code examples for all major concepts
-
Follow existing patterns and formatting conventions
-
Use descriptive headings that clearly indicate the content
-
Add internal links to related content when appropriate
Submission Process
-
Create a new branch for your changes:
git checkout -b docs/your-feature-name -
Make your changes following our writing guidelines
-
Test your changes by running the development server:
npm start -
Commit your changes with descriptive messages:
git add .
git commit -m "commit mesage"
git push origin docs/your-feature-name -
Push to your fork and open a pull request
Content Standards
-
We strive to maintain high-quality documentation that:
-
Explains concepts clearly with practical examples
-
Uses consistent terminology throughout
-
Provides value to developers learning Refract
-
Follows technical writing best practices
-
Maintains a professional yet approachable tone
All contributions should maintain or improve the quality of our documentation. This includes proper formatting, accurate information, and clear explanations.
Code of Conduct
By participating in the Refract community, you agree to abide by our Code of Conduct. We're committed to providing a friendly, safe, and welcoming environment for everyone.
Recognition
We appreciate all contributions! While this is a learning project, we recognize contributors through:
- Credit in commit history and pull requests
- Learning experience and portfolio building
- The satisfaction of helping other learners
Getting Help
If you need assistance or have questions:
- Open an issue on GitHub
- Review existing documentation for guidance
- Check the FAQ for common questions
This project is designed for learning and practice. Don't worry if you're new to technical writing—we welcome contributors at all levels!
License
By contributing to this project, you agree that your contributions will be licensed under the same Apache 2.0 License that covers the project.
Thank you for considering contributing to the Refract documentation! Your help makes this learning project better for everyone involved in the Technical Writers Mentorship Program.
The Refract Documentation Team