UNPKG

mongo-pipeline-kit

Version:

A feature-rich MongoDB pipeline builder kit for creating, reusing, and managing aggregation pipelines with enhanced JSON support and advanced utilities

243 lines (169 loc) 6.05 kB
# Issue Management Guide This guide helps you understand how to report issues, request features, and get support for mongo-pipeline-kit. ## 🚀 Quick Start ### Before Creating an Issue 1. **Check Documentation**: Review the [README.md](README.md) and [EXAMPLES.md](EXAMPLES.md) 2. **Search Existing Issues**: Use the search bar to find similar issues 3. **Check Previous Questions**: Look for similar questions in existing issues ### Issue Types We have three main types of issues: - 🐛 **Bug Reports**: Something isn't working as expected - 🚀 **Feature Requests**: Suggest new functionality - **Questions**: Ask for help or clarification ## 🐛 Reporting Bugs ### What to Include - **Clear Description**: What happened vs. what you expected - **Steps to Reproduce**: Step-by-step instructions - **Environment Info**: Node.js, MongoDB, OS versions - **Code Example**: Minimal code that reproduces the issue - **Error Messages**: Full error stack traces ### Bug Report Template ````markdown ## Bug Description Brief description of the issue ## Steps to Reproduce 1. Install mongo-pipeline-kit@0.3.0 2. Run this code: ```typescript import { PipelineBuilder } from "mongo-pipeline-kit"; const builder = new PipelineBuilder().match({ status: "active" }); ``` ```` 3. See error: [paste error here] ## Expected vs Actual - Expected: Pipeline should build successfully - Actual: Throws TypeError ## Environment - mongo-pipeline-kit: 0.3.0 - Node.js: 18.0.0 - MongoDB: 6.0 - OS: macOS ```` ## 🚀 Feature Requests ### What to Include - **Problem Statement**: What problem does this solve? - **Proposed Solution**: How should it work? - **Use Cases**: Real-world examples - **Impact**: Who benefits and how much? ### Feature Request Template ```markdown ## Feature Description Add support for pipeline templates ## Problem Statement Users often create similar pipelines and have to copy-paste code ## Proposed Solution Add a template system where users can save and reuse common pipeline patterns ## Use Cases ```typescript // Template: User Analytics const userAnalyticsTemplate = PipelineBuilder.template('user-analytics', { match: { status: 'active' }, group: { _id: '$category', count: { $sum: 1 } } }); // Usage const pipeline = userAnalyticsTemplate.build(); ```` ## Impact - High priority for advanced users - Medium complexity - Benefits all users who create similar pipelines ```` ## ❓ Asking Questions ### What to Include - **Clear Question**: What are you trying to achieve? - **What You've Tried**: Show your attempts - **Code Example**: Your current implementation - **Expected Outcome**: What you want to happen ### Question Template ```markdown ## Question How do I export a pipeline to JSON with custom metadata? ## What I've Tried I tried using `builder.toJSON()` but it doesn't include metadata ## Code Example ```typescript const builder = new PipelineBuilder() .match({ status: 'active' }) .group({ _id: '$category', count: { $sum: 1 } }); // I want to add metadata like description, author, etc. const json = builder.toJSON(); // This doesn't include metadata ```` ## Expected Outcome I want to export the pipeline with additional information like: - Description - Author - Version - Tags ``` ## 📋 Issue Guidelines ### Do's ✅ - Use the appropriate issue template - Provide clear, reproducible examples - Include environment information - Search for duplicates first - Be respectful and constructive - Use code blocks for code examples - Tag issues appropriately ### Don'ts ❌ - Don't create blank issues - Don't report issues without context - Don't ask for help without showing your code - Don't demand immediate fixes - Don't be rude or demanding - Don't create duplicate issues ## 🏷️ Issue Labels We use the following labels to categorize issues: - `bug` - Something isn't working - `enhancement` - New feature request - `question` - Help needed - `documentation` - Documentation improvements - `good first issue` - Good for new contributors - `help wanted` - Looking for contributors - `needs-triage` - Needs review - `wontfix` - Won't be implemented - `duplicate` - Duplicate of another issue ## 🔄 Issue Lifecycle 1. **Created** - Issue is submitted 2. **Needs Triage** - Waiting for review 3. **In Progress** - Being worked on 4. **Needs Info** - Waiting for more details 5. **Resolved** - Issue is fixed/implemented 6. **Closed** - Issue is resolved ## 📞 Getting Help ### Support Channels 1. **GitHub Issues**: For bugs, feature requests, and questions 2. **Email**: arjun2000raj@gmail.com (for private matters) 3. **Documentation**: README.md and EXAMPLES.md 4. **NPM Package Page**: For general questions and reviews ### Response Times - **Critical Bugs**: Within 24-48 hours - **Feature Requests**: Within 1 week - **Questions**: Within 2-3 days - **Documentation**: Within 1 week ## 🤝 Contributing to Issues ### How to Help - **Answer Questions**: Help other users in discussions - **Reproduce Bugs**: Test reported issues - **Suggest Solutions**: Provide workarounds - **Improve Documentation**: Fix typos or clarify examples ### Before Contributing - Read the [Contributing Guide](CONTRIBUTING.md) - Follow the code of conduct - Test your changes - Provide clear explanations ## 📊 Issue Statistics We track issue metrics to improve the project: - **Response Time**: Average time to first response - **Resolution Time**: Average time to close issues - **Issue Types**: Distribution of bugs vs features vs questions - **Contributor Activity**: Who's helping with issues ## 🔗 Related Links - [README.md](README.md) - Main documentation - [EXAMPLES.md](EXAMPLES.md) - Usage examples - [CONTRIBUTING.md](CONTRIBUTING.md) - How to contribute - [CHANGELOG.md](CHANGELOG.md) - Version history - [GitHub Issues](https://github.com/arjun-computer-geek/mongo-pipeline-kit/issues) - [NPM Package](https://www.npmjs.com/package/mongo-pipeline-kit) --- **Thank you for helping improve mongo-pipeline-kit!** 🎉 ```