Files
blogging-cms/CONTRIBUTING.md
T
nutshell9247 852613586f
CI/CD Pipeline / Test & Lint (push) Waiting to run
CI/CD Pipeline / Build Docker Image (push) Blocked by required conditions
CI/CD Pipeline / Security Scan (push) Waiting to run
first commit, mate!
2026-08-08 14:43:59 +08:00

3.0 KiB

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

    git clone https://github.com/your-username/blogging-cms.git
    cd blogging-cms
    
  3. Create a feature branch

    git checkout -b feature/your-feature-name
    
  4. Set up development environment

    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

    make fmt
    
  2. Run linter

    make lint
    make vet
    
  3. Run tests

    make test
    
  4. Test in Docker

    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. 🙏