Contributing

Thank you for your interest in contributing to KayakNet! This guide will help you get started.

Ways to Contribute

Code

  • Fix bugs

  • Implement features

  • Improve performance

  • Write tests

Documentation

  • Fix typos and errors

  • Add examples

  • Improve clarity

  • Translate to other languages

Testing

  • Run beta releases

  • Report bugs

  • Test edge cases

  • Verify fixes

Community

  • Help users in chat

  • Answer questions

  • Share KayakNet

  • Write tutorials

Getting Started

1. Fork the Repository

2. Set Up Development Environment

3. Create a Branch

Code Style

Go Code

Follow standard Go conventions:

  • gofmt for formatting

  • golint for style

  • Clear variable names

  • Comments for exported functions

Commit Messages

Use clear, descriptive commit messages:

Prefixes:

  • feat: - New feature

  • fix: - Bug fix

  • docs: - Documentation

  • test: - Tests

  • refactor: - Code refactoring

  • perf: - Performance improvement

  • chore: - Maintenance

Pull Request Process

1. Before Submitting

2. Submit PR

  1. Push your branch

  2. Open PR on GitHub

  3. Fill out the template

  4. Wait for review

3. Review Process

  • Maintainers will review

  • Address feedback

  • Make requested changes

  • PR will be merged when approved

Testing

Running Tests

Writing Tests

Security Contributions

Responsible Disclosure

If you find a security vulnerability:

  1. DO NOT open a public issue

  2. Include detailed reproduction steps

  3. Wait for acknowledgment

  • Mark PR as security-related

  • Request private review

  • Don't discuss details publicly until fixed

Documentation

Where to Document

Type
Location

API docs

api/*.md

Features

features/*.md

Architecture

architecture/*.md

Security

security/*.md

Documentation Style

  • Clear and concise

  • Include examples

  • Use code blocks for commands

  • Keep up to date with code

Community Guidelines

Be Respectful

  • Treat everyone with respect

  • No harassment or discrimination

  • Constructive criticism only

Be Collaborative

  • Help others learn

  • Share knowledge

  • Welcome newcomers

Be Professional

  • Stay on topic

  • No spam or self-promotion

  • Respect privacy

Questions?

  • Join #dev on chat.kyk

  • Open a GitHub discussion

  • Check existing issues

Thank you for contributing to KayakNet!

Last updated