82 lines
2.1 KiB
Markdown
82 lines
2.1 KiB
Markdown
# Contributing to Skill Porter
|
|
|
|
Thank you for considering contributing to Skill Porter! This project aims to make cross-platform AI tool development easier for everyone.
|
|
|
|
## How to Contribute
|
|
|
|
### Reporting Issues
|
|
|
|
- Use the GitHub issue tracker
|
|
- Describe the issue clearly with examples
|
|
- Include version information and platform details
|
|
- Provide sample code or skills/extensions that reproduce the issue
|
|
|
|
### Suggesting Features
|
|
|
|
- Open an issue with the "enhancement" label
|
|
- Describe the feature and its use case
|
|
- Explain how it would benefit the community
|
|
|
|
### Submitting Pull Requests
|
|
|
|
1. Fork the repository
|
|
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
|
|
3. Make your changes
|
|
4. Test thoroughly (both Claude and Gemini conversions)
|
|
5. Commit with clear messages (`git commit -m 'Add amazing feature'`)
|
|
6. Push to your fork (`git push origin feature/amazing-feature`)
|
|
7. Open a Pull Request
|
|
|
|
## Development Setup
|
|
|
|
```bash
|
|
# Clone your fork
|
|
git clone https://github.com/YOUR-USERNAME/skill-porter
|
|
cd skill-porter
|
|
|
|
# Install dependencies
|
|
npm install
|
|
|
|
# Run tests
|
|
npm test
|
|
|
|
# Test CLI locally
|
|
node src/cli.js analyze ../path/to/skill
|
|
```
|
|
|
|
## Testing Guidelines
|
|
|
|
When adding features or fixing bugs:
|
|
|
|
1. Test with Claude skills conversion to Gemini
|
|
2. Test with Gemini extensions conversion to Claude
|
|
3. Test with universal skills/extensions
|
|
4. Verify validation passes for generated files
|
|
5. Check that MCP server configurations are preserved
|
|
|
|
## Code Style
|
|
|
|
- Use ES modules (import/export)
|
|
- Follow existing code structure
|
|
- Add JSDoc comments for public APIs
|
|
- Keep functions focused and single-purpose
|
|
- Use meaningful variable names
|
|
|
|
## Adding Platform Support
|
|
|
|
If you're adding support for a new platform or feature:
|
|
|
|
1. Update the detector in `src/analyzers/detector.js`
|
|
2. Add conversion logic in `src/converters/`
|
|
3. Update validation in `src/analyzers/validator.js`
|
|
4. Update documentation and README
|
|
5. Add examples to `examples/` directory
|
|
|
|
## Questions?
|
|
|
|
Open an issue or start a discussion. We're here to help!
|
|
|
|
## License
|
|
|
|
By contributing, you agree that your contributions will be licensed under the MIT License.
|