first commit, mate!
This commit is contained in:
+148
@@ -0,0 +1,148 @@
|
||||
# Contributing to Blogging CMS
|
||||
|
||||
First, thank you for considering contributing! This project is maintained by one person, and community contributions are essential.
|
||||
|
||||
## Code of Conduct
|
||||
|
||||
- Be respectful and inclusive
|
||||
- Provide constructive feedback
|
||||
- Focus on the code, not the person
|
||||
- Help others learn and grow
|
||||
|
||||
## Getting Started
|
||||
|
||||
1. **Fork the repository** on GitHub
|
||||
2. **Clone your fork locally**
|
||||
```bash
|
||||
git clone https://github.com/your-username/blogging-cms.git
|
||||
cd blogging-cms
|
||||
```
|
||||
|
||||
3. **Create a feature branch**
|
||||
```bash
|
||||
git checkout -b feature/your-feature-name
|
||||
```
|
||||
|
||||
4. **Set up development environment**
|
||||
```bash
|
||||
make setup
|
||||
make dev
|
||||
```
|
||||
|
||||
## Development Guidelines
|
||||
|
||||
### Code Style
|
||||
|
||||
- Follow Go conventions (use `gofmt`)
|
||||
- Keep functions small and focused
|
||||
- Write meaningful variable and function names
|
||||
- Add comments for exported functions
|
||||
|
||||
### Before Submitting
|
||||
|
||||
1. **Format your code**
|
||||
```bash
|
||||
make fmt
|
||||
```
|
||||
|
||||
2. **Run linter**
|
||||
```bash
|
||||
make lint
|
||||
make vet
|
||||
```
|
||||
|
||||
3. **Run tests**
|
||||
```bash
|
||||
make test
|
||||
```
|
||||
|
||||
4. **Test in Docker**
|
||||
```bash
|
||||
make docker-rebuild
|
||||
```
|
||||
|
||||
## Pull Request Process
|
||||
|
||||
1. Update documentation if needed (README.md, comments)
|
||||
2. Add tests for new features
|
||||
3. Ensure all tests pass locally
|
||||
4. Write a clear commit message
|
||||
5. Push to your fork
|
||||
6. Submit a Pull Request with a clear description
|
||||
|
||||
### Commit Messages
|
||||
|
||||
Use clear, descriptive commit messages:
|
||||
- ✨ `feat:` for new features
|
||||
- 🐛 `fix:` for bug fixes
|
||||
- 📝 `docs:` for documentation
|
||||
- ♻️ `refactor:` for refactoring
|
||||
- ✅ `test:` for adding tests
|
||||
- 🎨 `style:` for formatting
|
||||
|
||||
Example:
|
||||
```
|
||||
feat: add comment moderation panel
|
||||
|
||||
- Add admin interface for approving/rejecting comments
|
||||
- Send notification email to post author
|
||||
- Add tests for moderation logic
|
||||
|
||||
Fixes #123
|
||||
```
|
||||
|
||||
## Areas for Contribution
|
||||
|
||||
### High Priority
|
||||
- [ ] Password hashing with bcrypt
|
||||
- [ ] Comment threading
|
||||
- [ ] Batch operations in dashboard
|
||||
- [ ] Email notifications
|
||||
- [ ] Advanced search filters
|
||||
|
||||
### Medium Priority
|
||||
- [ ] User profile pages
|
||||
- [ ] Post scheduling
|
||||
- [ ] Image optimization
|
||||
- [ ] SEO metadata
|
||||
- [ ] Social media preview cards
|
||||
|
||||
### Lower Priority
|
||||
- [ ] Dark mode theme
|
||||
- [ ] Multilingual support
|
||||
- [ ] Export functionality
|
||||
- [ ] Analytics integration
|
||||
|
||||
## Bug Reports
|
||||
|
||||
Found a bug? Open an issue with:
|
||||
- Clear title and description
|
||||
- Steps to reproduce
|
||||
- Expected vs actual behavior
|
||||
- Environment details (OS, Go version, Docker version)
|
||||
- Screenshots if applicable
|
||||
|
||||
## Feature Requests
|
||||
|
||||
Have an idea? Open an issue with:
|
||||
- Clear description of the feature
|
||||
- Why it would be useful
|
||||
- Possible implementation approach
|
||||
- Any relevant examples or links
|
||||
|
||||
## Documentation
|
||||
|
||||
- Keep README.md updated
|
||||
- Add inline code comments for complex logic
|
||||
- Document API changes
|
||||
- Update architecture in README if needed
|
||||
|
||||
## Questions?
|
||||
|
||||
- Check existing issues/discussions first
|
||||
- Ask in GitHub Discussions
|
||||
- Email: kalvin@obulou.org
|
||||
|
||||
---
|
||||
|
||||
Thank you for contributing! Every contribution makes this project better. 🙏
|
||||
Reference in New Issue
Block a user