Thank you for your interest in contributing to {{PLUGIN_DISPLAY_NAME}}! This document provides guidelines and instructions for contributing.
By participating in this project, you agree to abide by our Code of Conduct.
Before submitting a bug report:
- Check the existing issues to avoid duplicates
- Collect relevant information about your environment
- Provide steps to reproduce the issue
Bug Report Template:
- Description: Clear description of the bug
- Steps to Reproduce: Numbered steps to reproduce
- Expected Behavior: What should happen
- Actual Behavior: What actually happens
- Environment: OS, Node.js version, etc.
- Screenshots/Logs: If applicable
We welcome feature suggestions! Please:
- Check existing feature requests
- Describe the problem your feature would solve
- Propose a solution if you have one
- Fork the repository and create your branch from
main - Install dependencies:
npm install - Make your changes following our coding standards
- Add tests for new functionality
- Run tests:
npm test - Run linting:
npm run lint - Run type checking:
npm run typecheck - Commit your changes with a clear commit message
- Push to your fork and submit a pull request
We follow Conventional Commits:
<type>(<scope>): <description>
[optional body]
[optional footer]
Types:
feat: New featurefix: Bug fixdocs: Documentation onlystyle: Code style (formatting, etc.)refactor: Code change that neither fixes a bug nor adds a featureperf: Performance improvementtest: Adding or updating testschore: Build process or auxiliary tool changes
Examples:
feat(analysis): add support for GitLab repositories
fix(parser): handle edge case with empty directories
docs(readme): update installation instructions
- Node.js 20+
- npm 9+
- Docker (for running tests)
# Clone your fork
git clone https://github.com/YOUR_USERNAME/{{REPO_NAME}}.git
cd {{REPO_NAME}}
# Install dependencies
npm install
# Start development server
npm run dev
# Run tests
npm test
# Type checking
npm run typecheck
# Linting
npm run lint- Unit tests:
npm test - Integration tests:
npm run test:integration - Coverage report:
npm run test:coverage
All PRs must pass:
- All existing tests
- New tests for new functionality
- TypeScript type checking
- ESLint rules
- Use strict TypeScript configuration
- Avoid
anytype - use proper typing - Use interfaces for object shapes
- Use enums for fixed sets of values
- Document public APIs with JSDoc comments
- Use 2-space indentation
- Use single quotes for strings
- Use semicolons
- Maximum line length: 100 characters
- Use meaningful variable and function names
src/
├── types/ # TypeScript interfaces and types
├── services/ # Business logic
├── routes/ # API routes
├── middleware/ # Express middleware
├── utils/ # Utility functions
└── index.ts # Entry point
- Update README.md for user-facing changes
- Update API documentation for endpoint changes
- Add JSDoc comments for public functions
- Include examples where helpful
Releases are managed by the maintainers:
- Version bump following Semantic Versioning
- Update CHANGELOG.md
- Create release tag
- Publish to Nexus Marketplace
- Discord: Adverant Community
- Email: support@adverant.ai
- Discussions: Use GitHub Discussions for questions
Contributors are recognized in our:
- README.md Contributors section
- CHANGELOG.md release notes
- Nexus Marketplace plugin page
Thank you for contributing!