Skip to content

set up starlight docs#19

Draft
henchaves wants to merge 109 commits intofeature/giskard-v3from
chore/starlight-docs
Draft

set up starlight docs#19
henchaves wants to merge 109 commits intofeature/giskard-v3from
chore/starlight-docs

Conversation

@henchaves
Copy link
Member

No description provided.

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @henchaves, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces a completely new documentation system built with Starlight, significantly enhancing the project's ability to present information clearly and effectively. The changes involve migrating to a modern static site generator, establishing a robust structure for technical content, and providing in-depth guides for key features like Giskard Checks. This initiative aims to improve discoverability and comprehension for users exploring Giskard's capabilities.

Highlights

  • New Documentation System: A new documentation site has been set up using the Starlight framework, providing a modern and structured platform for Giskard's documentation.
  • Comprehensive Giskard Checks Documentation: Extensive new documentation has been added for Giskard Checks, covering API references, core concepts, installation, and detailed tutorials for RAG evaluation, agent testing, and chatbot testing.
  • Custom Branding and Navigation: The Starlight configuration includes custom branding with Giskard logos, social links, and a custom header component for improved navigation and user experience.
  • Automated Sidebar Generation: The documentation leverages starlight-auto-sidebar to automatically generate sidebar navigation, simplifying content organization and maintenance.
  • Styling and Theming: Custom CSS and Tailwind CSS configurations have been added to match Giskard's branding, including light and dark mode color schemes and custom font faces.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • .gitignore
    • Removed the old 'docs' directory from version control exclusion.
  • docs-new/.gitignore
    • Added new Git ignore rules specific to the Starlight documentation project.
  • docs-new/README.md
    • Added a starter kit README for the new Starlight documentation project.
  • docs-new/astro.config.mjs
    • Configured Astro and Starlight with site metadata, integrations (React, Tailwind), custom CSS, social links, and auto-sidebar generation.
  • docs-new/package.json
    • Added necessary dependencies for Astro, Starlight, React, Tailwind, and starlight-auto-sidebar.
  • docs-new/src/components/Header.astro
    • Created a custom Astro component for the documentation header, including navigation links.
  • docs-new/src/content.config.ts
    • Configured Astro content collections for both general documentation and auto-sidebar functionality.
  • docs-new/src/content/docs/index.mdx
    • Added a welcome page providing an overview of Giskard Hub, Open-Source, and Research offerings.
  • docs-new/src/content/docs/oss/checks/api-reference/_meta.yaml
    • Added metadata to define the API Reference section within the sidebar.
  • docs-new/src/content/docs/oss/checks/api-reference/builtin-checks.md
    • Documented built-in Giskard Checks, covering function-based, string matching, comparison, and LLM-based checks.
  • docs-new/src/content/docs/oss/checks/api-reference/core.md
    • Documented core types and base classes essential for building Giskard Checks.
  • docs-new/src/content/docs/oss/checks/api-reference/index.md
    • Provided an overview and quick reference for the Giskard Checks API documentation.
  • docs-new/src/content/docs/oss/checks/api-reference/scenarios.md
    • Documented multi-step workflow testing using scenarios and test cases.
  • docs-new/src/content/docs/oss/checks/api-reference/testing.md
    • Documented testing utilities, including WithSpy, debugging helpers, and performance tracking.
  • docs-new/src/content/docs/oss/checks/index.mdx
    • Added an introduction to Giskard Checks, outlining its key features and various use cases.
  • docs-new/src/content/docs/oss/checks/installation.md
    • Provided instructions for installing and configuring Giskard Checks.
  • docs-new/src/content/docs/oss/checks/testing/_meta.yml
    • Added metadata for the 'Testing AI Agents' section in the sidebar.
  • docs-new/src/content/docs/oss/checks/testing/core-concepts.md
    • Documented the fundamental concepts underlying Giskard Checks.
  • docs-new/src/content/docs/oss/checks/testing/custom-checks.md
    • Provided a guide on how to create custom checks for specific validation needs.
  • docs-new/src/content/docs/oss/checks/testing/multi-turn.md
    • Documented multi-turn scenario testing for conversational AI systems.
  • docs-new/src/content/docs/oss/checks/testing/quickstart.md
    • Added a quickstart guide to help users create their first Giskard Checks scenario.
  • docs-new/src/content/docs/oss/checks/testing/single-turn.md
    • Documented single-turn evaluation patterns for AI systems.
  • docs-new/src/content/docs/oss/checks/tutorials/_meta.yaml
    • Added metadata to define the Tutorials section in the sidebar.
  • docs-new/src/content/docs/oss/checks/tutorials/chatbot-testing.md
    • Added a tutorial demonstrating how to test chatbots.
  • docs-new/src/content/docs/oss/checks/tutorials/index.md
    • Provided an overview of all available tutorials for Giskard Checks.
  • docs-new/src/content/docs/oss/checks/tutorials/rag-evaluation.md
    • Added a tutorial on evaluating Retrieval-Augmented Generation (RAG) systems.
  • docs-new/src/content/docs/oss/checks/tutorials/testing-agents.md
    • Added a tutorial on testing AI agents and their workflows.
  • docs-new/src/styles/custom.css
    • Added custom CSS for font faces and Starlight variable overrides to align with Giskard's branding.
  • docs-new/tailwind.config.mjs
    • Configured Tailwind CSS with custom color palettes and font families.
  • docs-new/tsconfig.json
    • Added TypeScript configuration for the new documentation project.
