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

body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report! Please provide as much detail as possible to help us understand and reproduce the issue.

- type: input
id: permit-version
attributes:
label: Permit version
description: What version of Permit are you using?
placeholder: e.g., 0.3.0
validations:
required: true

- type: input
id: elixir-version
attributes:
label: Elixir/OTP version
description: What version of Elixir and OTP are you using?
placeholder: e.g., Elixir 1.17.0, OTP 27
validations:
required: true

- type: textarea
id: description
attributes:
label: Bug description
description: A clear and concise description of what the bug is.
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 behavior
placeholder: |
1. Set up authorization with...
2. Define permissions as...
3. Call the function...
4. See error...
validations:
required: true

- type: textarea
id: code-sample
attributes:
label: Code sample
description: Please provide a minimal code example that demonstrates the issue
render: elixir
placeholder: |
defmodule MyApp.Permissions do
use Permit.Permissions

def can(user) do
# Your code here
end
end

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

- type: textarea
id: actual-behavior
attributes:
label: Actual behavior
description: What actually happened? Include error messages if any.
validations:
required: true

- type: textarea
id: logs
attributes:
label: Error logs/stack trace
description: If applicable, add error logs or stack traces
render: shell

- type: textarea
id: additional-context
attributes:
label: Additional context
description: Add any other context about the problem here (database, Phoenix version, etc.)

- type: checkboxes
id: terms
attributes:
label: Checklist
description: Please confirm the following
options:
- label: I have searched for existing issues before creating this one
required: true
- label: I have provided all the requested information
required: true
- label: This is a bug report, not a feature request or question. For general questions, please use [Elixir Slack's Permit channel](https://elixir-lang.slack.com/archives/C091Q5S0GDU).
required: true

15 changes: 15 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
blank_issues_enabled: false
contact_links:
- name: 💬 GitHub Discussions
url: https://github.com/curiosum-dev/permit/discussions
about: Ask questions and discuss ideas with the community
- name: 📚 Documentation
url: https://hexdocs.pm/permit
about: Read the official documentation
- name: 📝 Curiosum Blog
url: https://curiosum.com/blog
about: Read blog posts about Permit updates and tutorials
- name: 🏢 Contact Curiosum
url: https://curiosum.com/contact
about: Get in touch with the team behind Permit

96 changes: 96 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
name: Feature Request
description: Suggest a new feature or enhancement for Permit
title: "[Feature]: "
labels: ["enhancement", "triage"]
assignees:
- vincentvanbush

body:
- type: markdown
attributes:
value: |
Thanks for suggesting a new feature! Please provide as much detail as possible to help us understand your request.

- type: textarea
id: problem
attributes:
label: Problem description
description: Is your feature request related to an usage pattern you've identified as needing improvement? Please describe.
placeholder: I've noticed that often when ... / I'm always frustrated when...
validations:
required: true

- type: textarea
id: solution
attributes:
label: Proposed solution
description: Describe the solution you'd like to see implemented
placeholder: I would like to be able to...
validations:
required: true

- type: textarea
id: alternatives
attributes:
label: Alternatives considered
description: Describe any alternative solutions or features you've considered
placeholder: I have also considered...

- type: textarea
id: use-case
attributes:
label: Use case
description: Describe your specific use case and how this feature would help
placeholder: In my application, I need to...
validations:
required: true

- type: textarea
id: code-example
attributes:
label: Desired API/code example
description: If possible, show what the API or code usage would look like
render: elixir
placeholder: |
# Example of how you'd like to use this feature
defmodule MyApp.Permissions do
use Permit.Permissions

def can(user) do
permit()
|> new_feature(user, :some_action)
end
end

- type: dropdown
id: priority
attributes:
label: Priority (1-5)
description: How important is this feature to you?
options:
- 1 - Low - Nice to have
- 2 - Medium - Would be helpful
- 3 - High - Blocking my work
validations:
required: true

- type: textarea
id: additional-context
attributes:
label: Additional Context
description: Add any other context, screenshots, or examples about the feature request

- type: checkboxes
id: terms
attributes:
label: Checklist
description: Please confirm the following
options:
- label: I have searched for existing issues before creating this one
required: true
- label: I have checked the roadmap in the README
required: true
- label: This is a feature request, not a bug report or question. For general questions, please use [Elixir Slack's Permit channel](https://elixir-lang.slack.com/archives/C091Q5S0GDU).
required: true


127 changes: 127 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
# Pull Request

## Description

<!-- Provide a clear and concise description of what this PR does -->

## Type of Change

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

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

## Related Issues

<!-- Link any related issues -->
Fixes #<!-- issue number -->
Closes #<!-- issue number -->
Related to #<!-- issue number -->

## Changes Made

<!-- List the main changes made in this PR -->

-
-
-

## Testing

<!-- Describe the tests you ran to verify your changes -->

### Test Environment
- [ ] Elixir version: <!-- e.g., 1.17.0 -->
- [ ] OTP version: <!-- e.g., 27 -->
- [ ] Database: <!-- e.g., PostgreSQL 14 -->

### Test Cases
- [ ] All existing tests pass
- [ ] New tests added for new functionality
- [ ] Manual testing performed
- [ ] Integration tests pass

### Test Commands Run
```bash
# List the commands you ran to test
mix test
mix credo
mix dialyzer
```

## Documentation

- [ ] Updated README.md (if applicable)
- [ ] Updated documentation comments
- [ ] Updated CHANGELOG.md (if applicable)
- [ ] Added examples for new features

## Code Quality

- [ ] Code follows the existing style conventions
- [ ] Self-review of the code has been performed
- [ ] Code has been commented, particularly in hard-to-understand areas
- [ ] No new linting warnings introduced
- [ ] No new Dialyzer warnings introduced

## Backward Compatibility

- [ ] This change is backward compatible
- [ ] This change includes breaking changes (please describe below)
- [ ] Migration guide provided for breaking changes

### Breaking Changes
<!-- If there are breaking changes, describe them here -->

## Performance Impact

- [ ] No performance impact
- [ ] Performance improvement
- [ ] Potential performance regression (please describe)

### Performance Notes
<!-- Describe any performance considerations -->

## Security Considerations

- [ ] No security impact
- [ ] Security improvement
- [ ] Potential security impact (please describe)

## Additional Notes

<!-- Any additional information that reviewers should know -->

## Screenshots/Examples

<!-- If applicable, add screenshots or code examples -->

```elixir
# Example usage of new feature
```

## Checklist

- [ ] I have read the [Contributing Guidelines](CONTRIBUTING.md)
- [ ] 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

## Reviewer Notes

<!-- Any specific areas you'd like reviewers to focus on -->

---

<!-- Thank you for contributing to Permit! -->

Loading