Thank you for your interest in contributing to Vibespec! This project follows its own workflow, so contributions must follow the specs-first approach.
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/vibespec.git - Install Vibespec in the project:
./install.sh . - Create a feature branch:
git checkout -b feature/your-feature-name - Follow the Vibespec workflow for your contribution
All contributions must follow the Vibespec workflow:
Before any code changes, create specs for your contribution:
mkdir -p specs/your-featureCreate three files:
- Describe WHAT you're adding/changing
- Use EARS format for requirements
- Include acceptance criteria
- Explain HOW you'll implement it
- Include technical decisions
- Note any breaking changes
- Break down implementation steps
- Include time estimates
- Link tasks to requirements
- Create a draft PR with just the specs
- Label it with
specs-review - Wait for maintainer feedback
- Update specs based on feedback
After specs are approved:
- Implement following your tasks.md
- Update task checkboxes as you progress
- Run tests:
./test-workflow.sh - Update documentation if needed
- Create minimal specs in
specs/bugfix-issue-number/ - Include bug description and fix approach
- Link to the issue number
- Full specs required
- Consider backward compatibility
- Update examples if applicable
- Specs optional for minor updates
- Required for new guides or major changes
- Ensure consistency with existing docs
- Test thoroughly with
test-workflow.sh - Consider cross-platform compatibility
- Document any new patterns
Before submitting:
# Run the test suite
./test-workflow.sh
# Test installation in a clean directory
mkdir test-install && cd test-install
../install.sh .
# Verify hooks work
cd .. && rm -rf test-install-
Title: Use conventional commit format
feat: add custom workflow templatesfix: correct hook pattern matchingdocs: improve customization guide
-
Description: Include
- Link to specs (in the PR)
- Summary of changes
- Testing performed
- Breaking changes (if any)
-
Checklist:
- Specs created and approved
- All tests pass
- Documentation updated
- No breaking changes (or documented)
- Works on macOS/Linux
- Use shellcheck for linting
- Add error handling
- Include helpful error messages
- Comment complex logic
- Use proper headings hierarchy
- Include code examples
- Keep line length reasonable
- Use emoji sparingly and consistently
- Check existing issues
- Try latest version
- Run
test-workflow.sh - Verify installation is correct
**Environment:**
- OS: [e.g., macOS 14.0]
- Shell: [e.g., bash 5.2]
- Claude Code version: [if known]
**Description:**
Clear description of the issue
**Steps to Reproduce:**
1. Step one
2. Step two
3. ...
**Expected Behavior:**
What should happen
**Actual Behavior:**
What actually happens
**Logs/Output:**Any relevant output
- Welcome newcomers
- Be patient with questions
- Respect different opinions
- Work together on solutions
- Share knowledge
- Help others learn
- Stay on topic
- No harassment or discrimination
- Focus on what's best for the project
By contributing, you agree that your contributions will be licensed under the MIT License.
- Check the documentation
- Open a discussion (not an issue) for questions
- Review existing PRs for examples
Contributors will be:
- Listed in the README
- Credited in release notes
- Thanked in commit messages
Thank you for helping make Vibespec better! 🚀