Skip to content

Migrate docs#10

Merged
ericwindmill merged 2 commits intomainfrom
migrate-docs
Mar 11, 2026
Merged

Migrate docs#10
ericwindmill merged 2 commits intomainfrom
migrate-docs

Conversation

@ericwindmill
Copy link
Collaborator

Adds the docs site and updates relevant to the docs site

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello, 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 establishes a robust and centralized documentation system for the evals project. By integrating Sphinx for comprehensive guides and API references, and introducing an automated Dartdoc-to-Markdown generator, it significantly improves the discoverability and maintainability of project information. The changes aim to streamline the onboarding process for new users and contributors, making it easier to understand the framework's architecture, usage, and contribution guidelines.

Highlights

  • New Documentation Site: A comprehensive documentation site has been introduced, built using Sphinx, to centralize all project information.
  • Automated Dart API Documentation: A custom Dart tool (dartdoc_to_md) was added to automatically generate Sphinx-compatible Markdown from Dart source code comments, ensuring up-to-date API references.
  • Comprehensive Guides and References: New sections for user guides (Quick Start, Tutorial, Configuration), contributor guides, CLI usage, and detailed API references for both Python and Dart packages have been added.
  • Updated Project README: The main README.md file was significantly expanded to provide a high-level overview of the evals framework and direct users to the new documentation site.
  • Documentation Infrastructure: New Makefile, Sphinx configuration (conf.py), custom CSS, and Python requirements (requirements.txt) were added to support the documentation build process.
  • Firebase Hosting Configuration: Firebase hosting settings were added to deploy the generated documentation site.

