Contributing¶
Thank you for your interest in contributing to Samuel!
Ways to Contribute¶
1. New Language Guides¶
Add support for languages not yet covered:
Needed:
- Java
- C#
- PHP
- Swift
- Ruby
- Scala
How to contribute:
- Copy an existing guide from
.claude/skills/<language>-guide/ - Create a new skill directory for your language (e.g.,
java-guide/SKILL.md) - Adapt all sections for your language
- Test with real projects
- Submit PR
Guide structure:
# [Language] Guide
## Core Principles
## Language-Specific Guardrails
## Validation & Input Handling
## Testing
## Tooling
## Common Pitfalls
## Framework-Specific Patterns
## Performance Considerations
## Security Best Practices
## References
2. Framework Templates¶
Create templates for specific frameworks:
Needed:
- Next.js
- Django REST
- Ruby on Rails
- Spring Boot
- Laravel
How to contribute:
- Create
.claude/templates/[framework]/ - Include framework-specific patterns
- Include common configurations
- Document usage
3. Documentation Improvements¶
- Fix typos and errors
- Clarify confusing sections
- Add more examples
- Improve organization
4. Bug Reports¶
Found something wrong?
- Check existing issues first
- Open a new issue with:
- Clear title
- Steps to reproduce
- Expected vs actual behavior
- Environment details
5. Feature Suggestions¶
Have an idea?
- Open a discussion first
- Describe the use case
- Explain the benefit
- Discuss implementation approach
Development Setup¶
Clone the Repository¶
Install Documentation Dependencies¶
Run Documentation Locally¶
Open http://localhost:8000 to preview.
Contribution Guidelines¶
Code Quality¶
Follow the guardrails in CLAUDE.md:
- Functions ≤50 lines
- Files ≤300 lines
- Clear, descriptive names
- No dead code
Commit Messages¶
Use conventional commits:
feat(language-guide): add Java guide
fix(docs): correct TypeScript example
docs(readme): update installation instructions
Pull Requests¶
- Fork the repository
- Create a feature branch:
feat/java-guide - Make your changes
- Test thoroughly
- Submit PR with clear description
PR Description Template¶
## Summary
Brief description of changes
## Type of Change
- [ ] New language guide
- [ ] Framework template
- [ ] Documentation improvement
- [ ] Bug fix
- [ ] Other
## Testing
How did you test this?
## Checklist
- [ ] Follows CLAUDE.md guardrails
- [ ] Documentation updated
- [ ] Tested with real project
Language Guide Standards¶
When creating a language guide:
Required Sections¶
- Core Principles - 5 key principles for the language
- Language-Specific Guardrails - Rules beyond universal ones
- Validation - Input validation patterns
- Testing - Frameworks and patterns
- Tooling - Linters, formatters, configs
- Common Pitfalls - Do/Don't examples
- Framework Patterns - Major framework examples
- Performance - Optimization guidelines
- Security - Security best practices
- References - Official docs, books, resources
Quality Standards¶
- All code examples tested and working
- Consistent with existing guides' style
- Covers major frameworks for the language
- Includes real-world patterns
- References official documentation
Example Structure¶
See existing guides for reference:
Documentation Standards¶
When improving documentation:
Style¶
- Clear, concise language
- Active voice
- Present tense
- Short paragraphs
Formatting¶
- Use headers for organization
- Include code examples
- Use admonitions for notes/warnings
- Add links to related content
Code Examples¶
- Test all examples
- Include both good and bad examples
- Show complete, runnable code
- Add comments for clarity
Review Process¶
- Automated checks - Linting, formatting
- Maintainer review - Content and quality
- Testing - Verified with real use cases
- Merge - Squash and merge to main
Typical review time: 1-5 days
Community¶
Discussions¶
Use GitHub Discussions for:
- Questions
- Ideas
- Showcasing usage
- General discussion
Issues¶
Use GitHub Issues for:
- Bug reports
- Feature requests
- Documentation errors
Recognition¶
Contributors are recognized in:
- README acknowledgments
- Release notes
- This documentation
Code of Conduct¶
Be respectful and constructive:
- Welcome newcomers
- Provide helpful feedback
- Focus on ideas, not people
- Assume good intentions
Questions?¶
- Open a Discussion
- Check existing Issues
- Review this documentation
Thank you for contributing!