Contributing to Almadar
Welcome to the Almadar community! We're excited to have you contribute.
Ways to Contribute
Documentation
- Fix typos and improve clarity
- Translate content to Arabic or other languages
- Write tutorials and guides
- Add examples and use cases
Standard Library
- Propose new operators
- Improve existing implementations
- Add tests and benchmarks
Patterns & Traits
- Submit new UI patterns
- Create reusable traits
- Document best practices
Community
- Answer questions on Discord
- Write blog posts
- Create video tutorials
- Give talks at meetups
Contribution Process
1. For Documentation
# Fork and clone the repository
git clone https://github.com/YOUR_USERNAME/almadar-docs.git
# Create a branch
git checkout -b docs/improve-getting-started
# Make your changes
# ...
# Submit a pull request
2. For Code (Std Library, Patterns)
- Open an RFC - For significant changes, start a discussion
- Get feedback - Wait for community input
- Implement - Once approved, submit a PR
- Review - Address feedback from maintainers
- Merge - Celebrate!
3. For Translations
We use a translation workflow:
# Arabic translations go in /ar/ directory
docs/
├── en/
│ └── getting-started/
│ └── introduction.md # Source
└── ar/
└── getting-started/
└── introduction.md # Translation
Translation guidelines:
- Keep technical terms consistent (see glossary)
- Preserve code blocks in original language
- Use RTL-aware formatting
- Test rendering before submitting