🧠 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
  • README.md
    • Updated the project title from 'Flutter evals' to 'evals'.
    • Expanded the overview to detail the components of the evals framework.
    • Added a new 'Packages' section with a table linking to individual package documentation.
    • Introduced a 'Documentation' section with links to various guides and references on the new docs site.
    • Updated contributing and license sections to reflect the new documentation structure.
  • docs/Makefile
    • Added a Makefile to automate Sphinx and Dart API documentation generation, including targets for html, dartdoc, and livehtml.
  • docs/_static/custom.css
    • Added custom CSS rules to style the Sphinx documentation, including brand colors, link styles, list formatting, blockquotes, inline code, horizontal rules, strong/emphasis, definition lists, main content sizing, code blocks, tables, and signature/type annotation colors for both light and dark themes.
  • docs/conf.py
    • Added the Sphinx configuration file, setting up project information, extensions (autodoc, napoleon, viewcode, intersphinx, sphinx_autodoc_typehints, myst_parser, sphinx_design), HTML theme options (pydata_sphinx_theme, GitHub icon link, navbar alignment), sidebar configuration, static file paths, and source suffix handling.
  • docs/contributing/guide.md
    • Added a comprehensive contributing guide, detailing setup, how to write new evals (adding samples, editing config, verifying), and how to add functionality to the runner (tasks, solvers, scorers).
  • docs/contributing/index.md
    • Added an index page for contributor guides, linking to the main guide and individual package documentation.
  • docs/contributing/packages/dash_evals.md
    • Added documentation for the dash_evals Python package, including available tasks, architecture, data flow, usage examples, testing, and linting instructions.
  • docs/contributing/packages/dataset_config_dart.md
    • Added documentation for the dataset_config_dart Dart package, detailing its architecture, quick start, data models (config and Inspect AI models), source layout, and testing instructions.
  • docs/contributing/packages/devals_cli.md
    • Added documentation for the devals_cli Dart CLI tool, outlining its commands, usage, how devals run works, source layout, and testing instructions.
  • docs/contributing/packages/eval_explorer.md
    • Added documentation for the eval_explorer Dart/Flutter application, including sub-packages, prerequisites, running the server and Flutter app, and installing fixtures.
  • docs/contributing/repository_structure.md
    • Added a document describing the overall repository structure, detailing the purpose and contents of the dataset/, packages/, and tool/ directories.
  • docs/guides/config.md
    • Added a configuration guide explaining the layered YAML configuration system, dataset components, tasks, job files, and how evals run based on job files.
  • docs/guides/index.md
    • Added an index page for user guides, linking to quick start, tutorial, and configuration guides.
  • docs/guides/quick_start.md
    • Added a quick start guide for setting up the evals framework, including prerequisites, package installation, environment checks, Podman setup, API key configuration, dataset initialization, running the first eval, and viewing results.
  • docs/guides/tutorial.md
    • Added a tutorial for authoring evals, covering how to create task files with code-generation samples, set up workspaces and test files, write job files, run the job, and view results in the Inspect AI log viewer.
  • docs/index.md
    • Added the main index page for the documentation site, providing an overview and links to guides, reference, and contributor sections.
  • docs/reference/api/dash_evals/index.md
    • Added an index page for the dash_evals Python API reference.
  • docs/reference/api/dash_evals/main.md
    • Added API documentation for the dash_evals.main entry point.
  • docs/reference/api/dash_evals/overview.md
    • Added API documentation for the dash_evals package overview.
  • docs/reference/api/runner/index.md
    • Added an index page for the runner module API reference, detailing its two modes (JSON and direct args).
  • docs/reference/api/runner/runners.md
    • Added API documentation for the JSON and Args runners within the dash_evals.runner module.
  • docs/reference/api/runner/sandboxes.md
    • Added API documentation for sandbox environments, specifically the Podman Sandbox and Sandbox Provider.
  • docs/reference/api/runner/scorers.md
    • Added API documentation for various scorer implementations, including Code Quality, Dart Analyze, Flutter Code, Flutter Test, Flutter Output Parser, Flutter Scoring Utilities, MCP Tool Usage, Export Workspace, and Skill Usage scorers.
  • docs/reference/api/runner/solvers.md
    • Added API documentation for solver implementations, such as Add System Message, Context Injector, Extract Code, Inject Test Files, Setup Workspace, and Write to Sandbox.
  • docs/reference/api/runner/tasks.md
    • Added API documentation for task implementations, including Code Generation, Bug Fix, Question Answer, MCP Tool, Analyze Codebase, Skill Test, and Task Helpers.
  • docs/reference/api/utils/index.md
    • Added an index page for the utility functions API reference.
  • docs/reference/api/utils/logging.md
    • Added API documentation for logging utilities.
  • docs/reference/api/utils/markdown.md
    • Added API documentation for markdown processing and formatting utilities.
  • docs/reference/cli.md
    • Added detailed documentation for the devals CLI usage, including commands like init, doctor, create pipeline, create sample, create task, create job, run, and view.
  • docs/reference/configuration_reference.md
    • Added a comprehensive configuration reference, describing the eval/ directory structure, task files, sample files, job files, variants, context files, and CLI usage.
  • docs/reference/dart_api/dataset_config_dart/dataset_config_dart.md
    • Added auto-generated Dart API documentation for the dataset_config_dart package, detailing its classes, constructors, methods, and properties.
  • docs/reference/dart_api/devals_cli/devals_cli.md
    • Added auto-generated Dart API documentation for the devals_cli package, detailing its classes, constructors, methods, and properties.
  • docs/reference/dart_api/eval_explorer_server/eval_explorer_server.md
    • Added auto-generated Dart API documentation for the eval_explorer_server package, detailing its run function.
  • docs/reference/dart_api/eval_explorer_shared/eval_explorer_shared.md
    • Added auto-generated Dart API documentation for the eval_explorer_shared package, detailing its ScorerResultData class.
  • docs/reference/dart_api/index.md
    • Added an index page for the Dart API reference, linking to individual package documentation.
  • docs/reference/glossary.md
    • Added a glossary of key terminology used in the evals framework, covering core concepts, configuration files, resources, scoring, key packages, and internal classes.
  • docs/reference/index.md
    • Added an index page for general reference material, linking to glossary, CLI, configuration, Python API, and Dart API documentation.
  • docs/requirements.txt
    • Added Python package requirements for building the Sphinx documentation, including sphinx, sphinx-autobuild, sphinx-autodoc-typehints, myst-parser, pydata-sphinx-theme, and sphinx-design.
  • firebase.json
    • Added Firebase hosting configuration for the documentation site, specifying the public directory and files to ignore.
  • tool/dartdoc_to_md/bin/generate.dart
    • Added a Dart script (generate.dart) to read Dart source files using the analyzer, extract public API elements, and generate Sphinx-compatible Markdown files for documentation.
  • tool/dartdoc_to_md/pubspec.lock
    • Added the pubspec.lock file, locking the Dart package dependencies for dartdoc_to_md.
  • tool/dartdoc_to_md/pubspec.yaml
    • Added the pubspec.yaml file, defining the dartdoc_to_md Dart package and its dependencies.
Ignored Files
  • Ignored by pattern: .github/workflows/** (1)
    • .github/workflows/docs.yml
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.

@ericwindmill ericwindmill merged commit 0b063ea into main Mar 11, 2026
3 checks passed
@ericwindmill ericwindmill deleted the migrate-docs branch March 11, 2026 21:35
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 comprehensive documentation site for the evals project, built with Sphinx. It includes guides, reference material, and contribution guidelines. The changes are extensive, adding many new markdown files, a Sphinx configuration, a Makefile for building the docs, and a Dart script for auto-generating API documentation.

My review has focused on the structure and correctness of the new documentation. I've found several broken links across the new markdown files and a leftover TODO comment that should be addressed. Please see the detailed comments for specific locations and suggestions.


## dataset/

Contains all evaluation data, configurations, and resources. See the [Configuration Overview](./config/about.md) for detailed file formats.
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 [Configuration Overview](./config/about.md) appears to be broken as the target file docs/contributing/config/about.md does not exist. Consider linking to ../reference/configuration_reference.md instead.

Suggested change
Contains all evaluation data, configurations, and resources. See the [Configuration Overview](./config/about.md) for detailed file formats.
Contains all evaluation data, configurations, and resources. See the [Configuration Overview](../reference/configuration_reference.md) for detailed file formats.


### devals_cli/ (devals)

Dart CLI for creating and managing evaluation tasks and jobs. See the [CLI documentation](./cli.md) for full command reference.
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 [CLI documentation](./cli.md) is broken as the target file docs/contributing/cli.md does not exist. The correct path seems to be ../reference/cli.md.

Suggested change
Dart CLI for creating and managing evaluation tasks and jobs. See the [CLI documentation](./cli.md) for full command reference.
Dart CLI for creating and managing evaluation tasks and jobs. See the [CLI documentation](../reference/cli.md) for full command reference.

> with_context:
> context_files: [./context_files/dart_docs.md]
> ```
> See [Configuration Overview](config/about.md#variants) for 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 link to [Configuration Overview](config/about.md#variants) is broken. Please update it to point to the correct documentation.

Suggested change
> See [Configuration Overview](config/about.md#variants) for details.
> See [Configuration Overview](../reference/configuration_reference.md#variants) for details.

Now that you've run your first custom evaluation, here are some things to try:

- **Add more samples** to your task: `devals create sample`
- **Try different task types** — `question_answer`, `bug_fix`, or `flutter_code_gen`. See [all available task functions](../packages/dash_evals.md).
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 link to [all available task functions](../packages/dash_evals.md) is broken. The correct path appears to be ../contributing/packages/dash_evals.md.

Suggested change
- **Try different task types**`question_answer`, `bug_fix`, or `flutter_code_gen`. See [all available task functions](../packages/dash_evals.md).
- **Try different task types**`question_answer`, `bug_fix`, or `flutter_code_gen`. See [all available task functions](../contributing/packages/dash_evals.md).


---

See the [Configuration Overview](./config/about.md) for detailed configuration file documentation.
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 [Configuration Overview](./config/about.md) is broken as the target file docs/reference/config/about.md does not exist. You might want to link to configuration_reference.md instead.

Suggested change
See the [Configuration Overview](./config/about.md) for detailed configuration file documentation.
See the [Configuration Reference](./configuration_reference.md) for detailed configuration file documentation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant