| title | Contributing | ||
|---|---|---|---|
| sidebar |
|
Here you can find the guidelines for contributing to the extension. We welcome any kind of contributions either by opening issues or by submitting pull requests.
- Development:
- Node 24+ (with pnpm) - How to Install
- Python 3.12+ (with uv) - How to Install
- Releasing:
- Configured a pending trusted publisher on PyPI matching the extension name (slug)
- Created an access token on NPM, added to Github as a repository secret
NPM_TOKEN - In case you use it on GitHub, updated the publishing source in the settings to
Github Actions.
Note
If you not familiar with the Git workflow, we recommend reading of how to clone a repository and how to create a pull request.
Start by cloning the repository or its fork, installing the dependencies, configuring the extension, and starting the site:
git clone https://github.com/datisthq/extensiondp.git
cd extensiondp
pnpm install
pnpm configure
pnpm startpnpm install- Install dependenciespnpm configure- Configure extension metadata (slug, title, description, etc.)pnpm generate- Generate TypeScript and Python SDKs from schemaspnpm format- Format the project files to consistent stylepnpm start- Start the documentation site in development modepnpm test- Verify project integrity
The fiels you need to edit to update the extension:
- extension/profile.json - Edit the profile to model your data package
- extension/schemas/ - Edit the schemas to model your data tables
- extension/content/docs/index.mdx - Edit the homepage
- extension/content/docs/overview/ - Edit not generated documentation pages
The rest of the files are generic or generated and should not be edited directly unless you want a more granular control over the extension development.
If you modify the profile or schemas, you need to generate the SDKs and commit the changes:
pnpm generate
git commit -am "My changes"Note
It is also possbile to commit directly to the main branch using conventional commits, but we recommend using pull requests for this purpose.
After your pull request is ready to be merged, you can release a new version of the extension by merging the pull request into the main branch:
- Squash and merge the PR using conventional commits.
- In case you use it on GitHub, Github Actions will automatically create a new release, publish the extension to PyPI and NPM, and publish the documentation to GitHub Pages.