Skip to content

OpenSource best practices#65

Merged
evg4b merged 6 commits into
mainfrom
feat/opensource-best-practices
Oct 25, 2025
Merged

OpenSource best practices#65
evg4b merged 6 commits into
mainfrom
feat/opensource-best-practices

Conversation

@evg4b
Copy link
Copy Markdown
Owner

@evg4b evg4b commented Oct 25, 2025

No description provided.

evg4b added 6 commits October 25, 2025 12:15
Add detailed contribution guidelines covering:
- Code of Conduct reference
- Bug reporting and enhancement suggestions process
- Complete development setup instructions
- Development workflow with Make and manual commands
- Coding standards and project structure explanation
- Testing guidelines with coverage requirements
- Commit message conventions and best practices

This guide helps new contributors understand how to:
- Set up their development environment
- Follow project coding standards
- Write and run tests
- Submit quality pull requests
Add structured GitHub issue templates including:

Bug Report Template (bug_report.yml):
- Detailed bug description fields
- Step-by-step reproduction instructions
- Expected vs actual behavior sections
- Environment information (OS, version, installation method)
- Configuration file upload
- Log output section
- Pre-submission checklist

Feature Request Template (feature_request.yml):
- Problem statement and proposed solution
- Alternative considerations
- Feature category selection
- Use case description
- Implementation willingness indicator
- Priority level selection

Template Configuration (config.yml):
- Disable blank issues to ensure structured reports
- Add links to documentation and discussions
- Improve issue quality and reduce triage time

These templates help:
- Collect consistent, actionable information
- Reduce back-and-forth in issue discussions
- Speed up bug fixes and feature implementations
- Guide users to provide necessary details
Add PR template with detailed sections covering:

Type of Change:
- Bug fix, new feature, breaking change, documentation
- Performance improvement, refactoring, tests, chores

Required Information:
- Description and motivation
- Related issues linking
- Testing approach and configuration
- Screenshots for UI changes

Comprehensive Checklists:
- Code quality (formatting, linting, self-review)
- Testing (unit tests, coverage maintenance)
- Documentation updates
- Dependency management
- Breaking change documentation

Benefits:
- Ensures consistent PR submissions
- Reminds contributors of important steps
- Helps reviewers understand changes quickly
- Maintains high code quality standards
- Reduces review iterations
Update Go version from 1.23.0 to 1.24.1 to match go.mod:
- Build and test job
- Release job

This ensures:
- CI uses the same Go version as development
- Compatibility with latest Go features and fixes
- Consistent build environment across all workflows
Add detailed ARCHITECTURE.md describing:

High-Level Architecture:
- Request/response flow diagram
- Middleware pipeline architecture
- Handler selection logic
- CORS header modification process

Core Components:
- Application lifecycle management
- Configuration system
- Request handler with factory pattern
- Handler implementations (proxy, mock, script, static)
- Middleware (cache, rewrite, options)
- Infrastructure components
- URL processing modules
- Terminal UI

Package Structure:
- Detailed directory tree with descriptions
- File organization rationale
- Module responsibilities

Key Design Patterns:
- Factory pattern for handlers
- Middleware pattern for request processing
- Options pattern for configuration
- Interface segregation for testability
- Dependency injection

Technical Details:
- Request flow with code examples
- Extension points for new features
- Testing strategy
- Performance considerations
- Security considerations

This documentation helps:
- New contributors understand the codebase
- Maintain architectural consistency
- Plan new features effectively
- Onboard developers quickly
Add .editorconfig to ensure consistent coding style across:
- Different editors and IDEs
- All contributors
- Various file types

Configuration includes:
- Go files: tab indentation (size 4)
- YAML/JSON: space indentation (size 2)
- Markdown: space indentation, preserve trailing whitespace
- Shell scripts: space indentation (size 2)
- Lua scripts: space indentation (size 2)
- Makefile: tab indentation
- GitHub workflows and templates

Universal settings:
- Unix-style line endings (LF)
- UTF-8 charset
- Final newline insertion
- Trailing whitespace trimming

Benefits:
- Reduces formatting-related PR comments
- Maintains code consistency automatically
- Works with most modern editors
- Reduces merge conflicts from formatting differences
@evg4b evg4b force-pushed the feat/opensource-best-practices branch from 96200f1 to bddf009 Compare October 25, 2025 16:24
@evg4b evg4b merged commit 45d5256 into main Oct 25, 2025
3 checks passed
@evg4b evg4b deleted the feat/opensource-best-practices branch October 25, 2025 16:25
@sonarqubecloud
Copy link
Copy Markdown

evg4b added a commit that referenced this pull request Oct 25, 2025
* docs: add comprehensive CONTRIBUTING.md guide

Add detailed contribution guidelines covering:
- Code of Conduct reference
- Bug reporting and enhancement suggestions process
- Complete development setup instructions
- Development workflow with Make and manual commands
- Coding standards and project structure explanation
- Testing guidelines with coverage requirements
- Commit message conventions and best practices

This guide helps new contributors understand how to:
- Set up their development environment
- Follow project coding standards
- Write and run tests
- Submit quality pull requests

* feat: add comprehensive issue templates

Add structured GitHub issue templates including:

Bug Report Template (bug_report.yml):
- Detailed bug description fields
- Step-by-step reproduction instructions
- Expected vs actual behavior sections
- Environment information (OS, version, installation method)
- Configuration file upload
- Log output section
- Pre-submission checklist

Feature Request Template (feature_request.yml):
- Problem statement and proposed solution
- Alternative considerations
- Feature category selection
- Use case description
- Implementation willingness indicator
- Priority level selection

Template Configuration (config.yml):
- Disable blank issues to ensure structured reports
- Add links to documentation and discussions
- Improve issue quality and reduce triage time

These templates help:
- Collect consistent, actionable information
- Reduce back-and-forth in issue discussions
- Speed up bug fixes and feature implementations
- Guide users to provide necessary details

* feat: add comprehensive pull request template

Add PR template with detailed sections covering:

Type of Change:
- Bug fix, new feature, breaking change, documentation
- Performance improvement, refactoring, tests, chores

Required Information:
- Description and motivation
- Related issues linking
- Testing approach and configuration
- Screenshots for UI changes

Comprehensive Checklists:
- Code quality (formatting, linting, self-review)
- Testing (unit tests, coverage maintenance)
- Documentation updates
- Dependency management
- Breaking change documentation

Benefits:
- Ensures consistent PR submissions
- Reminds contributors of important steps
- Helps reviewers understand changes quickly
- Maintains high code quality standards
- Reduces review iterations

* ci: update Go version to 1.24.1 in workflows

Update Go version from 1.23.0 to 1.24.1 to match go.mod:
- Build and test job
- Release job

This ensures:
- CI uses the same Go version as development
- Compatibility with latest Go features and fixes
- Consistent build environment across all workflows

* docs: add comprehensive architecture documentation

Add detailed ARCHITECTURE.md describing:

High-Level Architecture:
- Request/response flow diagram
- Middleware pipeline architecture
- Handler selection logic
- CORS header modification process

Core Components:
- Application lifecycle management
- Configuration system
- Request handler with factory pattern
- Handler implementations (proxy, mock, script, static)
- Middleware (cache, rewrite, options)
- Infrastructure components
- URL processing modules
- Terminal UI

Package Structure:
- Detailed directory tree with descriptions
- File organization rationale
- Module responsibilities

Key Design Patterns:
- Factory pattern for handlers
- Middleware pattern for request processing
- Options pattern for configuration
- Interface segregation for testability
- Dependency injection

Technical Details:
- Request flow with code examples
- Extension points for new features
- Testing strategy
- Performance considerations
- Security considerations

This documentation helps:
- New contributors understand the codebase
- Maintain architectural consistency
- Plan new features effectively
- Onboard developers quickly

* chore: add EditorConfig for consistent code style

Add .editorconfig to ensure consistent coding style across:
- Different editors and IDEs
- All contributors
- Various file types

Configuration includes:
- Go files: tab indentation (size 4)
- YAML/JSON: space indentation (size 2)
- Markdown: space indentation, preserve trailing whitespace
- Shell scripts: space indentation (size 2)
- Lua scripts: space indentation (size 2)
- Makefile: tab indentation
- GitHub workflows and templates

Universal settings:
- Unix-style line endings (LF)
- UTF-8 charset
- Final newline insertion
- Trailing whitespace trimming

Benefits:
- Reduces formatting-related PR comments
- Maintains code consistency automatically
- Works with most modern editors
- Reduces merge conflicts from formatting differences
evg4b added a commit that referenced this pull request Oct 25, 2025
* docs: add comprehensive CONTRIBUTING.md guide

Add detailed contribution guidelines covering:
- Code of Conduct reference
- Bug reporting and enhancement suggestions process
- Complete development setup instructions
- Development workflow with Make and manual commands
- Coding standards and project structure explanation
- Testing guidelines with coverage requirements
- Commit message conventions and best practices

This guide helps new contributors understand how to:
- Set up their development environment
- Follow project coding standards
- Write and run tests
- Submit quality pull requests

* feat: add comprehensive issue templates

Add structured GitHub issue templates including:

Bug Report Template (bug_report.yml):
- Detailed bug description fields
- Step-by-step reproduction instructions
- Expected vs actual behavior sections
- Environment information (OS, version, installation method)
- Configuration file upload
- Log output section
- Pre-submission checklist

Feature Request Template (feature_request.yml):
- Problem statement and proposed solution
- Alternative considerations
- Feature category selection
- Use case description
- Implementation willingness indicator
- Priority level selection

Template Configuration (config.yml):
- Disable blank issues to ensure structured reports
- Add links to documentation and discussions
- Improve issue quality and reduce triage time

These templates help:
- Collect consistent, actionable information
- Reduce back-and-forth in issue discussions
- Speed up bug fixes and feature implementations
- Guide users to provide necessary details

* feat: add comprehensive pull request template

Add PR template with detailed sections covering:

Type of Change:
- Bug fix, new feature, breaking change, documentation
- Performance improvement, refactoring, tests, chores

Required Information:
- Description and motivation
- Related issues linking
- Testing approach and configuration
- Screenshots for UI changes

Comprehensive Checklists:
- Code quality (formatting, linting, self-review)
- Testing (unit tests, coverage maintenance)
- Documentation updates
- Dependency management
- Breaking change documentation

Benefits:
- Ensures consistent PR submissions
- Reminds contributors of important steps
- Helps reviewers understand changes quickly
- Maintains high code quality standards
- Reduces review iterations

* ci: update Go version to 1.24.1 in workflows

Update Go version from 1.23.0 to 1.24.1 to match go.mod:
- Build and test job
- Release job

This ensures:
- CI uses the same Go version as development
- Compatibility with latest Go features and fixes
- Consistent build environment across all workflows

* docs: add comprehensive architecture documentation

Add detailed ARCHITECTURE.md describing:

High-Level Architecture:
- Request/response flow diagram
- Middleware pipeline architecture
- Handler selection logic
- CORS header modification process

Core Components:
- Application lifecycle management
- Configuration system
- Request handler with factory pattern
- Handler implementations (proxy, mock, script, static)
- Middleware (cache, rewrite, options)
- Infrastructure components
- URL processing modules
- Terminal UI

Package Structure:
- Detailed directory tree with descriptions
- File organization rationale
- Module responsibilities

Key Design Patterns:
- Factory pattern for handlers
- Middleware pattern for request processing
- Options pattern for configuration
- Interface segregation for testability
- Dependency injection

Technical Details:
- Request flow with code examples
- Extension points for new features
- Testing strategy
- Performance considerations
- Security considerations

This documentation helps:
- New contributors understand the codebase
- Maintain architectural consistency
- Plan new features effectively
- Onboard developers quickly

* chore: add EditorConfig for consistent code style

Add .editorconfig to ensure consistent coding style across:
- Different editors and IDEs
- All contributors
- Various file types

Configuration includes:
- Go files: tab indentation (size 4)
- YAML/JSON: space indentation (size 2)
- Markdown: space indentation, preserve trailing whitespace
- Shell scripts: space indentation (size 2)
- Lua scripts: space indentation (size 2)
- Makefile: tab indentation
- GitHub workflows and templates

Universal settings:
- Unix-style line endings (LF)
- UTF-8 charset
- Final newline insertion
- Trailing whitespace trimming

