Thank you for your interest in contributing! We welcome contributions from everyone.
git clone https://github.com/XavierMP14/xMergeRepository.git
cd xMergeRepositorygit checkout -b feature/your-feature-name- Keep changes focused and atomic
- Follow the code standards for your project
- Update documentation as needed
We follow Conventional Commits:
git commit -m "feat: add new feature"
git commit -m "fix: resolve bug in component"
git commit -m "docs: update README"
git commit -m "refactor: improve code structure"git push origin feature/your-feature-nameThen open a PR on GitHub with a clear description of your changes.
- Use ESLint for linting
- Use Prettier for formatting
- Follow camelCase for variables and functions
- Use PascalCase for classes and components
npm run lint
npm run format- Follow StyleCop analyzers
- Use PascalCase for public members
- Document public APIs with XML comments
- Target .NET 9+
dotnet build
dotnet test- Use present tense: "add feature" not "added feature"
- Use imperative mood: "move cursor to..." not "moves cursor to..."
- Reference issues when applicable: "fixes #123"
Before submitting a PR, ensure all tests pass:
npm testdotnet test# Run linting
npm run lint # or dotnet build
# Run tests
npm test # or dotnet testWhen contributing, please update:
- README.md - If adding new features
- docs/ - For architectural changes
- Code comments - For complex logic
- API documentation - For public APIs
-
Create a descriptive PR title
- ✅ Good: "feat: add authentication to MCP server"
- ❌ Bad: "Update code"
-
Write a clear PR description
- What problem does this solve?
- How does it solve it?
- Any breaking changes?
-
Link related issues
- Use
closes #123to auto-close issues
- Use
-
Ensure CI passes
- All tests must pass
- Linting must pass
- No conflicts with main branch
-
Request review
- At least one approval required
- Address feedback promptly
- TypeScript with latest Node.js features
- Follow the existing folder structure
- Include unit tests for new features
- Update exercise documentation
- .NET 9+ target framework
- Follow the hybrid pattern (STDIO + HTTP)
- Include sample configurations
- Document deployment scenarios
- Auto-discovery of tools/prompts
- Report bugs and feedback clearly
- Include reproduction steps
- Attach error logs if applicable
- Test in VSCode insiders build
- Follow GitHub Skills exercise format
- Include clear learning objectives
- Provide hands-on activities
- Test exercise flow end-to-end
Use the bug report template:
## Description
Clear and concise description of the bug.
## Steps to Reproduce
1. Step one
2. Step two
3. Step three
## Expected Behavior
What should happen?
## Actual Behavior
What actually happens?
## Environment
- OS: [e.g., Windows 11, macOS 14]
- Runtime: [e.g., Node.js 20.10, .NET 9.0]
- Project: [e.g., mcp-dotnet-samples]
## Logs/Screenshots
Attach relevant logs or screenshots.Use the feature request template:
## Description
What feature would you like to see?
## Use Case
Why do you need this feature?
## Proposed Solution
How would you implement this?
## Alternatives
Any alternative approaches?- Be respectful and constructive
- Ask clarifying questions
- Suggest improvements
- Acknowledge good work
- Aim for consensus, not perfection
- Open a discussion on GitHub
- Check existing issues for similar questions
- Create a new issue with your question
Please note that this project is released with a Code of Conduct. By participating in this project you agree to abide by its terms.
Thank you for contributing! Your efforts help make xMergeRepository better for everyone. 🙌