Thank you for your interest in contributing to the Solid Resources Catalog! This document provides guidelines and instructions for contributing to this project.
- Use the GitHub issue tracker to report bugs or suggest new features
- Before creating a new issue, please check if a similar issue already exists
- When reporting bugs, please include:
- A clear description of the problem
- Steps to reproduce the issue
- Expected behavior
- Actual behavior
- Any relevant error messages
- Fork the repository
- Create a new branch for your changes
- Make your changes
- Ensure your changes follow our commit message conventions (see below)
- Submit a pull request
This project follows the Conventional Commits specification. Commit messages should be structured as follows:
<type>(<scope>): <description>
[optional body]
[optional footer(s)]
Types include:
feat: A new featurefix: A bug fixdocs: Documentation changesstyle: Changes that do not affect the meaning of the coderefactor: A code change that neither fixes a bug nor adds a featureperf: A code change that improves performancetest: Adding missing tests or correcting existing testschore: Changes to the build process or auxiliary tools
This project uses Husky and commitlint to enforce commit message conventions. When you make a commit, the following checks will run automatically:
- Commit Message Validation: Your commit message will be checked against the Conventional Commits specification. If your message doesn't follow the format, the commit will be rejected with helpful error messages.
- RDF Validation: The test script will run to ensure all RDF files are valid.
To bypass these checks in exceptional cases (not recommended), you can use the --no-verify flag with your git commit command. However, please ensure your commit message follows the conventions even when bypassing the checks.
-
Clone the repository:
git clone https://github.com/solid/catalog.git cd catalog -
Install dependencies:
npm install
-
Build the project:
npm run build
-
Run tests:
npm test
When contributing RDF data:
- Follow the SHACL shapes defined in
catalog-shacl.shce - Use the SKOS concepts defined in
catalog-skos.ttl - Ensure all data is valid RDF/Turtle
- Test your changes using the provided test script:
npm test
- Update the README.md with details of changes if needed
- Ensure all tests pass
- The PR will be merged once you have the sign-off of at least one maintainer
For questions about the public Solid Resources Catalog on solidproject.org
- Join the Solid Practitioners matrix chat
For questions and discussions about the catalog in general:
- Join the Solid Catalog matrix chat
- Participate in the GitHub Discussions
By contributing to this project, you agree that your contributions will be licensed under the project's MIT License.