UNPKG

vibe-seo

Version:

AI-friendly SEO generator for modern web frameworks

210 lines (158 loc) • 5.37 kB
# 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! šŸŽ‰