mirror of
https://github.com/flutter/samples.git
synced 2025-11-08 13:58:47 +00:00
I got carried away with Gemini and basically rewrote CI and the release process for the new LLM reality. This work was largely completed by Gemini. - Bump all SDK versions to the current beta (3.9.0-0) - Run `flutter channel beta` - Wrote `ci_script.dart` to replace the bash scripts - Converted repository to pub workspace #2499 - Added llm.md and release.md - Added redirect for deprecated Samples Index ## Pre-launch Checklist - [x] I read the [Flutter Style Guide] _recently_, and have followed its advice. - [x] I signed the [CLA]. - [x] I read the [Contributors Guide]. - [x] I have added sample code updates to the [changelog]. - [x] I updated/added relevant documentation (doc comments with `///`).
3.1 KiB
3.1 KiB
Code Health and Style Guide Analysis
This document provides instructions for an AI assistant to analyze this repository against the Dart and Flutter style guide (.prompts/llm.md) and log opportunities for improvement.
Workflow
The AI assistant must follow these steps exactly:
1. Setup
- Create Log Directory: If it does not already exist, create a directory named
logsin the repository root. - Create Log File: Create a new file inside the
logsdirectory namedYYYY-MM-DD_HH-MM-SS-freshness-scores.md, whereYYYY-MM-DD_HH-MM-SSis the current timestamp.
2. Project Identification
- Find Projects: Identify all sample projects by searching for
pubspec.yamlfiles within the repository. Each directory containing apubspec.yamlshould be considered a separate project. - Create a Queue: Compile a list of the absolute paths to these project directories to process them one by one.
3. Analysis Loop
For each project directory identified in the previous step, perform the following:
-
Check for Dart Files:
- Verify that the project directory contains at least one
.dartfile. - If not, add an entry to the log file stating that the project was skipped for this reason and proceed to the next project.
- Verify that the project directory contains at least one
-
Analyze Git History:
- Run
git logto find the most recent commit to a.dartfile within that project's directory made by a human (i.e., not a bot). - Command:
(Note: This command should be run from within the project's directory).
git log -1 --author='^(?!.*bot).*$' --pretty="format:%ad" --date=short -- ./**/*.dart - Handle No Commits: If the command returns no output, note "No human commits found" for the log. If there are no commits at all, note that as well.
- Run
-
Read and Assess Code:
- Read all
.dartfiles within the project directory (recursively). - Compare the code against the rules and patterns defined in
.prompts/llm.md. - The assessment must focus on:
- Code organization and structure.
- Adherence to naming conventions.
- Proper use of Flutter and Dart patterns (e.g.,
constconstructors, collection literals). - State management best practices.
- Clarity, readability, and documentation.
- Read all
-
Log Findings:
- Append a new entry to the log file using the following Markdown template. Ensure all fields are filled out.
--- **Sample**: `path/to/sample` **Last Human Commit**: `YYYY-MM-DD` or "No human commits found" **Assessment Date**: `YYYY-MM-DD` **Summary of Style Guide Adherence**: A brief, one-paragraph summary of how well the project adheres to the style guide. Mention its strengths and weaknesses in general terms. **Opportunities for Improvement**: - A concrete, actionable bullet point describing a specific area for improvement. - Another actionable bullet point. - A third bullet point, if applicable. Focus on providing clear, specific, and helpful recommendations. ---