Want to help grow and improve Kelp? Awesome! ❤️
- Code of Conduct
- v0 Beta
- Roadmap & Issues
- Code Standards
- Pull Request Process
- Writing Tests
- Templates
- Contributor License Agreement
This project and everyone participating in it are governed by the Code of Conduct. By participating, you are expected to uphold this code.
Right now, Kelp is beta and I'm still defining the shape of it.
The best way you can help is by testing it, breaking things, and opening issues when you encounter bugs. If you have feature requests, please open an issue for those, too!
Project management happens in GitHub issues, and relies heavily on tags.
Here are some quick links to filter by category...
- Roadmap features
- Roadmap features in active development
- Backlog features
- Bugs and issues
- Dev ops improvements
- Documentation improvements
The biggest things to keep in mind...
- Tabs, not spaces
- Document as needed
- Keep files small and modular
The rest you can probably pick up from looking at the existing code base or running npm run lint to run Biome, the linter and code formatter for this project.
It will yell at you if you did something wrong, and offer suggestions on how to fix it.
Before creating a PR, it's a good idea to...
- Comment on an existing issue asking if help is need and verify work isn't already in progress, or
- Create an issue and get feedback.
You don't have to do either of these things, but it can prevent wasted or duplicated work.
Optional nice-to-haves..
- Written documentation on what was changed, why, and how it works
- In-code documentation (wherever needed)
- Tests for new components/features
- Linting to ensure style guidelines were followed
- Demo code
If you're missing any or all of these, no worries! I'll take care of it. But if you're able to do any of that work, it's immensely helpful.
Tests for interactive Kelp components can be found in the /tests directory, and use Playwright.
Because it's a UI library, Kelp tests use a real HTML file in addition to a test spec.
Please note that any Pull Requests must agree to the Kelp Contributor License Agreement below in order to be merged into the project.
This allows me to dual license PRs under the Kelp Commons and Kelp Pro/Enterprise licenses. I'm unable to accept PRs that don't agree to the contributor license.
Thanks!
I give Chris Ferdinandi and Go Make Things, LLC permission to license my contributions on any terms they like. I am giving them this license in order to make it possible for them to accept my contributions into their project.
As far as the law allows, my contributions come as is, without any warranty or condition, and I will not be liable to anyone for any damages related to this software or this license, under any kind of legal claim.