Thanks for considering contributing to fray!
git clone https://github.com/adamavenir/fray.git
cd fray
go test ./...
go build ./cmd/fraygo test ./... # Run test suite
go build ./cmd/fray # Build the projectTest your changes locally:
go install ./cmd/fray # Install locally for testing
fray init # Test the CLI- TypeScript strict mode enabled
- Keep functions focused and small
- Add tests for new features
- Use existing patterns in the codebase
- Fork the repository
- Create a feature branch (
git checkout -b feature/your-feature) - Make your changes
- Add tests if applicable
- Ensure tests pass (
go test ./...) - Ensure build succeeds (
go build ./cmd/fray) - Commit your changes (
git commit -m 'Add some feature') - Push to your fork (
git push origin feature/your-feature) - Open a Pull Request
- Update
CHANGELOG.mdwith the new version and changes. - Keep
package.jsonversion in sync with the changelog. - Merge to
mainto trigger the release workflow. - The workflow tags
vX.Y.Z, runs GoReleaser, updates the Homebrew formula, and publishes the npm package via trusted publishing.
- Use clear, descriptive commit messages
- Start with a verb in present tense (Add, Fix, Update, etc.)
- Reference issues where applicable
Open an issue at https://github.com/adamavenir/fray/issues with:
- Clear description of the problem
- Steps to reproduce
- Expected vs actual behavior
- Your environment (OS, Node version)
Feature requests are welcome! Open an issue describing:
- The use case
- Why it would be valuable
- Any implementation ideas
Feel free to open an issue for questions or discussion.