Add feature contribution requirements to CONTRIBUTING.md

Add a prominent section explaining that feature PRs require prior
discussion (GitHub issue, Discussions, or direct communication with
maintainer). This helps ensure alignment with project vision, avoids
wasted effort, enables collaborative design, and prevents duplicate work.

The section includes:
- Clear requirement statement with warning
- Explanation of why this is important
- Step-by-step guide on how to contribute features
- Clarification that this applies to features, not bug fixes

Also updated Before You Start, PR Requirements, and Questions sections
to reference and reinforce this requirement.
This commit is contained in:
Chris Veleris 2026-03-24 17:57:22 +02:00
parent e80847b01f
commit ebbc1d703e

View file

@ -6,6 +6,7 @@ Thank you for your interest in contributing to tududi! This guide will help you
- [Code of Conduct](#code-of-conduct)
- [Getting Started](#getting-started)
- [Feature Contributions](#feature-contributions)
- [Development Workflow](#development-workflow)
- [Code Standards](#code-standards)
- [Testing](#testing)
@ -54,6 +55,50 @@ Please be respectful and constructive in all interactions. We want to foster an
npm run user:create
```
## Feature Contributions
> **⚠️ IMPORTANT: Please read this before contributing features**
### Feature PRs Require Prior Discussion
**Feature pull requests will not be merged** unless there is:
- An existing GitHub issue
- A feature request discussed in [Discussions](https://github.com/chrisvel/tududi/discussions)
- Prior communication with the maintainer or community
### Why This Requirement?
This requirement exists to:
1. **Ensure alignment** with the project's vision and roadmap
2. **Avoid wasted effort** on features that may not fit the project direction
3. **Enable collaborative design** before implementation begins
4. **Maintain consistency** with existing architecture and patterns
5. **Prevent duplicate work** on features already planned or in progress
### How to Contribute a Feature
Before writing any code:
1. **Start a discussion** in [Feature Requests](https://github.com/chrisvel/tududi/discussions/categories/feature-requests)
- Describe the feature and the problem it solves
- Explain why it would benefit tududi users
- Outline your proposed approach
2. **Send a direct message** to [@chrisvel](https://github.com/chrisvel) via:
- [Discord](https://discord.gg/fkbeJ9CmcH)
- GitHub Discussions
- Email (found in repository)
3. **Wait for feedback** before investing significant time in implementation
4. **Create or get assigned a GitHub issue** once the feature is approved
5. **Then proceed** with development following the guidelines below
### Bug Fixes and Documentation
This requirement applies primarily to **new features**. Bug fixes, documentation improvements, and minor enhancements can proceed with just a linked issue.
## Development Workflow
### Branch Naming
@ -66,9 +111,10 @@ Please be respectful and constructive in all interactions. We want to foster an
### Before You Start
1. **Check existing issues and discussions** to avoid duplicate work
2. **Create or comment on an issue** describing what you plan to work on
3. **Create a new branch** from `main`
1. **For new features**: Read the [Feature Contributions](#feature-contributions) section above - **prior discussion is required**
2. **Check existing issues and discussions** to avoid duplicate work
3. **Create or comment on an issue** describing what you plan to work on
4. **Create a new branch** from `main`
```bash
git checkout -b feature/your-feature-name
```
@ -267,6 +313,7 @@ tududi supports multiple languages via i18next.
### PR Requirements
- ✅ **Feature PRs**: Linked to an approved issue or prior discussion (see [Feature Contributions](#feature-contributions))
- ✅ All tests passing
- ✅ Code follows style guidelines
- ✅ No linting errors
@ -276,10 +323,11 @@ tududi supports multiple languages via i18next.
## Questions?
- **Feature ideas**: Start a [discussion](https://github.com/chrisvel/tududi/discussions/categories/feature-requests) or message [@chrisvel](https://github.com/chrisvel)
- **General questions**: Use [GitHub Discussions](https://github.com/chrisvel/tududi/discussions)
- **Bug reports**: Create an [issue](https://github.com/chrisvel/tududi/issues)
- **Feature requests**: Start a [discussion](https://github.com/chrisvel/tududi/discussions/categories/feature-requests)
- **Direct contact**: Join our [Discord](https://discord.gg/fkbeJ9CmcH) or find maintainer contact info in the repository
---
Thank you for contributing to tududi! 🎉
**Remember**: For feature contributions, please discuss first before submitting a PR. We're excited to collaborate with you! 🎉