Activity
  • The pull request was initiated by henchaves with the goal of setting up Starlight documentation.
  • A new docs-new directory was created, containing the entire Starlight project structure and content.
  • Numerous new Markdown and Astro files were added to populate the documentation with detailed information about Giskard Checks.
  • Configuration files for Astro, Starlight, and Tailwind CSS were introduced to customize the documentation site.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a new documentation site using Starlight, which is a great initiative. The overall structure is well-organized. However, I've identified several critical issues that need attention. The dependency versions in package.json appear to be for future, unreleased packages, which will prevent the project from building. Additionally, there are widespread markdown syntax errors, such as incorrect admonition formatting, that will break content rendering. I've also noted some smaller issues with CSS syntax, broken links, and opportunities for improving consistency. My detailed comments below provide specific suggestions to resolve these issues.

Comment on lines +13 to +21
"@astrojs/react": "^4.4.2",
"@astrojs/starlight": "^0.37.6",
"@astrojs/tailwind": "^6.0.2",
"astro": "^5.6.1",
"react": "^19.2.4",
"react-dom": "^19.2.4",
"sharp": "^0.34.2",
"starlight-auto-sidebar": "^0.1.4",
"tailwindcss": "^3.4.19"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

critical

The versions for several dependencies (astro, @astrojs/starlight, @astrojs/react, react, react-dom, tailwindcss) appear to point to future, unreleased versions. For instance, astro is listed as ^5.6.1, but the latest stable version is in the 4.x range. This will likely cause npm install to fail. Please update these dependencies to their correct, currently available versions.

)
```

SemanticSimilarity \~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~~
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

This line appears to be a malformed heading. The tildes (~) will not be rendered as a heading. To fix this, it should be formatted as a level 2 Markdown heading.

Suggested change
SemanticSimilarity \~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~~
## SemanticSimilarity

],
social: [
{ label: 'GitHub', href: 'https://github.com/Giskard-AI/giskard', icon: 'github' },
{ label: 'Discord', href: 'https://discord.gg/fUfP5S3m', icon: 'discord' },
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The Discord invite link https://discord.gg/fUfP5S3m might be a temporary one that could expire. For long-term stability, it's better to use a permanent vanity URL if one is available (e.g., discord.gg/giskardai). Please consider updating this to a permanent link.

Comment on lines +14 to +16
<a href="https://docs.giskard.ai/" class="nav-link">Overview</a>
<a href="https://docs.giskard.ai/hub/ui" class="nav-link">Hub UI</a>
<a href="https://docs.giskard.ai/hub/sdk" class="nav-link">Hub SDK</a>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The navigation links for "Overview", "Hub UI", and "Hub SDK" use absolute URLs pointing to https://docs.giskard.ai. If the intention is to link to pages within this new Starlight site, it's better to use root-relative paths (e.g., /, /hub/ui/, /hub/sdk/). This ensures that the links work correctly in all environments, including local development. If these links are intentionally pointing to an existing, separate site, you can disregard this comment.

        <a href="/" class="nav-link">Overview</a>
        <a href="/hub/ui/" class="nav-link">Hub UI</a>
        <a href="/hub/sdk/" class="nav-link">Hub SDK</a>

Comment on lines +80 to +86
- [Phare arXiv paper](https://arxiv.org/abs/2505.11365)
</Card>
<Card title="RealHarm" icon="document">
RealHarm is a dataset of problematic interactions with textual AI agents built from a systematic review of publicly reported incidents.

- [RealHarm website](https://realharm.giskard.ai/)
- [RealHarm arXiv paper](https://arxiv.org/abs/2504.10277)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The arXiv links for Phare and RealHarm appear to have typos in their identifiers, pointing to papers from 2025 (e.g., 2505.11365). If these papers are from 2024, the identifiers should likely start with 24.... Please verify and correct these links.

Comment on lines +207 to +212
> [!NOTE]
> **Internal Implementation Detail**: `TestCase` is an internal
> implementation detail. Users should always use `scenario()` to create
> scenarios, which internally uses TestCase. The `scenario()` function
> creates a Scenario (a list of steps) and is the primary user-facing
> API.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

This file uses GitHub-flavored markdown for notes (> [!NOTE]). For consistency and to leverage Starlight's styling, you should use Starlight's admonition syntax (:::note).

This pattern is also present in:

  • docs-new/src/content/docs/oss/checks/api-reference/scenarios.md (line 81)
  • docs-new/src/content/docs/oss/checks/testing/core-concepts.md (line 140)
Suggested change
> [!NOTE]
> **Internal Implementation Detail**: `TestCase` is an internal
> implementation detail. Users should always use `scenario()` to create
> scenarios, which internally uses TestCase. The `scenario()` function
> creates a Scenario (a list of steps) and is the primary user-facing
> API.
:::note
**Internal Implementation Detail**: `TestCase` is an internal
implementation detail. Users should always use `scenario()` to create
scenarios, which internally uses TestCase. The `scenario()` function
creates a Scenario (a list of steps) and is the primary user-facing
API.
:::


## Next Steps

Head to the [Quickstart](/oss/checks/ai-testing/quickstart) to write your first test!
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

This link to the Quickstart guide appears to be broken. The path contains ai-testing, but the directory is named testing. Please correct the path to ensure the link works.

Suggested change
Head to the [Quickstart](/oss/checks/ai-testing/quickstart) to write your first test!
Head to the [Quickstart](/oss/checks/testing/quickstart/) to write your first test!

Comment on lines +538 to +540
- Apply custom checks in `../tutorials/index`
- Review `single-turn` and `multi-turn` for usage patterns
- See the `core-concepts` for architecture details
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The links in the "Next Steps" section use relative paths (e.g., ../tutorials/index). While functional, using root-relative paths (e.g., /oss/checks/tutorials/) is more robust against future file restructuring. Consider standardizing on root-relative paths for all internal documentation links for better maintainability.

Suggested change
- Apply custom checks in `../tutorials/index`
- Review `single-turn` and `multi-turn` for usage patterns
- See the `core-concepts` for architecture details
- Apply custom checks in `../tutorials/`
- Review `single-turn` and `multi-turn` for usage patterns
- See the `core-concepts` for architecture details

h4,
h5,
h6 {
font-family: 'Osmose', system-ui, -apple-system, sans-serif !important;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Using !important to force the font family can make the CSS harder to maintain and debug. Starlight's customCss feature should load this file with enough specificity to override default styles. Please consider removing !important and verifying that the custom font is still applied correctly.

Suggested change
font-family: 'Osmose', system-ui, -apple-system, sans-serif !important;
font-family: 'Osmose', system-ui, -apple-system, sans-serif;

@cloudflare-workers-and-pages
Copy link

cloudflare-workers-and-pages bot commented Feb 12, 2026

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
✅ Deployment successful!
View logs
giskard-docs a4f489e Mar 19 2026, 05:34 AM

henchaves and others added 30 commits March 18, 2026 10:27
…`file` to `data`

- Revised the parameter name from `file` to `data` in the migration, agents-and-knowledge-bases, and datasets-and-checks guides for consistency and clarity.
- Updated examples to align with the new parameter naming convention.
Co-authored-by: Kevin Messiaen <114553769+kevinmessiaen@users.noreply.github.com>
Co-authored-by: Kevin Messiaen <114553769+kevinmessiaen@users.noreply.github.com>
- Added new tutorials for RAG evaluation, testing agents, chatbot testing, and content moderation to enhance practical examples.
- Updated the API reference structure by removing the toctree and improving the overview section for better clarity.
- Streamlined the documentation layout to improve navigation and user experience across tutorials and API references.
- Added a new function `cellOutputText` to extract and format cell output text from Jupyter notebooks, improving the conversion process.
- Updated the `convertNotebook` function to handle frontmatter extraction more robustly by scanning for the first raw cell starting with "---".
- Revised multiple documentation files to improve clarity, including renaming titles and labels for better consistency.
- Enhanced examples and explanations across various sections to ensure better user understanding and navigation.
- Added generated notebook files to .gitignore to prevent accidental commits.
- Updated the dev script in package.json to include a notebook conversion step before starting the development server.
- Introduced a new Jupyter notebook for the quickstart guide, replacing the previous markdown file to enhance user experience and provide interactive content.
- Removed outdated markdown files related to quickstart and batch evaluation to streamline documentation.
…spying

- Enhanced the `simulate-users` notebook with updated execution metadata and improved user prompts for clarity.
- Revised the `spy-on-calls` notebook to better explain the `WithSpy` functionality, including clearer scenarios and code examples.
- Updated execution timestamps and outputs across multiple cells to reflect recent runs, ensuring accuracy in documentation.
- Improved markdown sections for better readability and understanding of the user simulation and spying processes.
- Changed the `proseWrap` setting in `.prettierrc.json` from "always" to "preserve" for better formatting control.
- Streamlined the welcome section in `index.mdx` by consolidating bullet points into single lines for improved readability.
- Removed outdated `concepts.md`, `index.mdx`, `migration.md`, `quickstart.md`, `reference.md`, `release-notes.md`, and several guides to declutter the documentation and focus on essential content.
- Enhanced the overall structure and clarity of the documentation to facilitate easier navigation and understanding for users.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Updated the index, migration, quickstart, and reference guides to reflect changes in parameter names and structures.
- Added detailed examples for API key retrieval and improved descriptions for evaluation and scan metrics.
- Clarified the request and response formats for agent interactions and enhanced the metadata handling in test cases.
- Revised the guides to ensure consistent terminology and improved usability across the documentation.
…guide

- Introduced new components: MethodCard, Property, ResourceSection, and TypeTable for better organization and presentation of API documentation.
- Replaced the old reference markdown file with a new MDX file that utilizes the new components for improved clarity and interactivity.
- Enhanced the API reference to include detailed descriptions, parameters, and examples for various resources and methods in the Giskard Hub Python SDK.
…mmand

Cloudflare Pages dashboard may default to `astro build` (Astro preset),
which skips the notebook-to-markdown conversion step. This config ensures
`npm run build` is used, which runs convert-notebooks.mjs before astro build.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ved readability

- Removed the 'name' prop from ResourceSection, streamlining its usage in the documentation.
- Updated TypeTable to use a button for toggling visibility, enhancing accessibility and user interaction.
- Adjusted styles for better alignment and consistency across components.
- Added a comprehensive feature mapping table detailing renamed APIs, parameters, and patterns between v2.x and v3.x.
- Included a section on new features in v3.x that have no v2.x equivalent, highlighting additive resources.
- Updated breaking changes section to reflect environment variable renaming and other significant modifications for migration.
…e, project, scenario, and scan methods

- Refined method descriptions for CRUD operations across various resources, including clearer parameter definitions.
- Separated combined method cards into individual entries for better clarity and usability.
- Enhanced documentation to provide detailed information on required properties for each method.
- Updated the release notes to reflect the official v3.0.0 release, transitioning from the beta version.
- Introduced new features including `AsyncHubClient`, enhanced Playground Chats, and improved Audit Logs.
- Clarified the support for CRUD operations across most resources.
- Removed the known limitations section that was relevant to the beta phase.
- Changed the title from "Audit Log" to "Audit Logs" to align with terminology used throughout the documentation.
- Changed the title from "API Reference" to "Reference" to enhance consistency and clarity in the documentation.
- Removed execution counts and metadata from code cells to streamline the notebook format.
- Enhanced the introduction to clarify the purpose of scenarios and suites.
- Expanded the tutorial to include four distinct scenarios for a customer-support chatbot, improving the instructional content.
- Updated code examples for better readability and functionality, ensuring a more cohesive learning experience.
Align the API docs with the real `Scenario` fluent interface: there is no `.build()` method.

Made-with: Cursor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants