vibe-seo
Version:
AI-friendly SEO generator for modern web frameworks
210 lines (158 loc) ⢠5.37 kB
Markdown
# Contributing to vibe-seo
Thank you for considering contributing to vibe-seo! We welcome contributions from the community and are excited to see what you'll build.
## š Getting Started
### Development Setup
1. **Fork the repository** on GitHub
2. **Clone your fork** locally:
```bash
git clone https://github.com/YOUR_USERNAME/vibe-seo.git
cd vibe-seo
```
3. **Install dependencies**:
```bash
npm install
```
4. **Link for local development**:
```bash
npm link
```
5. **Test the installation**:
```bash
vibe-seo-init --help
vibe-seo-gen --help
```
### Project Structure
```
vibe-seo/
āāā bin/ # CLI executables
ā āāā vibe-seo-init.js # Initialization command
ā āāā vibe-seo-gen.js # Generation command
āāā lib/ # Core library
ā āāā index.js # Main exports
ā āāā config.js # Configuration management
ā āāā utils.js # Utility functions
ā āāā generators/ # File generators
āāā templates/ # Template files
āāā docs/ # Documentation
āāā __tests__/ # Test files
```
## š Reporting Issues
When reporting issues, please include:
1. **Environment Information**:
- Node.js version
- npm version
- Operating system
- Framework being used (Next.js, React, etc.)
2. **Steps to Reproduce**:
- Clear, step-by-step instructions
- Expected vs actual behavior
- Any relevant configuration files
3. **Context**:
- What you were trying to achieve
- Any error messages or logs
- Screenshots if applicable
## š” Feature Requests
We love feature requests! Please:
1. **Check existing issues** to avoid duplicates
2. **Describe the use case** clearly
3. **Explain the benefits** to other users
4. **Consider implementation complexity**
## š§ Development Guidelines
### Code Style
- Use **ES6+ features** where appropriate
- Follow **consistent naming conventions**
- Add **JSDoc comments** for functions
- Keep functions **small and focused**
- Use **async/await** for asynchronous operations
### Framework Support
When adding support for new frameworks:
1. **Add detection logic** in `lib/utils.js`
2. **Implement page scanning** for the framework
3. **Add configuration defaults** in `lib/config.js`
4. **Update documentation** and examples
5. **Add tests** for the new functionality
### Testing
- Write tests for new features
- Ensure existing tests pass
- Test with multiple frameworks
- Test CLI commands end-to-end
### Documentation
- Update README.md for new features
- Add JSDoc comments for new functions
- Include examples in documentation
- Update CLI help text if needed
## š Pull Request Process
1. **Create a feature branch**:
```bash
git checkout -b feature/your-feature-name
```
2. **Make your changes**:
- Follow the development guidelines
- Add tests for new functionality
- Update documentation as needed
3. **Test your changes**:
```bash
npm test
npm run lint
```
4. **Commit your changes**:
```bash
git add .
git commit -m "feat: add your feature description"
```
5. **Push to your fork**:
```bash
git push origin feature/your-feature-name
```
6. **Create a pull request**:
- Use a descriptive title
- Explain what changes you made
- Reference any related issues
- Include screenshots if applicable
### Commit Message Convention
We use conventional commits:
- `feat:` - New features
- `fix:` - Bug fixes
- `docs:` - Documentation changes
- `style:` - Code style changes
- `refactor:` - Code refactoring
- `test:` - Adding or updating tests
- `chore:` - Maintenance tasks
## šÆ Priority Areas
We're especially looking for contributions in these areas:
### Framework Support
- **Nuxt.js** - Vue-based framework support
- **Gatsby** - Static site generator
- **Svelte/SvelteKit** - Svelte framework support
- **Astro** - Modern static site generator
### AI Crawler Support
- **New AI bots** - Support for emerging AI crawlers
- **Bot-specific optimizations** - Custom rules per bot
- **AI-friendly features** - Better content discovery
### Advanced Features
- **Image optimization** - Automatic image sitemap generation
- **Multilingual support** - International SEO features
- **Performance optimization** - Faster page scanning
- **Custom templates** - User-defined template system
### Developer Experience
- **Better error messages** - More helpful debugging
- **Configuration validation** - Better config file validation
- **IDE support** - Schema definitions for YAML config
- **Debugging tools** - Better CLI debugging options
## š¤ Community
- Join discussions in GitHub Issues
- Ask questions in GitHub Discussions
- Share your use cases and feedback
- Help others in the community
## š Release Process
Releases are handled by maintainers:
1. Version bumping follows [SemVer](https://semver.org/)
2. Changelog is automatically generated
3. npm packages are published automatically
4. GitHub releases include detailed notes
## ā Questions?
If you have questions about contributing:
- Open a GitHub Discussion
- Create an issue with the `question` label
- Check existing documentation and issues
Thank you for contributing to vibe-seo! š