Skip to content

Commit 4030bca

Browse files
committed
feat: Add GitHub issue and PR templates, workflows, and contribution guidelines
- Created issue templates for feature requests and general issues to streamline contributions. - Added a pull request template to ensure consistent information is provided. - Implemented GitHub Actions workflows for CI, CodeQL analysis, dependency review, PR labeling, stale issue management, and welcoming new contributors. - Established a labeler configuration to auto-label PRs based on file changes. - Developed a comprehensive CONTRIBUTING.md file to guide new contributors on project setup, coding standards, and the contribution process. - Enhanced README.md with detailed project features, tech stack, and setup instructions.
1 parent d81efc8 commit 4030bca

File tree

13 files changed

+1518
-15
lines changed

13 files changed

+1518
-15
lines changed
Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
name: Bug Report
2+
description: Report a bug or unexpected behavior
3+
title: "[Bug]: "
4+
labels: ["bug", "needs-triage"]
5+
assignees: []
6+
7+
body:
8+
- type: markdown
9+
attributes:
10+
value: |
11+
Thanks for taking the time to fill out this bug report!
12+
13+
- type: textarea
14+
id: description
15+
attributes:
16+
label: Bug Description
17+
description: A clear and concise description of what the bug is.
18+
placeholder: Tell us what you see!
19+
validations:
20+
required: true
21+
22+
- type: textarea
23+
id: steps
24+
attributes:
25+
label: Steps to Reproduce
26+
description: Steps to reproduce the behavior
27+
placeholder: |
28+
1. Go to '...'
29+
2. Click on '....'
30+
3. Scroll down to '....'
31+
4. See error
32+
validations:
33+
required: true
34+
35+
- type: textarea
36+
id: expected
37+
attributes:
38+
label: Expected Behavior
39+
description: What did you expect to happen?
40+
placeholder: Describe the expected behavior
41+
validations:
42+
required: true
43+
44+
- type: textarea
45+
id: actual
46+
attributes:
47+
label: Actual Behavior
48+
description: What actually happened?
49+
placeholder: Describe what actually happened
50+
validations:
51+
required: true
52+
53+
- type: textarea
54+
id: screenshots
55+
attributes:
56+
label: Screenshots
57+
description: If applicable, add screenshots to help explain your problem
58+
placeholder: Paste or drag images here
59+
60+
- type: dropdown
61+
id: severity
62+
attributes:
63+
label: Severity
64+
description: How severe is this bug?
65+
options:
66+
- Low - Minor issue, workaround available
67+
- Medium - Affects functionality but not critical
68+
- High - Major functionality broken
69+
- Critical - Application unusable
70+
validations:
71+
required: true
72+
73+
- type: input
74+
id: browser
75+
attributes:
76+
label: Browser
77+
description: What browser are you using?
78+
placeholder: e.g., Chrome 120, Firefox 121, Safari 17
79+
80+
- type: input
81+
id: os
82+
attributes:
83+
label: Operating System
84+
description: What OS are you using?
85+
placeholder: e.g., Windows 11, macOS 14, Ubuntu 22.04
86+
87+
- type: textarea
88+
id: additional
89+
attributes:
90+
label: Additional Context
91+
description: Add any other context about the problem here
92+
placeholder: Any additional information that might help
93+
94+
- type: checkboxes
95+
id: terms
96+
attributes:
97+
label: Checklist
98+
description: Please confirm the following
99+
options:
100+
- label: I have searched for similar issues before creating this one
101+
required: true
102+
- label: I have provided all the information requested above
103+
required: true
104+
- label: This issue is reproducible
105+
required: false

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: GitHub Discussions
4+
url: https://github.com/hasnaintypes/sendable-ai/discussions
5+
about: Ask questions and discuss ideas with the community
6+
- name: Documentation
7+
url: https://github.com/hasnaintypes/sendable-ai/blob/main/README.md
8+
about: Read the documentation for setup and usage guides
9+
- name: Contributing Guide
10+
url: https://github.com/hasnaintypes/sendable-ai/blob/main/CONTRIBUTING.md
11+
about: Learn how to contribute to the project
Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
name: Feature Request
2+
description: Suggest a new feature or enhancement
3+
title: "[Feature]: "
4+
labels: ["enhancement", "needs-triage"]
5+
assignees: []
6+
7+
body:
8+
- type: markdown
9+
attributes:
10+
value: |
11+
Thanks for suggesting a new feature!
12+
13+
- type: textarea
14+
id: problem
15+
attributes:
16+
label: Problem Statement
17+
description: Is your feature request related to a problem? Please describe.
18+
placeholder: I'm always frustrated when...
19+
validations:
20+
required: true
21+
22+
- type: textarea
23+
id: solution
24+
attributes:
25+
label: Proposed Solution
26+
description: Describe the solution you'd like
27+
placeholder: A clear and concise description of what you want to happen
28+
validations:
29+
required: true
30+
31+
- type: textarea
32+
id: alternatives
33+
attributes:
34+
label: Alternatives Considered
35+
description: Describe alternatives you've considered
36+
placeholder: A clear and concise description of any alternative solutions or features
37+
38+
- type: dropdown
39+
id: category
40+
attributes:
41+
label: Feature Category
42+
description: What area does this feature belong to?
43+
options:
44+
- Lead Management
45+
- Email Campaigns
46+
- Inbox Integration
47+
- Analytics & Reporting
48+
- Authentication & Security
49+
- UI/UX
50+
- API & Integrations
51+
- Performance
52+
- Other
53+
validations:
54+
required: true
55+
56+
- type: dropdown
57+
id: priority
58+
attributes:
59+
label: Priority
60+
description: How important is this feature?
61+
options:
62+
- Low - Nice to have
63+
- Medium - Would improve workflow
64+
- High - Significantly impacts usability
65+
- Critical - Blocking current usage
66+
validations:
67+
required: true
68+
69+
- type: textarea
70+
id: use-case
71+
attributes:
72+
label: Use Case
73+
description: Describe a specific use case for this feature
74+
placeholder: |
75+
As a [type of user]
76+
I want [goal]
77+
So that [benefit]
78+
validations:
79+
required: true
80+
81+
- type: textarea
82+
id: mockups
83+
attributes:
84+
label: Mockups/Examples
85+
description: If applicable, add mockups, screenshots, or examples
86+
placeholder: Paste or drag images here
87+
88+
- type: textarea
89+
id: additional
90+
attributes:
91+
label: Additional Context
92+
description: Add any other context about the feature request here
93+
placeholder: Any additional information that might help
94+
95+
- type: checkboxes
96+
id: contribution
97+
attributes:
98+
label: Contribution
99+
description: Would you be interested in contributing this feature?
100+
options:
101+
- label: I would like to work on this feature
102+
required: false
103+
104+
- type: checkboxes
105+
id: terms
106+
attributes:
107+
label: Checklist
108+
description: Please confirm the following
109+
options:
110+
- label: I have searched for similar feature requests before creating this one
111+
required: true
112+
- label: I have provided all the information requested above
113+
required: true
114+
- label: This feature aligns with the project's goals
115+
required: false

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
## Description
2+
<!-- Provide a brief description of the changes in this PR -->
3+
4+
5+
6+
## Type of Change
7+
<!-- Mark the relevant option with an "x" -->
8+
9+
- [ ] Bug fix (non-breaking change which fixes an issue)
10+
- [ ] New feature (non-breaking change which adds functionality)
11+
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
12+
- [ ] Documentation update
13+
- [ ] UI/UX improvement
14+
- [ ] Code refactoring (no functional changes)
15+
- [ ] Performance improvement
16+
- [ ] Test addition or update
17+
- [ ] Configuration change
18+
19+
## Related Issues
20+
<!-- Link related issues below. Use "Closes #123" to auto-close issues when PR is merged -->
21+
22+
- Closes #
23+
- Related to #
24+
25+
## Changes Made
26+
<!-- List the main changes made in this PR -->
27+
28+
-
29+
-
30+
-
31+
32+
## Testing Done
33+
<!-- Describe how you tested your changes -->
34+
35+
- [ ] Tested locally in development environment
36+
- [ ] Tested in production-like environment
37+
- [ ] Added unit tests
38+
- [ ] Added integration tests
39+
- [ ] Tested on multiple browsers (Chrome, Firefox, Safari, Edge)
40+
- [ ] Tested mobile responsiveness
41+
- [ ] Verified backward compatibility
42+
43+
### Test Steps
44+
<!-- Provide step-by-step instructions to test the changes -->
45+
46+
1.
47+
2.
48+
3.
49+
50+
## Screenshots / Videos
51+
<!-- If applicable, add screenshots or videos to demonstrate the changes -->
52+
53+
### Before
54+
<!-- Screenshot/video of the current behavior -->
55+
56+
57+
### After
58+
<!-- Screenshot/video of the new behavior -->
59+
60+
61+
## Documentation
62+
<!-- Check all that apply -->
63+
64+
- [ ] Documentation has been updated (README, CONTRIBUTING, etc.)
65+
- [ ] Code comments have been added/updated
66+
- [ ] No documentation changes needed
67+
68+
## Breaking Changes
69+
<!-- If this PR introduces breaking changes, describe them here and provide migration instructions -->
70+
71+
72+
73+
## Code Review Checklist
74+
<!-- Reviewer: Please verify the following before approving -->
75+
76+
- [ ] Code follows the project's coding standards
77+
- [ ] Changes are well-documented
78+
- [ ] No unnecessary dependencies added
79+
- [ ] Git history is clean (meaningful commits, no merge commits)
80+
- [ ] Tests pass locally and in CI
81+
- [ ] No console errors or warnings
82+
- [ ] Performance impact considered
83+
- [ ] Security implications considered
84+
85+
## Additional Notes
86+
<!-- Add any additional context, concerns, or notes for reviewers -->
87+
88+
89+
90+
---
91+
92+
<!--
93+
By submitting this PR, you confirm that:
94+
- You have read the CONTRIBUTING guide
95+
- Your code follows the project's style guidelines
96+
- You have performed a self-review of your code
97+
- You have commented your code where necessary
98+
- Your changes generate no new warnings
99+
- You have added tests that prove your fix/feature works
100+
-->

