Skip to content
Draft
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
101 changes: 101 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
name: Bug Report
description: File a bug report to help us improve QuickCodes
title: "[Bug]: "
labels: ["bug", "needs-triage"]
assignees: ["marcioreck"]

body:
- type: markdown
attributes:
value: |
Thanks for taking the time to report a bug! Please fill out this form as completely as possible.

- type: textarea
id: description
attributes:
label: Bug Description
description: A clear and concise description of the bug
placeholder: Describe what happened and what you expected to happen
validations:
required: true

- type: textarea
id: reproduction
attributes:
label: Steps to Reproduce
description: Detailed steps to reproduce the bug
placeholder: |
1. Install QuickCodes with `cargo add quickcodes`
2. Run the following code...
3. Observe the error...
validations:
required: true

- type: textarea
id: expected
attributes:
label: Expected Behavior
description: What did you expect to happen?
placeholder: Describe the expected behavior
validations:
required: true

- type: textarea
id: actual
attributes:
label: Actual Behavior
description: What actually happened?
placeholder: Describe what actually happened, include error messages
validations:
required: true

- type: textarea
id: environment
attributes:
label: Environment
description: Information about your environment
placeholder: |
- OS: [e.g., Ubuntu 22.04, macOS 13.0, Windows 11]
- Rust version: [e.g., 1.75.0]
- QuickCodes version: [e.g., 0.1.0]
- Features enabled: [e.g., png, svg, python]
validations:
required: true

- type: textarea
id: code
attributes:
label: Code Sample
description: Minimal code sample that reproduces the issue
render: rust
placeholder: |
use quickcodes::{generate, BarcodeType, ExportFormat};

fn main() {
// Your code that reproduces the bug
}
validations:
required: false

- type: textarea
id: logs
attributes:
label: Error Logs
description: Any relevant error logs or output
render: text
placeholder: Paste error logs here (if any)
validations:
required: false

- type: checkboxes
id: checklist
attributes:
label: Checklist
description: Please confirm the following
options:
- label: I have searched existing issues to ensure this bug hasn't been reported
required: true
- label: I have tested with the latest version of QuickCodes
required: true
- label: I have provided a minimal code sample that reproduces the issue
required: false
114 changes: 114 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
name: Feature Request
description: Suggest a new feature or enhancement for QuickCodes
title: "[Feature]: "
labels: ["enhancement", "needs-triage"]
assignees: ["marcioreck"]

body:
- type: markdown
attributes:
value: |
Thanks for suggesting a new feature! Please help us understand your needs.

- type: textarea
id: feature-description
attributes:
label: Feature Description
description: A clear and concise description of the feature you'd like to see
placeholder: Describe the feature you want to add
validations:
required: true

- type: textarea
id: use-case
attributes:
label: Use Case
description: Describe the problem this feature would solve
placeholder: |
What problem does this feature solve?
How would you use this feature?
Who would benefit from this feature?
validations:
required: true

- type: textarea
id: proposed-solution
attributes:
label: Proposed Solution
description: How do you think this feature should work?
placeholder: Describe your proposed solution in detail
validations:
required: true

- type: textarea
id: api-design
attributes:
label: Proposed API Design
description: If applicable, show how the API might look
render: rust
placeholder: |
// Example of how the new API might work
use quickcodes::*;

let result = new_feature_function(parameters);
validations:
required: false

- type: textarea
id: alternatives
attributes:
label: Alternatives Considered
description: What alternative solutions have you considered?
placeholder: Describe any alternative approaches you've considered
validations:
required: false

- type: dropdown
id: priority
attributes:
label: Priority
description: How important is this feature to you?
options:
- "Low - Nice to have"
- "Medium - Would be helpful"
- "High - Important for my use case"
- "Critical - Blocking my project"
validations:
required: true

- type: dropdown
id: complexity
attributes:
label: Implementation Complexity
description: How complex do you think this feature would be to implement?
options:
- "Simple - Minor change"
- "Medium - Moderate effort"
- "Complex - Significant development"
- "I'm not sure"
validations:
required: false

