Thank you for your interest in contributing to Awesome Windsurf! We welcome all contributions, big or small:
- Found a typo? Please fix it!
- Have an idea for improvement? Open an issue!
- Want to add your prompts? We'd love to see them!
- Something unclear? Help us improve the docs!
Every contribution makes Windsurf better for everyone. Don't hesitate to:
- Open issues for questions or suggestions
- Submit pull requests for any improvements
- Start discussions on Discord or GitHub Discussions
- Ensure your contribution adds value to the Windsurf community
- Follow the existing style and format of the repository
- Keep descriptions clear and concise
- Test any code or commands before submitting
- Follow our testing guidelines for quality assurance
-
Fork the repository to your GitHub account
-
Clone your fork locally:
git clone https://github.com/YOUR_USERNAME/awesome-windsurf.git cd awesome-windsurf
-
Install dependencies and set up Git hooks:
npm install
This will install all required dependencies and set up Git hooks through Husky automatically.
-
Create a new branch for your changes:
git checkout -b your-branch-name
-
Make your changes and commit them using conventional commits:
git add . git commit -m "type: description"
Example commit messages:
git commit -m "add: add link to windsurf docs"
git commit -m "update: improve clarity of installation steps"
git commit -m "remove: remove old documentation"
git commit -m "fix: correct typos in README"
git commit -m "meta: update commitlint configuration"
git commit -m "release: added significant new section X"
-
Push to your fork:
git push origin your-branch-name
-
Open a Pull Request from your fork to our main branch
-
PR Content:
- Write a clear title and description explaining your changes
- Link to any related issues
-
Markdown Quality: All markdown files must pass the markdownlint checks
- This is automatically checked by GitHub Actions
- It's also enforced by the pre-commit hook
- You can run checks manually using
npx markdownlint-cli2 "**/*.md"
-
Release Notes: Changes are automatically tracked
- Release notes are generated automatically by GitHub
- You don't need to manually maintain any changelog
- Changes are categorized automatically based on commit types and PR content
Our releases are managed through GitHub's native release system. PRs can only be merged to main
through our merge queue when they are ready for release. This is enforced by requiring either:
- The
version-bump
label (added automatically for significant changes), or - A commit message starting with
release:
Note: All version management and releases are handled entirely by GitHub Actions. This ensures consistency across all contributors.
For detailed information about contributing prompts, including:
- Directory structure
- Standard files and naming
- Documentation requirements
Please see memories/README.md.
We use husky to manage our Git hooks. These hooks ensure code quality and consistency:
- Validates commit message format
- Ensures messages follow pattern:
type: description
- Valid types:
add
,update
,remove
,fix
,meta
,release
- Runs linting checks via lint-staged
- Ensures code style consistency
- Validates markdown files
Note: All version management, changelog updates, and releases are handled entirely by GitHub Actions through our auto-release workflow, not local hooks. This ensures consistency across all contributors.
If you have questions or need help with your contribution:
- Check existing issues and pull requests
- Join the Discord community at the top of README.md
- Open a new issue for discussion
- Be respectful and inclusive
- Focus on constructive feedback
- Help others learn and grow
- Follow the project's code style and guidelines
Thank you for contributing to making Windsurf better for everyone!