This document provides context to Gemini Code Assist to help it generate more accurate and project-specific code suggestions for the chromium-dashboard project.
chromium-dashboard (chromestatus.com) is the official tool for tracking feature launches in Blink. It guides feature owners through the launch process and serves as a primary source of developer information.
The architecture consists of:
- Backend: A Flask-based application running on Google App Engine, using Cloud NDB for Datastore interactions.
- Frontend: A Lit-based single-page application (SPA) using Shoelace widgets and
page.jsfor routing. - API: Uses OpenAPI 3.0 for specification and code generation.
- AI Features: Includes an AI-powered WPT coverage evaluation pipeline using Gemini.
- Setup:
make setupinitializes the environment (Node.js and Python venv). - Starting:
npm startruns the Datastore emulator and the Flask server. - Testing:
npm test: Runs Python unit tests with the Datastore emulator.make webtest: Runs Lit component tests using Playwright.make pwtests: Runs end-to-end Playwright visual tests.
- Linting:
make lintruns Prettier, ESLint, and Lit-analyzer. - OpenAPI:
make openapigenerates frontend and backend code fromopenapi/api.yaml.
- Legacy Code: Do not add new features or logic to the legacy
pages/directory. This directory is deprecated and only maintained for existing functionality. Useapi/for new backend endpoints andclient-src/elements/for new frontend components.
Detailed architectural guidance and "how-to" guides for specific domains are available as Gemini Skills:
chromestatus-adding-a-field: How to add a new field to a feature across the entire stack (Data, API, and Frontend).chromestatus-backend: Flask handlers, NDB interactions, and OpenAPI integration.chromestatus-frontend: Lit web components, Shoelace widgets, and routing.chromestatus-ci-verification: Local commands for linting, type checking, and testing to match CI.chromestatus-playwright-testing: Guidance for running and updating Playwright end-to-end tests.
To keep these skills and this document up-to-date, you can ask Gemini to analyze the latest commits. Use the hidden marker at the top of this file to find commits made since the last analysis.
Please update your knowledge base by analyzing the commits since the last analyzed commit stored in
GEMINI.md.
When given this prompt, Gemini will:
- Read
GEMINI.mdto find the last analyzed commit SHA. - Use
git logto identify new commits since that SHA. - Analyze the changes, consulting sources of truth like
openapi/api.yamlorinternals/models.py. - Update the relevant skill files in
.agents/skills/. - Update the last analyzed commit SHA in
GEMINI.md.