Skip to content

Contributing

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:
  • 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.

Start by cloning the repository or its fork, installing the dependencies, configuring the extension, and starting the site:

Terminal window
git clone https://github.com/datisthq/extensiondp.git
cd extensiondp
pnpm install
pnpm configure
pnpm start
  • pnpm install - Install dependencies
  • pnpm configure - Configure extension metadata (slug, title, description, etc.)
  • pnpm generate - Generate TypeScript and Python SDKs from schemas
  • pnpm format - Format the project files to consistent style
  • pnpm start - Start the documentation site in development mode
  • pnpm 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:

Terminal window
pnpm generate
git commit -am "My changes"

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:

  1. Squash and merge the PR using conventional commits.
  2. 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.