Contributing

Updated May 9, 2026

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.

Prerequisites

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

Development

Getting Started

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

git clone https://github.com/fairspec/fairspec-cardealer.git
cd fairspec-cardealer
pnpm install
pnpm configure
pnpm start

Managing the Project

  • 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

Working on the Extension

The fiels you need to edit to update the extension:

  • docs/profiles/ - Edit the profile to model your dataset
  • docs/schemas/ - Edit the schemas to model your data tables
  • .livemark/routes/index.tsx - Edit the homepage
  • 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.

Generating SDKs

If you modify the profile or schemas, you need to generate the SDKs and commit the changes:

pnpm generate
git commit -am "My changes"

Releasing

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.

Created with and Livemark