Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
143 changes: 143 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
# EditorConfig helps maintain consistent coding styles across various editors and IDEs
# See https://editorconfig.org for more details

# top-most EditorConfig file
root = true

# All files
[*]
charset = utf-8
end_of_line = lf
indent_style = space
indent_size = 2
tab_width = 2
insert_final_newline = true
trim_trailing_whitespace = true
max_line_length = 120

# Kotlin files - Official Kotlin Style Guide with 2-space tabs
[{*.kt,*.kts}]
indent_size = 2
tab_width = 2
ij_continuation_indent_size = 4
max_line_length = 120
ij_kotlin_code_style_defaults = KOTLIN_OFFICIAL

# Basic formatting
ij_kotlin_keep_blank_lines_in_code = 2
ij_kotlin_keep_blank_lines_in_declarations = 2
ij_kotlin_keep_blank_lines_before_right_brace = 2
ij_kotlin_blank_lines_after_class_header = 0
ij_kotlin_blank_lines_around_block_when_branches = 0
ij_kotlin_blank_lines_before_declaration_with_comment_or_annotation_on_separate_line = 1

# Imports - No star imports for better consistency and performance
ij_kotlin_imports_layout = *, java.**, javax.**, kotlin.**, ^
ij_kotlin_name_count_to_use_star_import = 999
ij_kotlin_name_count_to_use_star_import_for_members = 999
ij_kotlin_packages_to_use_import_on_demand =

# Alignment and wrapping
ij_kotlin_align_multiline_parameters = true
ij_kotlin_align_multiline_parameters_in_calls = false
ij_kotlin_continuation_indent_for_chained_calls = true
ij_kotlin_continuation_indent_for_expression_bodies = true
ij_kotlin_wrap_first_method_in_call_chain = false

# Method parameters
ij_kotlin_method_parameters_wrap = on_every_item
ij_kotlin_method_parameters_new_line_after_left_paren = false
ij_kotlin_method_parameters_right_paren_on_new_line = false

# Call parameters
ij_kotlin_call_parameters_wrap = on_every_item
ij_kotlin_call_parameters_new_line_after_left_paren = false
ij_kotlin_call_parameters_right_paren_on_new_line = false

# Annotations
ij_kotlin_class_annotation_wrap = split_into_lines
ij_kotlin_method_annotation_wrap = split_into_lines
ij_kotlin_field_annotation_wrap = split_into_lines
ij_kotlin_parameter_annotation_wrap = off
ij_kotlin_variable_annotation_wrap = off

# Spaces
ij_kotlin_space_after_comma = true
ij_kotlin_space_after_extend_colon = true
ij_kotlin_space_after_type_colon = true
ij_kotlin_space_before_comma = false
ij_kotlin_space_before_extend_colon = true
ij_kotlin_space_before_type_colon = false
ij_kotlin_space_before_lambda_arrow = true
ij_kotlin_spaces_around_additive_operators = true
ij_kotlin_spaces_around_assignment_operators = true
ij_kotlin_spaces_around_equality_operators = true
ij_kotlin_spaces_around_function_type_arrow = true
ij_kotlin_spaces_around_logical_operators = true
ij_kotlin_spaces_around_multiplicative_operators = true
ij_kotlin_spaces_around_relational_operators = true
ij_kotlin_spaces_around_unary_operator = false
ij_kotlin_spaces_around_when_arrow = true

# Control flow
ij_kotlin_space_before_if_parentheses = true
ij_kotlin_space_before_for_parentheses = true
ij_kotlin_space_before_while_parentheses = true
ij_kotlin_space_before_catch_parentheses = true
ij_kotlin_space_before_when_parentheses = true

# Other formatting
ij_kotlin_allow_trailing_comma = true
ij_kotlin_allow_trailing_comma_on_call_site = true
ij_kotlin_insert_whitespaces_in_simple_one_line_method = true
ij_kotlin_keep_line_breaks = true
ij_kotlin_lbrace_on_next_line = false

# Java files
[*.java]
indent_size = 2
tab_width = 2
ij_continuation_indent_size = 4
max_line_length = 120
# Java imports - No star imports
ij_java_class_count_to_use_import_on_demand = 999
ij_java_names_count_to_use_import_on_demand = 999
ij_java_packages_to_use_import_on_demand =

# Gradle files
[{*.gradle,*.gradle.kts}]
indent_size = 2
tab_width = 2

# YAML files
[*.{yml,yaml}]
indent_size = 2
tab_width = 2

# JSON files
[{*.json,*.jsonc}]
indent_size = 2
tab_width = 2

# XML files
[*.xml]
indent_size = 2
tab_width = 2

# Properties files
[*.properties]
indent_size = 2
tab_width = 2

# Markdown files
[*.md]
trim_trailing_whitespace = false
insert_final_newline = true
indent_size = 2
tab_width = 2

# Shell scripts
[{*.sh,*.bash}]
indent_size = 2
tab_width = 2
end_of_line = lf
3 changes: 3 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
/gradlew text eol=lf
*.bat text eol=crlf
*.jar binary
20 changes: 20 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Global code owners - require review from these users for all changes
* @programmer-newbie-code