- type: checkboxes
id: implementation
attributes:
label: Implementation
description: Are you willing to contribute to implementing this feature?
options:
- label: I'm willing to implement this feature myself
- label: I can help with testing and feedback
- label: I can help with documentation
- label: I would like someone else to implement this

- type: checkboxes
id: checklist
attributes:
label: Checklist
description: Please confirm the following
options:
- label: I have searched existing issues and feature requests
required: true
- label: This feature aligns with QuickCodes' goals of barcode/QR generation
required: true
- label: I have provided a clear use case for this feature
required: true
40 changes: 40 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ updates:
directory: "/"
schedule:
interval: "weekly"
day: "monday"
time: "09:00"
open-pull-requests-limit: 10
reviewers:
- "marcioreck"
Expand All @@ -13,12 +15,25 @@ updates:
commit-message:
prefix: "deps"
include: "scope"
# Allow security updates to be auto-merged
allow:
- dependency-type: "direct"
update-type: "security"
- dependency-type: "indirect"
update-type: "security"
# Ignore specific dependencies if needed
ignore:
# Example: ignore major version updates for stable dependencies
# - dependency-name: "serde"
# update-types: ["version-update:semver-major"]

# Enable version updates for GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
day: "monday"
time: "09:00"
open-pull-requests-limit: 5
reviewers:
- "marcioreck"
Expand All @@ -27,3 +42,28 @@ updates:
commit-message:
prefix: "ci"
include: "scope"
# Auto-merge minor and patch updates for GitHub Actions
allow:
- dependency-type: "direct"
update-type: "security"
- dependency-type: "direct"
update-type: "minor"
- dependency-type: "direct"
update-type: "patch"

# Python dependencies (for Python bindings)
- package-ecosystem: "pip"
directory: "/python"
schedule:
interval: "weekly"
open-pull-requests-limit: 5
reviewers:
- "marcioreck"
assignees:
- "marcioreck"
commit-message:
prefix: "deps(python)"
include: "scope"
allow:
- dependency-type: "direct"
update-type: "security"
85 changes: 85 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
## Summary

<!-- Provide a brief summary of your changes -->

## Type of Change

<!-- Mark the relevant option with an "x" -->

- [ ] Bug fix (non-breaking change that fixes an issue)
- [ ] New feature (non-breaking change that adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] Documentation update
- [ ] Code quality improvement
- [ ] Performance improvement
- [ ] Test improvement

## Changes Made

<!-- Describe what you changed and why -->

-
-
-

## Testing

<!-- Describe how you tested your changes -->

- [ ] All existing tests pass
- [ ] New tests added for new functionality
- [ ] Manual testing performed
- [ ] Examples updated and tested

**Test Details:**
<!-- Provide specific details about testing -->

## Documentation

<!-- Mark what documentation changes were made -->

- [ ] Code comments updated
- [ ] README.md updated
- [ ] CHANGELOG.md updated
- [ ] API documentation updated
- [ ] Examples updated
- [ ] No documentation changes needed

## Breaking Changes

<!-- If this is a breaking change, describe what breaks and how to migrate -->

**None** OR **Describe breaking changes:**

## Checklist

<!-- Check all that apply -->

- [ ] My code follows the project's style guidelines
- [ ] I have performed a self-review of my code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published

## Related Issues

<!-- Link any related issues -->

Fixes #(issue_number)
Closes #(issue_number)
Related to #(issue_number)

## Additional Notes

<!-- Any additional information, screenshots, or context -->

## Review Focus

<!-- What should reviewers focus on? -->

-
-
-
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
run: cargo fmt --all -- --check

- name: Clippy
run: cargo clippy --all-targets --features "png,svg" -- -D warnings
run: cargo clippy --all-targets --features "png,svg" -- -D warnings -A clippy::needless_range_loop -A clippy::collapsible_if -A clippy::incompatible_msrv

# Testes em múltiplas plataformas e versões do Rust
test:
Expand Down
Loading
Loading