Skip to content

Commit e531d4f

Browse files
feat: Initialize kotlin-multimodule-template (#1)
1 parent 26c49f5 commit e531d4f

File tree

87 files changed

+9341
-3
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

87 files changed

+9341
-3
lines changed

.editorconfig

Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
# EditorConfig helps maintain consistent coding styles across various editors and IDEs
2+
# See https://editorconfig.org for more details
3+
4+
# top-most EditorConfig file
5+
root = true
6+
7+
# All files
8+
[*]
9+
charset = utf-8
10+
end_of_line = lf
11+
indent_style = space
12+
indent_size = 2
13+
tab_width = 2
14+
insert_final_newline = true
15+
trim_trailing_whitespace = true
16+
max_line_length = 120
17+
18+
# Kotlin files - Official Kotlin Style Guide with 2-space tabs
19+
[{*.kt,*.kts}]
20+
indent_size = 2
21+
tab_width = 2
22+
ij_continuation_indent_size = 4
23+
max_line_length = 120
24+
ij_kotlin_code_style_defaults = KOTLIN_OFFICIAL
25+
26+
# Basic formatting
27+
ij_kotlin_keep_blank_lines_in_code = 2
28+
ij_kotlin_keep_blank_lines_in_declarations = 2
29+
ij_kotlin_keep_blank_lines_before_right_brace = 2
30+
ij_kotlin_blank_lines_after_class_header = 0
31+
ij_kotlin_blank_lines_around_block_when_branches = 0
32+
ij_kotlin_blank_lines_before_declaration_with_comment_or_annotation_on_separate_line = 1
33+
34+
# Imports - No star imports for better consistency and performance
35+
ij_kotlin_imports_layout = *, java.**, javax.**, kotlin.**, ^
36+
ij_kotlin_name_count_to_use_star_import = 999
37+
ij_kotlin_name_count_to_use_star_import_for_members = 999
38+
ij_kotlin_packages_to_use_import_on_demand =
39+
40+
# Alignment and wrapping
41+
ij_kotlin_align_multiline_parameters = true
42+
ij_kotlin_align_multiline_parameters_in_calls = false
43+
ij_kotlin_continuation_indent_for_chained_calls = true
44+
ij_kotlin_continuation_indent_for_expression_bodies = true
45+
ij_kotlin_wrap_first_method_in_call_chain = false
46+
47+
# Method parameters
48+
ij_kotlin_method_parameters_wrap = on_every_item
49+
ij_kotlin_method_parameters_new_line_after_left_paren = false
50+
ij_kotlin_method_parameters_right_paren_on_new_line = false
51+
52+
# Call parameters
53+
ij_kotlin_call_parameters_wrap = on_every_item
54+
ij_kotlin_call_parameters_new_line_after_left_paren = false
55+
ij_kotlin_call_parameters_right_paren_on_new_line = false
56+
57+
# Annotations
58+
ij_kotlin_class_annotation_wrap = split_into_lines
59+
ij_kotlin_method_annotation_wrap = split_into_lines
60+
ij_kotlin_field_annotation_wrap = split_into_lines
61+
ij_kotlin_parameter_annotation_wrap = off
62+
ij_kotlin_variable_annotation_wrap = off
63+
64+
# Spaces
65+
ij_kotlin_space_after_comma = true
66+
ij_kotlin_space_after_extend_colon = true
67+
ij_kotlin_space_after_type_colon = true
68+
ij_kotlin_space_before_comma = false
69+
ij_kotlin_space_before_extend_colon = true
70+
ij_kotlin_space_before_type_colon = false
71+
ij_kotlin_space_before_lambda_arrow = true
72+
ij_kotlin_spaces_around_additive_operators = true
73+
ij_kotlin_spaces_around_assignment_operators = true
74+
ij_kotlin_spaces_around_equality_operators = true
75+
ij_kotlin_spaces_around_function_type_arrow = true
76+
ij_kotlin_spaces_around_logical_operators = true
77+
ij_kotlin_spaces_around_multiplicative_operators = true
78+
ij_kotlin_spaces_around_relational_operators = true
79+
ij_kotlin_spaces_around_unary_operator = false
80+
ij_kotlin_spaces_around_when_arrow = true
81+
82+
# Control flow
83+
ij_kotlin_space_before_if_parentheses = true
84+
ij_kotlin_space_before_for_parentheses = true
85+
ij_kotlin_space_before_while_parentheses = true
86+
ij_kotlin_space_before_catch_parentheses = true
87+
ij_kotlin_space_before_when_parentheses = true
88+
89+
# Other formatting
90+
ij_kotlin_allow_trailing_comma = true
91+
ij_kotlin_allow_trailing_comma_on_call_site = true
92+
ij_kotlin_insert_whitespaces_in_simple_one_line_method = true
93+
ij_kotlin_keep_line_breaks = true
94+
ij_kotlin_lbrace_on_next_line = false
95+
96+
# Java files
97+
[*.java]
98+
indent_size = 2
99+
tab_width = 2
100+
ij_continuation_indent_size = 4
101+
max_line_length = 120
102+
# Java imports - No star imports
103+
ij_java_class_count_to_use_import_on_demand = 999
104+
ij_java_names_count_to_use_import_on_demand = 999
105+
ij_java_packages_to_use_import_on_demand =
106+
107+
# Gradle files
108+
[{*.gradle,*.gradle.kts}]
109+
indent_size = 2
110+
tab_width = 2
111+
112+
# YAML files
113+
[*.{yml,yaml}]
114+
indent_size = 2
115+
tab_width = 2
116+
117+
# JSON files
118+
[{*.json,*.jsonc}]
119+
indent_size = 2
120+
tab_width = 2
121+
122+
# XML files
123+
[*.xml]
124+
indent_size = 2
125+
tab_width = 2
126+
127+
# Properties files
128+
[*.properties]
129+
indent_size = 2
130+
tab_width = 2
131+
132+
# Markdown files
133+
[*.md]
134+
trim_trailing_whitespace = false
135+
insert_final_newline = true
136+
indent_size = 2
137+
tab_width = 2
138+
139+
# Shell scripts
140+
[{*.sh,*.bash}]
141+
indent_size = 2
142+
tab_width = 2
143+
end_of_line = lf

.gitattributes

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
/gradlew text eol=lf
2+
*.bat text eol=crlf
3+
*.jar binary

.github/CODEOWNERS

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Global code owners - require review from these users for all changes
2+
* @programmer-newbie-code
3+
4+
# Core library components - require additional scrutiny
5+
/core-module/ @programmer-newbie-code
6+
/scripts/ @programmer-newbie-code
7+
8+
# Configuration files - require admin review
9+
/.github/ @programmer-newbie-code
10+
/gradle.properties @programmer-newbie-code
11+
/settings.gradle @programmer-newbie-code
12+
/build.gradle @programmer-newbie-code
13+
14+
# Documentation - can be reviewed by any maintainer
15+
/docs/ @programmer-newbie-code
16+
*.md @programmer-newbie-code
17+
18+
# Security-related files
19+
/SECURITY.md @programmer-newbie-code
20+
/.github/workflows/ @programmer-newbie-code
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: '[BUG] Brief description'
5+
labels: 'bug'
6+
assignees: ''
7+
8+
---
9+
10+
## Describe the bug
11+
12+
A clear and concise description of what the bug is.
13+
14+
## To Reproduce
15+
16+
Steps to reproduce the behavior:
17+
18+
1. Use component '...'
19+
2. Configure with '...'
20+
3. Execute '...'
21+
4. See error
22+
23+
## Expected behavior
24+
25+
A clear and concise description of what you expected to happen.
26+
27+
## Environment:
28+
29+
- Java version: [e.g. 21]
30+
- Spring Boot version: [e.g. 3.5.3]
31+
- Library version: [e.g. 1.0.0]
32+
33+
## Additional context
34+
35+
Add any other context about the problem here.
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for this project
4+
title: '[FEATURE] Brief description'
5+
labels: 'enhancement'
6+
assignees: ''
7+
8+
---
9+
10+
## Is your feature request related to a problem? Please describe.
11+
12+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
13+
14+
## Describe the solution you'd like
15+
16+
A clear and concise description of what you want to happen.
17+
18+
## Describe alternatives you've considered
19+
20+
A clear and concise description of any alternative solutions or features you've considered.
21+
22+
## Additional context
23+
24+
Add any other context or screenshots about the feature request here.
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
---
2+
name: Performance Issue
3+
about: Report performance problems or optimization opportunities
4+
title: '[PERFORMANCE] Brief description'
5+
labels: 'performance'
6+
assignees: ''
7+
8+
---
9+
10+
## Performance Issue Description
11+
12+
<!-- Describe the performance problem you've encountered -->
13+
14+
## Environment
15+
16+
- **Java version**: [e.g. 21]
17+
- **Spring Boot version**: [e.g. 3.5.3]
18+
- **Library version**: [e.g. 1.0.0]
19+
- **Cache implementation**: [e.g. Redis, Caffeine]
20+
- **Hardware specs**: [e.g. CPU, RAM, Storage type]
21+
22+
## Current Behavior
23+
24+
<!-- Describe the current performance behavior -->
25+
26+
## Expected Performance
27+
28+
<!-- What performance level would you expect? -->
29+
30+
## Reproduction Steps
31+
32+
1. Configure cache with: '...'
33+
2. Execute operation: '...'
34+
3. Measure performance using: '...'
35+
4. Observe results: '...'
36+
37+
## Performance Measurements
38+
39+
<!-- Include any benchmarks, profiling data, or measurements -->
40+
41+
```
42+
Metric: [e.g. throughput, latency, memory usage]
43+
Current: [measurement]
44+
Expected: [measurement]
45+
```
46+
47+
## Potential Solutions
48+
49+
<!-- If you have ideas for optimization -->
50+
51+
## Additional Context
52+
53+
<!-- Any other context about the performance issue -->

.github/ISSUE_TEMPLATE/question.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
---
2+
name: Question
3+
about: Ask a question about usage, implementation, or project direction
4+
title: '[QUESTION] Brief description'
5+
labels: 'question'
6+
assignees: ''
7+
8+
---
9+
10+
## Question
11+
12+
<!-- What would you like to know? -->
13+
14+
## Context
15+
16+
<!-- Provide context about what you're trying to achieve -->
17+
18+
## What I've Tried
19+
20+
<!-- What have you already attempted? -->
21+
22+
- [ ] Checked the documentation
23+
- [ ] Searched existing issues
24+
- [ ] Reviewed the code examples
25+
26+
## Environment (if relevant)
27+
28+
- **Java version**: [e.g. 21]
29+
- **Spring Boot version**: [e.g. 3.5.3]
30+
- **Library version**: [e.g. 1.0.0]
31+
32+
## Additional Information
33+
34+
<!-- Any other details that might help us answer your question -->
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
---
2+
name: Security Vulnerability Report
3+
about: Report a security vulnerability (Please use private disclosure)
4+
title: '[SECURITY] Brief description'
5+
labels: 'security, vulnerability'
6+
assignees: ''
7+
8+
---
9+
10+
**⚠️ IMPORTANT: For security vulnerabilities, please use GitHub's private vulnerability disclosure instead of public
11+
issues.**
12+
13+
## Security Issue Description
14+
15+
<!-- Provide a clear description of the security vulnerability -->
16+
17+
## Impact Assessment
18+
19+
<!-- Describe the potential impact of this vulnerability -->
20+
21+
- [ ] Low impact (minimal risk)
22+
- [ ] Medium impact (moderate risk)
23+
- [ ] High impact (significant risk)
24+
- [ ] Critical impact (severe risk)
25+
26+
## Affected Components
27+
28+
<!-- Which parts of the system are affected? -->
29+
30+
- [ ] bulk-core
31+
- [ ] bulk-redis
32+
- [ ] bulk-caffeine
33+
- [ ] bulk-spring
34+
- [ ] Configuration/Build system
35+
36+
## Steps to Reproduce
37+
38+
<!-- If applicable, provide steps to reproduce the vulnerability -->
39+
40+
## Proposed Solution
41+
42+
<!-- If you have suggestions for fixing the vulnerability -->
43+
44+
## Additional Information
45+
46+
<!-- Any additional context about the vulnerability -->
47+
48+
---
49+
**Note**: We take security seriously. Please follow responsible disclosure practices.

0 commit comments

Comments
 (0)