# Core library components - require additional scrutiny
/core-module/ @programmer-newbie-code
/scripts/ @programmer-newbie-code

# Configuration files - require admin review
/.github/ @programmer-newbie-code
/gradle.properties @programmer-newbie-code
/settings.gradle @programmer-newbie-code
/build.gradle @programmer-newbie-code

# Documentation - can be reviewed by any maintainer
/docs/ @programmer-newbie-code
*.md @programmer-newbie-code

# Security-related files
/SECURITY.md @programmer-newbie-code
/.github/workflows/ @programmer-newbie-code
35 changes: 35 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---
name: Bug report
about: Create a report to help us improve
title: '[BUG] Brief description'
labels: 'bug'
assignees: ''

---

## Describe the bug

A clear and concise description of what the bug is.

## To Reproduce

Steps to reproduce the behavior:

1. Use component '...'
2. Configure with '...'
3. Execute '...'
4. See error

## Expected behavior

A clear and concise description of what you expected to happen.

## Environment:

- Java version: [e.g. 21]
- Spring Boot version: [e.g. 3.5.3]
- Library version: [e.g. 1.0.0]

## Additional context

Add any other context about the problem here.
24 changes: 24 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
name: Feature request
about: Suggest an idea for this project
title: '[FEATURE] Brief description'
labels: 'enhancement'
assignees: ''

---

## Is your feature request related to a problem? Please describe.

A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

## Describe the solution you'd like

A clear and concise description of what you want to happen.

## Describe alternatives you've considered

A clear and concise description of any alternative solutions or features you've considered.

## Additional context

Add any other context or screenshots about the feature request here.
53 changes: 53 additions & 0 deletions .github/ISSUE_TEMPLATE/performance_issue.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
---
name: Performance Issue
about: Report performance problems or optimization opportunities
title: '[PERFORMANCE] Brief description'
labels: 'performance'
assignees: ''

---

## Performance Issue Description

<!-- Describe the performance problem you've encountered -->

## Environment

- **Java version**: [e.g. 21]
- **Spring Boot version**: [e.g. 3.5.3]
- **Library version**: [e.g. 1.0.0]
- **Cache implementation**: [e.g. Redis, Caffeine]
- **Hardware specs**: [e.g. CPU, RAM, Storage type]

## Current Behavior

<!-- Describe the current performance behavior -->

## Expected Performance

<!-- What performance level would you expect? -->

## Reproduction Steps

1. Configure cache with: '...'
2. Execute operation: '...'
3. Measure performance using: '...'
4. Observe results: '...'

## Performance Measurements

<!-- Include any benchmarks, profiling data, or measurements -->

```
Metric: [e.g. throughput, latency, memory usage]
Current: [measurement]
Expected: [measurement]
```

## Potential Solutions

<!-- If you have ideas for optimization -->

## Additional Context

<!-- Any other context about the performance issue -->
34 changes: 34 additions & 0 deletions .github/ISSUE_TEMPLATE/question.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
name: Question
about: Ask a question about usage, implementation, or project direction
title: '[QUESTION] Brief description'
labels: 'question'
assignees: ''

---

## Question

<!-- What would you like to know? -->

## Context

<!-- Provide context about what you're trying to achieve -->

## What I've Tried

<!-- What have you already attempted? -->

- [ ] Checked the documentation
- [ ] Searched existing issues
- [ ] Reviewed the code examples

## Environment (if relevant)

- **Java version**: [e.g. 21]
- **Spring Boot version**: [e.g. 3.5.3]
- **Library version**: [e.g. 1.0.0]

## Additional Information

<!-- Any other details that might help us answer your question -->
49 changes: 49 additions & 0 deletions .github/ISSUE_TEMPLATE/security_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
name: Security Vulnerability Report
about: Report a security vulnerability (Please use private disclosure)
title: '[SECURITY] Brief description'
labels: 'security, vulnerability'
assignees: ''

---

**⚠️ IMPORTANT: For security vulnerabilities, please use GitHub's private vulnerability disclosure instead of public
issues.**

## Security Issue Description

<!-- Provide a clear description of the security vulnerability -->

## Impact Assessment

<!-- Describe the potential impact of this vulnerability -->

- [ ] Low impact (minimal risk)
- [ ] Medium impact (moderate risk)
- [ ] High impact (significant risk)
- [ ] Critical impact (severe risk)

## Affected Components

<!-- Which parts of the system are affected? -->

- [ ] bulk-core
- [ ] bulk-redis
- [ ] bulk-caffeine
- [ ] bulk-spring
- [ ] Configuration/Build system

## Steps to Reproduce

<!-- If applicable, provide steps to reproduce the vulnerability -->

## Proposed Solution

<!-- If you have suggestions for fixing the vulnerability -->

## Additional Information

<!-- Any additional context about the vulnerability -->

---
**Note**: We take security seriously. Please follow responsible disclosure practices.
Loading
Loading