diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
new file mode 100644
index 0000000..4f56e98
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -0,0 +1,41 @@
+---
+name: Bug Report
+about: Create a report to help us improve NETCore.Keycloak
+title: '[BUG] '
+labels: 'bug'
+assignees: ''
+---
+
+## ๐ Bug Description
+
+
+## ๐ Steps To Reproduce
+1.
+2.
+3.
+
+## โ
Expected Behavior
+
+
+## โ Actual Behavior
+
+
+## ๐ง Environment
+- NETCore.Keycloak Version:
+- .NET Version:
+- Keycloak Server Version:
+- Operating System:
+
+## ๐ Additional Context
+
+
+## ๐ก Possible Solution
+
+
+## ๐ธ Screenshots
+
+
+## ๐ Logs
+
+```
+[Paste logs here]
diff --git a/.github/ISSUE_TEMPLATE/docs_improvement.md b/.github/ISSUE_TEMPLATE/docs_improvement.md
new file mode 100644
index 0000000..5ef5cf6
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/docs_improvement.md
@@ -0,0 +1,28 @@
+---
+name: Documentation Improvement
+about: Suggest improvements to NETCore.Keycloak documentation
+title: '[DOCS] '
+labels: 'documentation'
+assignees: ''
+---
+
+## ๐ Documentation Area
+
+
+## ๐ Current Documentation
+
+
+## โจ Proposed Changes
+
+
+## ๐ฏ Reason for Change
+
+
+## ๐ Additional Context
+
+
+## โ
Checklist
+- [ ] Checked for existing documentation
+- [ ] Provided clear examples (if applicable)
+- [ ] Checked for technical accuracy
+- [ ] Ensured proper formatting
diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
new file mode 100644
index 0000000..4b81d03
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/feature_request.md
@@ -0,0 +1,32 @@
+---
+name: Feature Request
+about: Suggest a new feature for NETCore.Keycloak
+title: '[FEATURE] '
+labels: 'enhancement'
+assignees: ''
+---
+
+## โจ Feature Description
+
+
+## ๐ฏ Use Case
+
+
+## ๐ก Proposed Solution
+
+
+## ๐ Alternative Solutions
+
+
+## ๐ Additional Context
+
+
+## โ
Implementation Checklist
+- [ ] Feature design document
+- [ ] Unit tests
+- [ ] Documentation updates
+- [ ] API documentation (if applicable)
+- [ ] Example code (if applicable)
+
+## ๐ Related Issues/PRs
+
diff --git a/.github/ISSUE_TEMPLATE/refactor_proposal.md b/.github/ISSUE_TEMPLATE/refactor_proposal.md
new file mode 100644
index 0000000..e899ce6
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/refactor_proposal.md
@@ -0,0 +1,32 @@
+---
+name: Refactor Proposal
+about: Propose code refactoring to improve NETCore.Keycloak
+title: '[REFACTOR] '
+labels: 'refactor'
+assignees: ''
+---
+
+## ๐ Refactor Scope
+
+
+## ๐ Current Implementation
+
+
+## โจ Proposed Changes
+
+
+## ๐ฏ Benefits
+
+
+## โ ๏ธ Potential Risks
+
+
+## ๐ Implementation Plan
+- [ ] Unit tests for new implementation
+- [ ] Refactor implementation
+- [ ] Update documentation
+- [ ] Performance testing (if applicable)
+- [ ] Migration guide (if breaking changes)
+
+## ๐ Additional Context
+
diff --git a/.github/PULL_REQUEST_TEMPLATE/bugfix.md b/.github/PULL_REQUEST_TEMPLATE/bugfix.md
new file mode 100644
index 0000000..c35cb4e
--- /dev/null
+++ b/.github/PULL_REQUEST_TEMPLATE/bugfix.md
@@ -0,0 +1,34 @@
+---
+name: Bug Fix
+about: Submit a bug fix for NETCore.Keycloak
+title: '[BUGFIX] '
+labels: 'bug'
+---
+
+## ๐ Bug Description
+
+
+## ๐ง Fix Description
+
+
+## ๐ Root Cause
+
+
+## ๐งช Testing
+
+
+## โ
Regression Tests
+
+
+## ๐ Checklist
+- [ ] I have followed the code style guidelines
+- [ ] I have added regression tests
+- [ ] I have updated documentation if needed
+- [ ] I have added/updated XML documentation comments if needed
+- [ ] I have verified the fix in my local environment
+
+## ๐ Additional Context
+
+
+## ๐ธ Screenshots
+
diff --git a/.github/PULL_REQUEST_TEMPLATE/docs.md b/.github/PULL_REQUEST_TEMPLATE/docs.md
new file mode 100644
index 0000000..ef3cd69
--- /dev/null
+++ b/.github/PULL_REQUEST_TEMPLATE/docs.md
@@ -0,0 +1,34 @@
+---
+name: Documentation Update
+about: Submit documentation changes for NETCore.Keycloak
+title: '[DOCS] '
+labels: 'documentation'
+---
+
+## ๐ Documentation Changes
+
+
+## ๐ Related Issue
+
+
+## ๐ Type of Change
+
+- [ ] New documentation
+- [ ] Documentation update
+- [ ] Fix typos/errors
+- [ ] Improve clarity
+- [ ] Add examples
+- [ ] Other (please describe)
+
+## โ
Checklist
+- [ ] I have checked for technical accuracy
+- [ ] I have tested all code examples (if any)
+- [ ] I have checked for proper formatting
+- [ ] I have verified all links work
+- [ ] I have run spellcheck
+
+## ๐ผ๏ธ Preview
+
+
+## ๐ Additional Notes
+
diff --git a/.github/PULL_REQUEST_TEMPLATE/feature.md b/.github/PULL_REQUEST_TEMPLATE/feature.md
new file mode 100644
index 0000000..3bd257b
--- /dev/null
+++ b/.github/PULL_REQUEST_TEMPLATE/feature.md
@@ -0,0 +1,38 @@
+---
+name: Feature Implementation
+about: Submit a new feature to NETCore.Keycloak
+title: '[FEATURE] '
+labels: 'enhancement'
+---
+
+## โจ Feature Description
+
+
+## ๐ Related Issue
+
+
+## ๐ ๏ธ Implementation Details
+
+
+## ๐งช Testing
+
+
+## ๐ Documentation
+
+
+## โ ๏ธ Breaking Changes
+
+
+## โ
Checklist
+- [ ] I have followed the code style guidelines
+- [ ] I have added unit tests
+- [ ] I have updated documentation
+- [ ] I have added XML documentation comments
+- [ ] I have tested the feature thoroughly
+- [ ] I have added example code (if applicable)
+
+## ๐ธ Screenshots
+
+
+## ๐ Additional Notes
+
diff --git a/.github/PULL_REQUEST_TEMPLATE/hotfix.md b/.github/PULL_REQUEST_TEMPLATE/hotfix.md
new file mode 100644
index 0000000..980a9a9
--- /dev/null
+++ b/.github/PULL_REQUEST_TEMPLATE/hotfix.md
@@ -0,0 +1,37 @@
+---
+name: Hotfix
+about: Submit an urgent fix for NETCore.Keycloak
+title: '[HOTFIX] '
+labels: 'hotfix'
+---
+
+## ๐จ Emergency Description
+
+
+## ๐ฅ Impact
+
+
+## ๐ง Fix Description
+
+
+## โ ๏ธ Risk Assessment
+
+
+## ๐งช Testing
+
+
+## โ
Verification Steps
+
+
+## ๐ Checklist
+- [ ] I have followed the code style guidelines
+- [ ] I have added tests
+- [ ] I have updated documentation if needed
+- [ ] I have tested in production-like environment
+- [ ] I have considered potential side effects
+
+## ๐ Rollback Plan
+
+
+## ๐ Additional Context
+
diff --git a/.github/workflows/branch_naming_policy.yml b/.github/workflows/branch_naming_policy.yml
index 1097aa4..330f707 100644
--- a/.github/workflows/branch_naming_policy.yml
+++ b/.github/workflows/branch_naming_policy.yml
@@ -22,7 +22,7 @@ jobs:
- name: Branch naming policy check
run: |
echo "${{ steps.extract_branch.outputs.branch }}"
- [[ "${{ steps.extract_branch.outputs.branch }}" =~ ^[a-z0-9_]{5,50}$ ]] || exit 1
+ [[ "${{ steps.extract_branch.outputs.branch }}" =~ ^(feature|bugfix|hotfix|docs|refactor)/[a-z0-9_]{5,50}$ ]] || exit 1
- name: Close pull request and delete branch
if: failure()
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000..c59b5bd
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,91 @@
+# Contributing to NETCore.Keycloak
+
+We love your input! We want to make contributing to NETCore.Keycloak as easy and transparent as possible, whether it's:
+
+- Reporting a bug
+- Discussing the current state of the code
+- Submitting a fix
+- Proposing new features
+- Becoming a maintainer
+
+## Development Process
+
+We use GitHub to host code, to track issues and feature requests, as well as accept pull requests.
+
+### Branch Naming Convention
+
+All branch names must follow this format:
+```
+(feature|bugfix|hotfix|docs|refactor)/[a-z0-9_]{5,50}
+```
+
+This means:
+- Start with one of these prefixes: `feature/`, `bugfix/`, `hotfix/`, `docs/`, `refactor/`
+- Followed by a description that:
+ - Is 5-50 characters long
+ - Uses only lowercase letters (a-z), numbers (0-9), and underscores (_)
+ - No spaces, hyphens, or special characters allowed
+
+Examples:
+- `feature/add_token_refresh`
+- `bugfix/fix_auth_flow_123`
+- `hotfix/security_patch_456`
+- `docs/update_readme_789`
+- `refactor/simplify_code_101`
+
+### Pull Request Process
+
+1. Fork the repo and create your branch from `main` following the branch naming convention
+2. Ensure your code follows the existing code style and formatting rules defined in `.editorconfig`
+3. Update the documentation if needed
+4. Ensure all tests pass
+5. Create a Pull Request with a clear title and description
+
+### Code Style Guidelines
+
+We use `.editorconfig` to maintain consistent coding styles. Some key points:
+- Use tabs for indentation
+- Maximum line length is 120 characters
+- UTF-8 encoding
+- Trim trailing whitespace
+- Insert final newline
+- Follow C# naming conventions
+- Use proper spacing and bracing rules as defined in `.editorconfig`
+
+#### Documentation Requirements
+- All public APIs must be documented using XML documentation comments
+- Documentation should follow the standard XML format:
+ ```csharp
+ ///
+ /// Brief description of what the method/class does
+ ///
+ /// Description of the parameter
+ /// Description of the return value
+ /// When the exception is thrown
+ ```
+- Include code examples in documentation when the usage is not immediately obvious
+- Keep comments up to date with code changes
+- Use clear and concise language
+- Document non-obvious implementation details or business logic
+- Include references to related documentation or external resources when applicable
+
+### Commit Message Guidelines
+
+- Use the present tense ("Add feature" not "Added feature")
+- Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
+- Limit the first line to 72 characters or less
+- Reference issues and pull requests liberally after the first line
+
+### Security
+
+- Never commit sensitive information (API keys, credentials, etc.)
+- Follow SAST (Static Application Security Testing) rules defined in `.editorconfig`
+- Report security vulnerabilities privately to the maintainers
+
+## License
+
+By contributing, you agree that your contributions will be licensed under the same license as the project.
+
+## Questions?
+
+Don't hesitate to open an issue for any questions or concerns.
diff --git a/NETCore.Keycloak.Client/README.md b/NETCore.Keycloak.Client/README.md
index 8df4f54..ea4970e 100644
--- a/NETCore.Keycloak.Client/README.md
+++ b/NETCore.Keycloak.Client/README.md
@@ -87,7 +87,7 @@ var token = await keycloakClient.Auth.GetClientCredentialsTokenAsync(
var users = await keycloakClient.Users.GetAsync(
"your-realm",
token.AccessToken,
- new KcUserFilter { MaxResults = 10 });
+ new KcUserFilter { Max = 10 });
```
## ๐ License
diff --git a/README.md b/README.md
index 62c380a..80f8ece 100644
--- a/README.md
+++ b/README.md
@@ -138,7 +138,7 @@ var token = await keycloakClient.Auth.GetClientCredentialsTokenAsync(
var users = await keycloakClient.Users.GetAsync(
"your-realm",
token.AccessToken,
- new KcUserFilter { MaxResults = 10 });
+ new KcUserFilter { Max = 10 });
```
## ๐ Documentation
@@ -227,13 +227,17 @@ make install_virtual_env
dotnet cake e2e_test.cake
```
-## ๐ค Contributing
-
-We welcome contributions! Please see our [Contributing Guidelines](CONTRIBUTING.md) for details on how to submit pull requests, report issues, and contribute to the project.
-
## ๐ License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
----
+## ๐ค Contributing
+
+We welcome contributions from the community! Please check our [Contributing Guidelines](CONTRIBUTING.md) for details on:
+
+- Branch naming conventions
+- Code style and formatting rules
+- Pull request process
+- Security guidelines
+
โญ Star us on GitHub | ๐ซ Report Issues | ๐ Read the Docs