diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 00000000..29d91963 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,39 @@ +--- +name: Bug Report +about: Report a bug or issue with the robot code +title: '[BUG] ' +labels: ['bug', 'needs-triage'] +assignees: '' +--- + +## Bug Description +A clear and concise description of what the bug is. + +## Steps to Reproduce +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +## Expected Behavior +A clear and concise description of what you expected to happen. + +## Actual Behavior +A clear and concise description of what actually happened. + +## Environment +- Robot Code Version: [e.g. main branch commit abc123] +- Driver Station Version: [e.g. 2025.3.1] +- Testing Environment: [e.g. Robot, Simulation, Unit Test] + +## Additional Context +Add any other context about the problem here, including: +- Screenshots or videos if applicable +- Log files or error messages +- Any recent changes that might be related + +## Priority +- [ ] Critical (robot cannot function) +- [ ] High (major functionality affected) +- [ ] Medium (minor functionality affected) +- [ ] Low (cosmetic or nice-to-have) \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/build_task.md b/.github/ISSUE_TEMPLATE/build_task.md new file mode 100644 index 00000000..0b2502f6 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/build_task.md @@ -0,0 +1,70 @@ +--- +name: Build/Hardware Task +about: Track mechanical, electrical, or hardware-related tasks +title: '[BUILD] ' +labels: ['build', 'hardware', 'needs-assignment'] +assignees: '' +--- + +## Task Description +What needs to be built, assembled, wired, or modified? + +## Component/System +Which part of the robot does this affect? +- [ ] Drivetrain +- [ ] Intake/Outtake +- [ ] Climber +- [ ] Shooter +- [ ] Electrical System +- [ ] Pneumatics +- [ ] Sensors +- [ ] Other: ____________ + +## Materials Needed +List all parts, tools, or materials required: +- [ ] Part 1 (quantity, part number if known) +- [ ] Part 2 +- [ ] Tool 1 +- [ ] Tool 2 + +## Safety Considerations +What safety precautions need to be taken? +- [ ] Eye protection required +- [ ] Power tools involved +- [ ] Electrical work (disconnect power) +- [ ] Heavy lifting required +- [ ] Other: ____________ + +## Documentation Required +What documentation should be created or updated? +- [ ] CAD drawings +- [ ] Wiring diagrams +- [ ] Assembly instructions +- [ ] Part specifications +- [ ] Photos of completed work + +## Testing/Validation +How will we verify this work is completed correctly? +- [ ] Physical fit check +- [ ] Electrical continuity test +- [ ] Software integration test +- [ ] Performance test +- [ ] Safety check + +## Priority +- [ ] Critical (robot cannot function without this) +- [ ] High (important for robot performance) +- [ ] Medium (improvement to robot) +- [ ] Low (nice to have) + +## Estimated Timeline +How long will this take? +- [ ] < 1 meeting +- [ ] 1-2 meetings +- [ ] Multiple meetings +- [ ] Needs investigation + +## Dependencies +- Blocked by: #(issue number) +- Related to: #(issue number) +- Requires completion of: #(issue number) \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 00000000..5c81bf1e --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,8 @@ +blank_issues_enabled: true +contact_links: + - name: Team Discussion + url: https://www.chiefdelphi.com/t/frc-360-the-revolution-2025-build-thread-open-alliance/479679 + about: Visit our build thread on Chief Delphi for general discussion and updates + - name: FRC Documentation + url: https://docs.wpilib.org/ + about: Official WPILib documentation for FRC programming \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 00000000..84974f07 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,45 @@ +--- +name: Feature Request +about: Suggest a new feature or enhancement for the robot +title: '[FEATURE] ' +labels: ['enhancement', 'needs-triage'] +assignees: '' +--- + +## Feature Description +A clear and concise description of the feature you'd like to see implemented. + +## Problem Statement +Describe the problem this feature would solve. What is the current limitation or pain point? + +## Proposed Solution +Describe how you'd like this feature to work. Be as specific as possible. + +## Alternative Solutions +Describe any alternative solutions or features you've considered. + +## Implementation Details +If you have ideas about how this could be implemented, share them here: +- [ ] Code changes needed +- [ ] Hardware changes needed +- [ ] Configuration changes needed +- [ ] Testing requirements + +## Success Criteria +How will we know this feature is working correctly? +- [ ] Criterion 1 +- [ ] Criterion 2 +- [ ] Criterion 3 + +## Priority +- [ ] Critical (needed for competition) +- [ ] High (important for robot performance) +- [ ] Medium (nice improvement) +- [ ] Low (future consideration) + +## Timeline +When is this feature needed? +- [ ] Before next competition +- [ ] Before build season ends +- [ ] Future season +- [ ] No specific deadline \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/task.md b/.github/ISSUE_TEMPLATE/task.md new file mode 100644 index 00000000..46c9e822 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/task.md @@ -0,0 +1,54 @@ +--- +name: Task/Todo +about: Create a task or todo item for the team +title: '[TASK] ' +labels: ['task', 'needs-assignment'] +assignees: '' +--- + +## Task Description +A clear description of what needs to be done. + +## Context +Why is this task needed? What's the background or motivation? + +## Acceptance Criteria +What needs to be completed for this task to be considered done? +- [ ] Criterion 1 +- [ ] Criterion 2 +- [ ] Criterion 3 + +## Dependencies +Does this task depend on other tasks or issues? List them here: +- Related to #(issue number) +- Blocked by #(issue number) +- Requires completion of #(issue number) + +## Estimated Effort +How much work do you think this will take? +- [ ] Small (< 2 hours) +- [ ] Medium (2-8 hours) +- [ ] Large (> 8 hours) +- [ ] Needs investigation + +## Team/Skills Required +What team or skills are needed for this task? +- [ ] Programming/Software +- [ ] Mechanical/Hardware +- [ ] Electrical +- [ ] Design/CAD +- [ ] Testing/Validation +- [ ] Documentation + +## Priority +- [ ] Critical (blocks other work) +- [ ] High (important for upcoming milestone) +- [ ] Medium (normal priority) +- [ ] Low (nice to have) + +## Due Date +When should this be completed? (if applicable) +Date: ___________ + +## Additional Notes +Any other information that might be helpful for whoever picks up this task. \ No newline at end of file diff --git a/README.md b/README.md index 41a57999..56e4910a 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,16 @@ # RainMaker25 -this is team 360's first year on open alliance! our build thread is over at https://www.chiefdelphi.com/t/frc-360-the-revolution-2025-build-thread-open-alliance/479679. + +This is team 360's first year on open alliance! Our build thread is over at https://www.chiefdelphi.com/t/frc-360-the-revolution-2025-build-thread-open-alliance/479679. + +## Task Management + +We use GitHub Issues for task management and project organization. Check out our [Task Management Guide](TASK_MANAGEMENT.md) to learn how we track work, assign tasks, and collaborate as a team. + +### Quick Links +- [Create a Bug Report](../../issues/new?template=bug_report.md) +- [Request a Feature](../../issues/new?template=feature_request.md) +- [Create a Task](../../issues/new?template=task.md) +- [Create a Build Task](../../issues/new?template=build_task.md) +- [View All Issues](../../issues) + +## Development diff --git a/TASK_MANAGEMENT.md b/TASK_MANAGEMENT.md new file mode 100644 index 00000000..b2aac77a --- /dev/null +++ b/TASK_MANAGEMENT.md @@ -0,0 +1,160 @@ +# GitHub Task Management Guide for FRC Team 360 + +This document outlines how we use GitHub Issues as our task management system, replacing traditional tools like Todoist. + +## Why GitHub Issues? + +GitHub Issues provides several advantages for our FRC team: +- **Integrated with Code**: Issues link directly to code changes and pull requests +- **Collaborative**: Team members can comment, assign, and track progress together +- **Organized**: Labels, milestones, and projects help categorize and prioritize work +- **Accessible**: Free and already part of our development workflow +- **Trackable**: Full history of discussions and progress + +## Issue Types + +We use several issue templates for different types of work: + +### 🐛 Bug Reports +Use for reporting problems with robot code, hardware, or systems. +- Includes steps to reproduce, expected vs actual behavior +- Environment details and priority levels +- Links to related code or hardware + +### ✨ Feature Requests +Use for new capabilities or enhancements to the robot. +- Problem statement and proposed solution +- Implementation considerations and success criteria +- Priority and timeline information + +### 📋 Tasks/Todos +Use for general tasks that need to be completed. +- Clear acceptance criteria and dependencies +- Effort estimation and skill requirements +- Due dates and priority levels + +### 🔧 Build/Hardware Tasks +Use for mechanical, electrical, and hardware-related work. +- Component/system identification and materials needed +- Safety considerations and documentation requirements +- Testing and validation procedures + +## Labeling System + +We use labels to categorize and filter issues: + +### Type Labels +- `bug` - Something isn't working correctly +- `enhancement` - New feature or improvement +- `task` - General task or todo item +- `build` - Hardware/mechanical work +- `hardware` - Hardware-related +- `documentation` - Documentation improvements + +### Priority Labels +- `priority-critical` - Must be fixed immediately +- `priority-high` - Important for upcoming milestones +- `priority-medium` - Normal priority work +- `priority-low` - Nice to have, low urgency + +### Status Labels +- `needs-triage` - Needs initial review and assignment +- `needs-assignment` - Ready for someone to take ownership +- `in-progress` - Currently being worked on +- `blocked` - Cannot proceed due to dependencies +- `testing` - In testing/validation phase + +### Team Labels +- `team-programming` - Software/code work +- `team-mechanical` - Mechanical engineering work +- `team-electrical` - Electrical work +- `team-design` - CAD/design work + +## Workflow + +### Creating Issues +1. Choose the appropriate template for your issue type +2. Fill out all relevant sections thoroughly +3. Add appropriate labels for type, priority, and team +4. Assign to team members if you know who should handle it +5. Link to related issues or milestones if applicable + +### Working on Issues +1. Assign yourself to issues you're working on +2. Add the `in-progress` label when you start work +3. Comment with progress updates and questions +4. Reference the issue number in commit messages (`Fixes #123`) +5. Move to `testing` label when ready for validation + +### Closing Issues +- Issues are automatically closed when linked pull requests are merged +- For non-code issues, manually close when work is complete +- Add a final comment summarizing what was accomplished + +## Projects and Milestones + +### Milestones +Use milestones to group issues by: +- Competition deadlines (e.g., "Week 1 Competition") +- Build phases (e.g., "Robot Assembly Complete") +- Major features (e.g., "Autonomous Functionality") + +### GitHub Projects +Consider using GitHub Projects for: +- Kanban-style boards (To Do, In Progress, Done) +- Sprint planning and tracking +- Visualizing team workload + +## Tips for Success + +### Writing Good Issues +- **Be specific**: Clear titles and detailed descriptions +- **Include context**: Why is this needed? What's the impact? +- **Add criteria**: How do we know when it's done? +- **Link related work**: Reference other issues, PRs, or documentation + +### Staying Organized +- Review and triage new issues regularly +- Update labels and assignees as work progresses +- Close completed issues promptly +- Use comments to track progress and decisions + +### Team Communication +- Use @mentions to notify specific team members +- Reference issues in commit messages and PR descriptions +- Link issues to pull requests for automatic closure +- Comment with updates, questions, and blockers + +## Comparison to Todoist + +| Feature | Todoist | GitHub Issues | +|---------|---------|---------------| +| Task Creation | ✅ | ✅ | +| Due Dates | ✅ | ✅ (milestones) | +| Labels/Categories | ✅ | ✅ | +| Collaboration | ✅ | ✅ | +| File Attachments | ✅ | ✅ | +| Comments/Notes | ✅ | ✅ | +| Code Integration | ❌ | ✅ | +| Free for Teams | ❌ | ✅ | +| Progress Tracking | ✅ | ✅ | +| Notifications | ✅ | ✅ | + +## Getting Started + +1. **Explore the issue templates** - Try creating different types of issues +2. **Set up notifications** - Configure GitHub to email you about assigned issues +3. **Practice with labels** - Use labels consistently to keep things organized +4. **Create a project board** - Set up a kanban board for visual task tracking +5. **Link everything** - Connect issues to code changes and documentation + +## Questions? + +If you have questions about using GitHub for task management: +- Create an issue using the "Task/Todo" template +- Ask in our [Chief Delphi build thread](https://www.chiefdelphi.com/t/frc-360-the-revolution-2025-build-thread-open-alliance/479679) +- Check the [GitHub documentation](https://docs.github.com/en/issues) + +--- + +*This system replaces our previous Todoist workflow and provides better integration with our code development process.* \ No newline at end of file diff --git a/gradlew b/gradlew old mode 100644 new mode 100755