Skip to content

Commit ca3b897

Browse files
author
Himanshu Singhal
committed
AIRA-64: Branch Protection Rules & Core Development Automation
1 parent bfc83d0 commit ca3b897

File tree

7 files changed

+694
-0
lines changed

7 files changed

+694
-0
lines changed
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
---
2+
name: 🌟 External Contribution
3+
about: Template for external contributors
4+
title: '[External] [Brief Description]'
5+
labels: ['external-contribution', 'needs-review']
6+
assignees: ''
7+
---
8+
9+
## 👋 **Welcome, External Contributor!**
10+
Thank you for your interest in contributing to AIRA! Please fill out this template to help us understand your contribution.
11+
12+
## 🚀 **Contribution Type**
13+
- [ ] 🐛 Bug fix
14+
- [ ] ✨ New feature
15+
- [ ] 📚 Documentation improvement
16+
- [ ] 🎨 Code style/formatting
17+
- [ ] ♻️ Refactoring
18+
- [ ] 🧪 Tests
19+
- [ ] 🌐 Internationalization
20+
- [ ] ♿ Accessibility improvement
21+
22+
## 👤 **User Story**
23+
As a [role], I need [functionality], so I can [benefit].
24+
25+
## 🎯 **Problem Statement**
26+
<!-- What problem does this solve? Why is it needed? -->
27+
28+
## 💡 **Proposed Solution**
29+
<!-- Describe your approach to solving this problem -->
30+
31+
## **Acceptance Criteria**
32+
<!-- Define what "done" looks like -->
33+
- [ ]
34+
- [ ]
35+
- [ ]
36+
37+
## 📋 **Implementation Plan**
38+
<!-- How do you plan to implement this? -->
39+
40+
### 🔧 Technical Approach
41+
<!-- Technical details of your implementation -->
42+
43+
### 📁 Files to be Modified/Created
44+
<!-- List the files you expect to change -->
45+
46+
## 🧪 **Testing Plan**
47+
<!-- How will you test your changes? -->
48+
- [ ] I will write unit tests
49+
- [ ] I will write integration tests
50+
- [ ] I will test manually
51+
- [ ] I will update existing tests
52+
53+
## 📚 **Documentation Updates**
54+
<!-- Will documentation need updates? -->
55+
- [ ] README updates needed
56+
- [ ] API documentation updates needed
57+
- [ ] User guide updates needed
58+
- [ ] No documentation updates needed
59+
60+
## 🤝 **Contribution Commitment**
61+
- [ ] I'm willing to implement this feature
62+
- [ ] I'm available for code review discussions
63+
- [ ] I understand this may require multiple iterations
64+
- [ ] I agree to follow the project's coding standards
65+
66+
## 📝 **Additional Context**
67+
<!-- Any other relevant information -->
68+
69+
## 🎓 **Experience Level**
70+
<!-- Help us provide appropriate guidance -->
71+
- [ ] First-time contributor to this project
72+
- [ ] First-time contributor to open source
73+
- [ ] Experienced with Python/FastAPI
74+
- [ ] Experienced with the tech stack used
75+
76+
## 💬 **Questions for Maintainers**
77+
<!-- Ask any questions you have -->
78+
79+
---
80+
**Next Steps:**
81+
1. Wait for maintainer approval (we'll label this "approved" when ready)
82+
2. A branch `AIRA-{issue-number}` will be auto-created for you
83+
3. Fork the repo and work on your feature
84+
4. Submit a PR referencing this issue
85+
86+
**Need Help?**
87+
- Check our [Contributing Guide](CONTRIBUTING.md)
88+
- Join our [Discord](https://discord.gg/aira) for real-time help
89+
- Ask questions in this issue
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
---
2+
name: 🎯 Internal AIRA Ticket
3+
about: Standard ticket template for internal team development
4+
title: 'AIRA-[NUMBER]: [Brief Description]'
5+
labels: ['internal', 'mvp']
6+
assignees: ''
7+
---
8+
9+
## 👤 **User Story**
10+
As a [role], I need [functionality], so I can [benefit].
11+
12+
## 🎯 **Rationale**
13+
<!-- Why is this needed? What problem does it solve? -->
14+
15+
## **Acceptance Criteria**
16+
<!-- Define what "done" looks like -->
17+
- [ ]
18+
- [ ]
19+
- [ ]
20+
21+
## 📋 **Technical Requirements**
22+
<!-- Technical specifications and constraints -->
23+
24+
### 🏗️ Architecture Considerations
25+
- [ ] Database schema changes required
26+
- [ ] API endpoints to create/modify
27+
- [ ] Frontend components needed
28+
- [ ] Third-party integrations
29+
30+
### 🔒 Security Requirements
31+
- [ ] Authentication/authorization needed
32+
- [ ] Data encryption requirements
33+
- [ ] Input validation requirements
34+
- [ ] Rate limiting considerations
35+
36+
### 📊 Performance Requirements
37+
- [ ] Response time targets: [X]ms
38+
- [ ] Throughput requirements: [X] req/sec
39+
- [ ] Memory usage constraints
40+
- [ ] Database query optimization
41+
42+
## 🧪 **Testing Strategy**
43+
- [ ] Unit test coverage target: [XX]%
44+
- [ ] Integration tests required
45+
- [ ] Load testing needed
46+
- [ ] Security testing required
47+
48+
## 📚 **Documentation Requirements**
49+
- [ ] API documentation updates
50+
- [ ] User guide updates
51+
- [ ] Developer documentation
52+
- [ ] Architecture documentation
53+
54+
## 📋 **Additional Context**
55+
- **Category**: [Foundation/Security/Core Workflow/Observability/Simplified]
56+
- **Priority**: [High/Medium/Low]
57+
- **Complexity**: [High/Medium/Low] ([story points])
58+
- **Week**: [Week X]
59+
- **Sprint**: [Sprint X]
60+
- **Dependencies**: [AIRA-X, AIRA-Y]
61+
- **Blocks**: [AIRA-X, AIRA-Y]
62+
63+
## 🔗 **Related Issues**
64+
- Related to #[issue]
65+
- Depends on #[issue]
66+
- Blocks #[issue]
67+
68+
## 🎨 **Design Resources**
69+
<!-- Links to Figma, mockups, wireframes -->
70+
71+
## 📱 **Platform Support**
72+
- [ ] Web (Desktop)
73+
- [ ] Web (Mobile)
74+
- [ ] iOS App
75+
- [ ] Android App
76+
- [ ] API Only
77+
78+
---
79+
**Definition of Ready:**
80+
- [ ] Requirements clearly defined
81+
- [ ] Acceptance criteria specified
82+
- [ ] Dependencies identified
83+
- [ ] Technical approach agreed upon
84+
- [ ] Effort estimated
85+
86+
**Definition of Done:**
87+
- [ ] Code implemented and reviewed
88+
- [ ] Tests written and passing
89+
- [ ] Documentation updated
90+
- [ ] Feature deployed to staging
91+
- [ ] Product owner acceptance

.github/pull_request_template.md

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
## 🎯 **Related Issue**
2+
Closes #[ISSUE_NUMBER]
3+
4+
## 📋 **Changes Made**
5+
<!-- Describe what you've changed and why -->
6+
7+
### 🔧 Technical Changes
8+
- [ ]
9+
- [ ]
10+
- [ ]
11+
12+
### 🎨 UI/UX Changes (if applicable)
13+
- [ ]
14+
- [ ]
15+
16+
## **Testing**
17+
<!-- Mark completed items with [x] -->
18+
- [ ] Unit tests pass (`pytest tests/`)
19+
- [ ] Integration tests pass
20+
- [ ] Manual testing completed
21+
- [ ] Performance impact assessed
22+
- [ ] Security implications reviewed
23+
24+
### 🧪 Test Coverage
25+
- Current coverage: [XX]%
26+
- Coverage change: [+/-XX]%
27+
28+
## 🔍 **Review Checklist**
29+
<!-- For reviewers -->
30+
- [ ] Code follows project conventions
31+
- [ ] Documentation updated (if needed)
32+
- [ ] No breaking changes (or documented)
33+
- [ ] Issue acceptance criteria met
34+
- [ ] Security best practices followed
35+
- [ ] Performance considerations addressed
36+
37+
## 📊 **Type of Change**
38+
<!-- Mark with [x] -->
39+
- [ ] 🐛 Bug fix (non-breaking change that fixes an issue)
40+
- [ ] ✨ New feature (non-breaking change that adds functionality)
41+
- [ ] 💥 Breaking change (fix or feature that causes existing functionality to change)
42+
- [ ] 📚 Documentation update
43+
- [ ] 🎨 Code style/formatting (no functional changes)
44+
- [ ] ♻️ Refactoring (no functional changes)
45+
- [ ] 🧪 Tests (adding or updating tests)
46+
- [ ] 🔧 Chore (updating build process, dependencies, etc.)
47+
48+
## 📸 **Screenshots (if applicable)**
49+
<!-- Add before/after screenshots for UI changes -->
50+
51+
## 🚀 **Deployment Notes**
52+
<!-- Any special deployment considerations -->
53+
- [ ] Database migrations required
54+
- [ ] Environment variables changed
55+
- [ ] External dependencies added
56+
- [ ] Configuration updates needed
57+
58+
## 📝 **Additional Notes**
59+
<!-- Any other information that reviewers should know -->
60+
61+
---
62+
**AIRA Phase 1 MVP** | Ticket: AIRA-[NUMBER] | Week: [X]

.github/workflows/auto-branch.yml

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
name: Auto-Branch Creation
2+
3+
on:
4+
issues:
5+
types: [labeled, assigned]
6+
7+
jobs:
8+
create-branch:
9+
if: |
10+
(contains(github.event.label.name, 'approved') ||
11+
github.event.action == 'assigned') &&
12+
contains(github.event.issue.labels.*.name, 'external-contribution')
13+
runs-on: ubuntu-latest
14+
15+
steps:
16+
- uses: actions/checkout@v4
17+
with:
18+
token: ${{ secrets.GITHUB_TOKEN }}
19+
20+
- name: Create branch for external contributor
21+
run: |
22+
ISSUE_NUMBER=${{ github.event.issue.number }}
23+
BRANCH_NAME="AIRA-${ISSUE_NUMBER}"
24+
ASSIGNEE="${{ github.event.issue.assignee.login }}"
25+
26+
# Configure git
27+
git config user.name "aira-bot[bot]"
28+
git config user.email "aira-bot[bot]@users.noreply.github.com"
29+
30+
# Create and push branch
31+
git checkout -b $BRANCH_NAME
32+
git push origin $BRANCH_NAME
33+
34+
- name: Comment on issue with instructions
35+
uses: actions/github-script@v6
36+
with:
37+
script: |
38+
const issueNumber = context.issue.number;
39+
const branchName = `AIRA-${issueNumber}`;
40+
const assignee = context.payload.issue.assignee?.login || 'contributor';
41+
42+
const commentBody = `🚀 **Branch Ready for Development**
43+
44+
Hi @${assignee}! Your branch \`${branchName}\` has been created and is ready for development.
45+
46+
## Next Steps:
47+
48+
### 1. Checkout the branch
49+
\`\`\`bash
50+
# Using GitHub CLI (recommended)
51+
gh issue develop ${issueNumber} --checkout
52+
53+
# Or manually
54+
git fetch origin
55+
git checkout ${branchName}
56+
\`\`\`
57+
58+
### 2. Development Guidelines
59+
- Keep commits focused and atomic
60+
- Follow our commit message format: \`type: description\`
61+
- Reference this issue in commits: \`Closes #${issueNumber}\`
62+
- Run tests before pushing: \`pytest tests/\`
63+
64+
### 3. Create PR when ready
65+
\`\`\`bash
66+
gh pr create --fill
67+
\`\`\`
68+
69+
### 4. Need Help?
70+
- Check our [Contributing Guide](CONTRIBUTING.md)
71+
- Ask questions in this issue
72+
- Join our [Discord](https://discord.gg/aira) for real-time help
73+
74+
Happy coding! 🎉
75+
76+
---
77+
*This comment was automatically generated by AIRA Bot*`;
78+
79+
await github.rest.issues.createComment({
80+
issue_number: issueNumber,
81+
owner: context.repo.owner,
82+
repo: context.repo.repo,
83+
body: commentBody
84+
});

0 commit comments

Comments
 (0)