.github/labeler.yml

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# Auto-label PRs based on changed files
2+
3+
# Frontend
4+
'frontend':
5+
- changed-files:
6+
- any-glob-to-any-file: 'src/app/**/*'
7+
- any-glob-to-any-file: 'src/components/**/*'
8+
9+
# Backend
10+
'backend':
11+
- changed-files:
12+
- any-glob-to-any-file: 'convex/**/*'
13+
14+
# Authentication
15+
'auth':
16+
- changed-files:
17+
- any-glob-to-any-file: 'convex/auth/**/*'
18+
- any-glob-to-any-file: 'convex/betterAuth/**/*'
19+
- any-glob-to-any-file: 'src/components/auth/**/*'
20+
- any-glob-to-any-file: 'src/lib/auth/**/*'
21+
22+
# Email
23+
'email':
24+
- changed-files:
25+
- any-glob-to-any-file: 'convex/emails/**/*'
26+
27+
# UI Components
28+
'ui':
29+
- changed-files:
30+
- any-glob-to-any-file: 'src/components/ui/**/*'
31+
32+
# Styling
33+
'styling':
34+
- changed-files:
35+
- any-glob-to-any-file: '**/*.css'
36+
- any-glob-to-any-file: 'tailwind.config.*'
37+
38+
# Configuration
39+
'config':
40+
- changed-files:
41+
- any-glob-to-any-file: '*.config.*'
42+
- any-glob-to-any-file: 'tsconfig.json'
43+
- any-glob-to-any-file: '.eslintrc*'
44+
45+
# Documentation
46+
'documentation':
47+
- changed-files:
48+
- any-glob-to-any-file: '*.md'
49+
- any-glob-to-any-file: 'docs/**/*'
50+
51+
# CI/CD
52+
'ci-cd':
53+
- changed-files:
54+
- any-glob-to-any-file: '.github/**/*'
55+
56+
# Dependencies
57+
'dependencies':
58+
- changed-files:
59+
- any-glob-to-any-file: 'package.json'
60+
- any-glob-to-any-file: 'package-lock.json'

0 commit comments

Comments
 (0)