Skip to content
GitHubDiscord

Contribute to Giskard

Everyone is welcome to contribute — whether you fix bugs, improve docs, propose features, or help others in the community. The canonical contribution process for the main library is documented in the giskard-oss repository; this page summarizes how to get started and where to find help.

Before contributing, make sure you have:

  • Git installed
  • Python 3.12+
  • uv — the project’s package manager and workspace tool
  • make — used for all dev commands (on Windows, use WSL or an equivalent)

Read How to contribute to Giskard ↗ in the giskard-oss repository. It covers:

  • Reporting bugs and requesting features (search existing issues first)
  • Code style and quality: uv workspace, Python 3.12+, Ruff, basedpyright, pre-commit
  • Contributing checks and scenarios, and where to look in the repo

Also please review and follow the Code of Conduct ↗.

Make targets (formatting, lint, and checks)

Section titled “Make targets (formatting, lint, and checks)”

From the root of giskard-oss, these are the usual commands (details and any updates live in CONTRIBUTING.md ↗):

CommandWhat it does
make setupRuns uv sync, installs dev CLI tools, and enables pre-commit hooks so formatting and checks run before you push
make formatRuff format plus safe auto-fixes (ruff check --fix) — use this to normalize code you touched
make lintRuff check only (no file writes) — quick feedback without changing files
make checkFull local gate: lint, format check, Python 3.12 compatibility (vermin), basedpyright types, security, and license checks — run before opening a PR
make testpytest for packages under libs/

Run make help in the repo for other targets (for example scoped tests with PACKAGE=giskard-checks).

  1. Fork giskard-oss ↗ on GitHub
  2. Clone your fork and enter the directory:
    Terminal window
    git clone https://github.com/<your-username>/giskard-oss.git
    cd giskard-oss
  3. Set up the dev environment: make setup
  4. Create a feature branch: git checkout -b my-feature
  5. Make your changes, then run:
    Terminal window
    make format # auto-format your code
    make check # full lint + type + security gate
    make test # run the test suite
  6. Commit and push to your fork, then open a pull request against main

CI will run the same checks. A maintainer will review your PR — most PRs receive a first review within a few days.

This docs site (giskard-docs ↗) is a separate Astro / Starlight project. To contribute:

  1. Fork and clone giskard-docs
  2. Install dependencies: npm install
  3. Preview locally: npm run dev
  4. Edit pages under src/content/docs/ and open a PR

If you find Giskard useful, please consider starring these projects to improve their discoverability:

With the GitHub CLI ↗ installed, you can star them all from the terminal:

Terminal window
for repo in giskard-oss giskard-agents giskard-hub-python giskard-docs flare realharm phare; do
gh api -X PUT "user/starred/Giskard-AI/$repo" --silent
done

Questions, discussion, or just want to say hi? Join us on Discord ↗.