Contributing to Flugins
Thank you for your interest in contributing to Flugins! This document provides guidelines for contributing to the project.
Code of Conduct
By participating in this project, you agree to maintain a respectful and inclusive environment for all contributors.
How to Contribute
There are many ways to contribute to Flugins:
- Report Bugs: Submit detailed bug reports
- Suggest Features: Propose new plugin ideas
- Submit Plugins: Create and share new plugins
- Improve Documentation: Enhance or clarify documentation
- Review Pull Requests: Help review code submissions
- Answer Questions: Help others in discussions
Getting Started
1. Fork the Repository
Click the "Fork" button on the GitHub repository to create your own copy.
2. Clone Your Fork
git clone https://github.com/YOUR-USERNAME/flugins.git
cd flugins3. Create a Branch
git checkout -b feature/your-feature-nameUse descriptive branch names:
feature/new-plugin-namefor new featuresfix/bug-descriptionfor bug fixesdocs/improvement-descriptionfor documentation
4. Make Your Changes
- Write clear, maintainable code
- Follow existing code style
- Add tests for new functionality
- Update documentation as needed
5. Test Your Changes
# Run tests
npm test
# Test locally
/plugin install ./plugins/your-plugin6. Commit Your Changes
Write clear, descriptive commit messages:
git add .
git commit -m "feat: add new plugin for task management"Follow Conventional Commits:
feat:for new featuresfix:for bug fixesdocs:for documentationtest:for testsrefactor:for code refactoring
7. Push to Your Fork
git push origin feature/your-feature-name8. Open a Pull Request
- Go to the original repository
- Click "New Pull Request"
- Select your fork and branch
- Fill out the PR template
- Submit for review
Pull Request Guidelines
Title
Use clear, descriptive titles:
- ✅ "Add weather plugin with API integration"
- ❌ "Update stuff"
Description
Include:
- What changes were made
- Why the changes are needed
- How to test the changes
- Any breaking changes
- Related issues (if applicable)
Checklist
Before submitting, ensure:
- [ ] Code follows project style guidelines
- [ ] Tests pass locally
- [ ] Documentation is updated
- [ ] Commit messages are clear
- [ ] No sensitive information is included
- [ ] Changes are backwards compatible (or documented)
Coding Standards
JavaScript/TypeScript
- Use ES6+ features
- Follow Airbnb JavaScript Style Guide
- Use meaningful variable names
- Add JSDoc comments for public APIs
File Organization
plugins/
└── plugin-name/
├── plugin.json
├── README.md
├── src/
│ └── main.js
└── tests/
└── main.test.jsDocumentation
- Use Markdown for documentation
- Include code examples
- Add screenshots when relevant
- Keep language clear and concise
Testing
Writing Tests
- Test core functionality
- Test error conditions
- Test edge cases
- Maintain high coverage
Running Tests
# Run all tests
npm test
# Run specific test
npm test -- plugin-name
# Run with coverage
npm test -- --coverageReporting Issues
When reporting bugs, include:
- Clear Title: Describe the issue briefly
- Description: Explain what happened
- Steps to Reproduce: Numbered steps to reproduce
- Expected Behavior: What should happen
- Actual Behavior: What actually happened
- Environment: OS, Claude Code version, etc.
- Screenshots: If applicable
- Additional Context: Any other relevant information
Issue Template
## Description
Brief description of the issue
## Steps to Reproduce
1. Step one
2. Step two
3. Step three
## Expected Behavior
What should happen
## Actual Behavior
What actually happened
## Environment
- OS: [e.g., macOS 13.0]
- Claude Code Version: [e.g., 1.0.0]
- Plugin Version: [e.g., 1.0.0]
## Additional Context
Any other relevant informationFeature Requests
When suggesting features:
- Use Case: Explain why it's needed
- Proposed Solution: Describe your idea
- Alternatives: Other solutions considered
- Additional Context: Screenshots, examples, etc.
Review Process
For Contributors
- Be patient during review
- Respond to feedback promptly
- Make requested changes
- Keep discussions professional
For Reviewers
- Be constructive and respectful
- Provide specific feedback
- Test the changes
- Approve when ready
Communication
Channels
- GitHub Issues: Bug reports, feature requests
- GitHub Discussions: Questions, ideas
- Pull Requests: Code review, implementation discussion
Response Times
We aim to:
- Acknowledge issues within 48 hours
- Review PRs within 1 week
- Release new versions monthly
Recognition
Contributors are recognized:
- In the project README
- In release notes
- Through GitHub contributor stats
License
By contributing, you agree that your contributions will be licensed under the MIT License.
Questions?
If you have questions about contributing:
- Check this guide
- Search existing issues
- Ask in GitHub Discussions
- Open a new issue
Thank you for contributing to Flugins! 🎉