Benefits:
- Reduces formatting-related PR comments
- Maintains code consistency automatically
- Works with most modern editors
- Reduces merge conflicts from formatting differences
evg4b added a commit that referenced this pull request Oct 25, 2025
* docs: add comprehensive CONTRIBUTING.md guide

Add detailed contribution guidelines covering:
- Code of Conduct reference
- Bug reporting and enhancement suggestions process
- Complete development setup instructions
- Development workflow with Make and manual commands
- Coding standards and project structure explanation
- Testing guidelines with coverage requirements
- Commit message conventions and best practices

This guide helps new contributors understand how to:
- Set up their development environment
- Follow project coding standards
- Write and run tests
- Submit quality pull requests

* feat: add comprehensive issue templates

Add structured GitHub issue templates including:

Bug Report Template (bug_report.yml):
- Detailed bug description fields
- Step-by-step reproduction instructions
- Expected vs actual behavior sections
- Environment information (OS, version, installation method)
- Configuration file upload
- Log output section
- Pre-submission checklist

Feature Request Template (feature_request.yml):
- Problem statement and proposed solution
- Alternative considerations
- Feature category selection
- Use case description
- Implementation willingness indicator
- Priority level selection

Template Configuration (config.yml):
- Disable blank issues to ensure structured reports
- Add links to documentation and discussions
- Improve issue quality and reduce triage time

These templates help:
- Collect consistent, actionable information
- Reduce back-and-forth in issue discussions
- Speed up bug fixes and feature implementations
- Guide users to provide necessary details

* feat: add comprehensive pull request template

Add PR template with detailed sections covering:

Type of Change:
- Bug fix, new feature, breaking change, documentation
- Performance improvement, refactoring, tests, chores

Required Information:
- Description and motivation
- Related issues linking
- Testing approach and configuration
- Screenshots for UI changes

Comprehensive Checklists:
- Code quality (formatting, linting, self-review)
- Testing (unit tests, coverage maintenance)
- Documentation updates
- Dependency management
- Breaking change documentation

Benefits:
- Ensures consistent PR submissions
- Reminds contributors of important steps
- Helps reviewers understand changes quickly
- Maintains high code quality standards
- Reduces review iterations

* ci: update Go version to 1.24.1 in workflows

Update Go version from 1.23.0 to 1.24.1 to match go.mod:
- Build and test job
- Release job

This ensures:
- CI uses the same Go version as development
- Compatibility with latest Go features and fixes
- Consistent build environment across all workflows

* docs: add comprehensive architecture documentation

Add detailed ARCHITECTURE.md describing:

High-Level Architecture:
- Request/response flow diagram
- Middleware pipeline architecture
- Handler selection logic
- CORS header modification process

Core Components:
- Application lifecycle management
- Configuration system
- Request handler with factory pattern
- Handler implementations (proxy, mock, script, static)
- Middleware (cache, rewrite, options)
- Infrastructure components
- URL processing modules
- Terminal UI

Package Structure:
- Detailed directory tree with descriptions
- File organization rationale
- Module responsibilities

Key Design Patterns:
- Factory pattern for handlers
- Middleware pattern for request processing
- Options pattern for configuration
- Interface segregation for testability
- Dependency injection

Technical Details:
- Request flow with code examples
- Extension points for new features
- Testing strategy
- Performance considerations
- Security considerations

This documentation helps:
- New contributors understand the codebase
- Maintain architectural consistency
- Plan new features effectively
- Onboard developers quickly

* chore: add EditorConfig for consistent code style

Add .editorconfig to ensure consistent coding style across:
- Different editors and IDEs
- All contributors
- Various file types

Configuration includes:
- Go files: tab indentation (size 4)
- YAML/JSON: space indentation (size 2)
- Markdown: space indentation, preserve trailing whitespace
- Shell scripts: space indentation (size 2)
- Lua scripts: space indentation (size 2)
- Makefile: tab indentation
- GitHub workflows and templates

Universal settings:
- Unix-style line endings (LF)
- UTF-8 charset
- Final newline insertion
- Trailing whitespace trimming

Benefits:
- Reduces formatting-related PR comments
- Maintains code consistency automatically
- Works with most modern editors
- Reduces merge conflicts from formatting differences
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant