Commit Graph

408 Commits

Author SHA1 Message Date
John Ryan 8d2cd605fe Fix sync bot output
This sets the changes_detected variable, ensures that the exit code is
set, and that output are printed to $GITHUB_OUTPUT to help with
debugging.
2026-08-04 09:57:00 -07:00
Reid-Agent 979a274cdf Remove unused dart_code_linter dependency and dead rules config (#213)
* Remove unused dart_code_linter dependency and dead config

* Update analysis_options.yaml

---------

Co-authored-by: Reid Baker <1063596+reidbaker@users.noreply.github.com>
2026-08-04 12:10:04 -04:00
Reid-Agent 7bddfa245c dart_skills_lint reduce enforced cognitive complexity (#212)
* Refactor internal return types and cognitive complexity

- Eliminate named record return types in _buildContext and _loadIgnores in favor of standard Future<T> single-value returns

- Audit and document _parse* methods in config_parser.dart and helper methods in test suites

- Extract top-level test helpers _createMockRelease and _runInstallScriptTest in install_script_test.dart to lower main function cognitive complexity score

- Update definition-of-done skill fail-threshold to 20

* Tighten CI cognitive complexity fail-threshold to 20 (#212)

* Automate CI threshold assertion and delegate DOD skill to CI workflow (#212)

* Move CI workflow consistency test out of recipe drift into dedicated test suite (#212)

* Remove unused normalizedSkillPath from _getIgnoresForSkill (#212)
2026-08-04 11:58:32 -04:00
Reid-Agent 135f796201 Migrate complexity linting to package:cognitive_complexity (#211)
* Migrate complexity linting to package:cognitive_complexity

* Fix cognitive_complexity target path in workflow

* Fix cognitive_complexity steps and coverage workflow in CI

* Pass repo-relative package paths to cognitive_complexity in workflow

* Fix zizmor audit findings for archived-uses and dependabot cooldown

* Trigger CI presubmit checks

* Update zizmor ignore comment position for archived-uses

* Inline zizmor ignore comment on uses line

* Address PR review: preserve dart_code_linter rules and revert dependabot/changelog edits

* Restore dart_code_linter comments in analysis_options.yaml

* Combine cognitive complexity checks into single multi-directory step

* Update definition-of-done SKILL.md metrics command to include test directory

* Add cognitive_complexity execution expectation to definition-of-done evals.json

---------

Co-authored-by: Reid Baker <reidbaker@google.com>
2026-08-03 17:30:11 -04:00
John Ryan bcf08a80f5 Merge pull request #209 from flutter/fix-coverage
use very_good_workflows coverage_excludes
2026-08-03 12:26:56 -07:00
John Ryan b191b5da0a use very_good_workflows coverage_excludes
https://workflows.vgv.dev/docs/workflows/dart_package#coverage_excludes
2026-08-03 10:17:44 -07:00
John Ryan 70aa02d9e0 Merge pull request #208 from flutter/dependabot/github_actions/github-actions-ba3101af4b
Bump the github-actions group across 1 directory with 2 updates
2026-08-03 10:08:07 -07:00
dependabot[bot] 6195d6f060 Bump the github-actions group across 1 directory with 2 updates
Bumps the github-actions group with 2 updates in the / directory: [actions/github-script](https://github.com/actions/github-script) and [VeryGoodOpenSource/very_good_workflows/.github/workflows/dart_package.yml](https://github.com/verygoodopensource/very_good_workflows).


Updates `actions/github-script` from 7.1.0 to 9.0.0
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/f28e40c7f34bde8b3046d885e986cb6290c5673b...3a2844b7e9c422d3c10d287c895573f7108da1b3)

Updates `VeryGoodOpenSource/very_good_workflows/.github/workflows/dart_package.yml` from 86e2d68bb1e27b2518e4a2277205d23d21cb413c to 75f342c5d0b8c8adde3a2b7ea101e7e47897d1fc
- [Release notes](https://github.com/verygoodopensource/very_good_workflows/releases)
- [Changelog](https://github.com/VeryGoodOpenSource/very_good_workflows/blob/main/CHANGELOG.md)
- [Commits](https://github.com/verygoodopensource/very_good_workflows/compare/86e2d68bb1e27b2518e4a2277205d23d21cb413c...75f342c5d0b8c8adde3a2b7ea101e7e47897d1fc)

---
updated-dependencies:
- dependency-name: actions/github-script
  dependency-version: 9.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: VeryGoodOpenSource/very_good_workflows/.github/workflows/dart_package.yml
  dependency-version: 75f342c5d0b8c8adde3a2b7ea101e7e47897d1fc
  dependency-type: direct:production
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-03 16:54:46 +00:00
John Ryan 3bcc44ffc0 Merge pull request #206 from flutter/configure-sync-bot
Configure bot to sync skills and fix zizmor warnings
2026-08-03 09:51:25 -07:00
John Ryan b7e79966fe use actions/checkout version 7.0.1 2026-08-03 09:16:32 -07:00
John Ryan 922cba5e67 Add explanation for zizmore: ignore comments 2026-07-31 13:52:12 -07:00
John Ryan b700630091 Fix unpinned-uses error by stripping leading 'v' from 40-character commit SHA 2026-07-31 13:48:30 -07:00
John Ryan d8f8dffdad Fix coverage tool 2026-07-31 13:46:25 -07:00
John Ryan bb86ea49db use full commit SHA 2026-07-31 13:44:39 -07:00
John Ryan f911d210b5 Fix zizmor unpinned-uses by pinning very_good_coverage to hash with inline ignore comment 2026-07-31 13:41:58 -07:00
John Ryan f67e39d36b update hash 2026-07-31 13:40:03 -07:00
John Ryan 89a5f753cc Fix zizmor warning 2026-07-31 13:37:31 -07:00
John Ryan 09973e9f3e use very_good_workflows to avoid zizmor warning 2026-07-31 13:34:09 -07:00
John Ryan b630da4120 Fix / ignore zizmor warnings 2026-07-31 13:33:08 -07:00
John Ryan 80480c70a2 add resolution:workspace to dart_skills_lint 2026-07-31 13:23:35 -07:00
John Ryan 1b81a4f70e Fix zizmor warnings 2026-07-31 13:18:09 -07:00
John Ryan 185b954b36 Pin GitHub actions to hash 2026-07-31 13:02:12 -07:00
John Ryan 119d735204 Configure bot to sync skills
This configures the GitHub user to flutter-skills-sync-bot. The PAT for this account is stored as the SYNC_PAT secret in settings.

Fixes #197
2026-07-31 12:44:10 -07:00
Reid-Agent 6b11ef54f2 Clean up dead files, internal design docs, and polish pre-publish documentation (#204)
* Clean up dead files, internal design docs, and polish pre-publish documentation

* fix(.agent.md): use correct bin/cli.dart entry point

---------

Co-authored-by: Reid Baker <reidbaker@google.com>
2026-07-31 14:40:24 -04:00
Reid-Agent 8aaa41d87b Genericize run-evals prompts and enforce lint cheating rubric (#196)
* Genericize run-evals prompts and enforce lint cheating rubric

* chore: explicitly suggest dart pub get in eval execution prompts

* chore: remove self referential code_quality_rubric.json from run-evals evals.json and clarify prompt template placeholder instructions

---------

Co-authored-by: Reid Baker <reidbaker@google.com>
2026-07-27 13:50:11 -04:00
John Ryan 036322d21d Merge pull request #192 from keertip/add-block
Add a workflow to block external PR's against dart skills
2026-07-27 10:29:18 -07:00
Reid-Agent bf27b276b7 Fix run-evals workspace limitation warning (#195)
Co-authored-by: Reid Baker <reidbaker@google.com>
2026-07-24 16:50:48 -04:00
Reid-Agent c5cb871bac Test code quality rubric with static datasets (Meta-Evals) (#194)
* Add static dataset and meta-eval for code quality rubric

* Add positive test case and README docs for meta-evals

* Update evals.json schema: move repo_criteria to top and remove skill_name

* Address remaining PR 194 feedback: fix test-rubric lints

* Address PR review: resolve package directory dynamically in tests using Isolate.resolvePackageUri

* Add contributor-pr-description to prevent-skills-sh-publishing config

* Refactor test-rubric dummy skill into standalone code_quality_rubric_evals.json

* Update baseline execution prompt to avoid fixing code on grading tasks

* Add copyright headers to test fixtures

* Update with_skill execution prompt to avoid fixing code on grading tasks

---------

Co-authored-by: Reid Baker <reidbaker@google.com>
2026-07-23 23:26:06 -04:00
Reid-Agent 8bf0c0c6c5 Add evals for add-dart-lint-validation-rule (#193)
* Add evals for add-dart-lint-validation-rule

* Update SKILL.md instructions for README.md flags formatting

* Apply schema changes to add-dart-lint-validation-rule evals

* Fix trailing whitespace in add-dart-lint-validation-rule SKILL.md

---------

Co-authored-by: Reid Baker <reidbaker@google.com>
2026-07-23 15:56:33 -04:00
Reid-Agent 5ea30b4367 Add run-evals orchestration skill and evals for published skills (#189)
* Add run-evals skill and evals consistency tests

* Address review feedback and stub missing evals

* chore(evals): add unary integration mode and baseline comparison examples

* test: cleanly separate automated vs reasoning based validation evals utilizing absolute paths

* test: add structural consistency testing for universal evals rubrics

* test: deduplicate evals structural consistency checks and fix lints

* Address PR 189 feedback: Refactor evals framework schema and prompts

* Prevent evals from  modifying files in main working directory

* Update evals and SKILL.md to enforce strict DoD output format

* Simplify SKILL.md formatting instructions

* Relax chat output expectations in evals to prevent arbitrary failures

* Refactor unit tests to use Dart 3 switch expressions

* Remove redundant skill_name property from all evals.json files

* Move repo_criteria above evals array in all evals.json files for better readability

---------

Co-authored-by: Reid Baker <reidbaker@google.com>
2026-07-23 14:16:41 -04:00
Keerti Parthasarathy 9e7239c433 Add a workflow to block external PR's against dart skills 2026-07-22 06:06:43 -07:00
Reid-Agent 0de9658880 feat: add contributor-pr-description skill (#190)
* feat: add contributor-pr-description skill

* fix: explicit configuration for new skill

* fix: add internal metadata to skill
2026-07-21 14:15:27 -04:00
Kenzie Davisson 6fe4e74e01 Merge pull request #184 from flutter/dependabot/github_actions/github-actions-b9d3d7f498
Bump the github-actions group across 1 directory with 2 updates
2026-07-21 16:59:34 +00:00
Keerti Parthasarathy 510d43e74e Add config for Cursor plugin (#178)
* Add config for Cursor plugin

* Apply suggestion from @gemini-code-assist[bot]

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* Apply suggestion from @gemini-code-assist[bot]

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* Update plugin.json

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-07-20 22:19:12 -07:00
dependabot[bot] 7da45757d4 Bump the github-actions group across 1 directory with 2 updates
Bumps the github-actions group with 2 updates in the / directory: [actions/checkout](https://github.com/actions/checkout) and [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request).


Updates `actions/checkout` from 4 to 7
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v7)

Updates `peter-evans/create-pull-request` from 6 to 8
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v6...v8)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: peter-evans/create-pull-request
  dependency-version: '8'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-20 20:54:36 +00:00
Reid Baker 52a959374c Migrate tool/generator test to ConfigParser.loadConfig and clean up workflow (#186)
* Migrate generator test off deprecated resolvedRules onto resolvedRuleConfigs

* Remove duplicate validate_skills CLI workflow job

* Ensure lint_skills_test is path-resilient and asserts non-empty directoryConfigs

* Fix omit_local_variable_types lints in lint_skills_test.dart

* Simplify lint_skills_test to direct ConfigParser.loadConfig() call

* Update onboarding docs and skills to include directoryConfigs.isNotEmpty assertion when loading config

* Address PR discussion r3617291798: handle working directory when run from repo root

* Make working directory path resolution cross-platform for Windows, macOS, and Linux

* Format lint_skills_test.dart with dart format

---------

Co-authored-by: Reid-Agent <269567208+reidbaker-agent@users.noreply.github.com>
2026-07-20 16:52:02 -04:00
Keerti Parthasarathy a037a4a343 Add Codex plugin (#177)
* Add Codex plugin

* Update README.md

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* fix nit

* remove default prompt field

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-07-17 09:30:35 -07:00
Reid-Agent b161bf2906 feat: add API boundary runner, relocate fixtures, and configure CI check (#183)
* feat: export RuleConfig and RuleConfigPatch in dart_skills_lint.dart

* docs: enforce diagnostic consumer migration step right inside check-downstream-consumers skill

* refactor: relocate examples, add API boundary runner and GHA validation config

* refactor: apply PR code review suggestions on API boundary path resolution and VM clean exit rules

---------

Co-authored-by: Reid Baker <reidbaker@google.com>
2026-07-17 11:23:23 -04:00
Reid-Agent 05e5a45fa4 feat: export RuleConfig and RuleConfigPatch in dart_skills_lint.dart (#182)
Co-authored-by: Reid Baker <reidbaker@google.com>
2026-07-16 17:15:18 -04:00
Reid-Agent acb658a5d4 feat: add specialized review, documentation, and CLI skills plus known adopters resource (#181)
* feat: add specialized review, documentation, and CLI skills plus known adopters resource

* Delete tool/dart_skills_lint/.agents/skills/dart-skills-lint-integration/resources/known_adopters.md

---------

Co-authored-by: Reid Baker <reidbaker@google.com>
Co-authored-by: Reid Baker <1063596+reidbaker@users.noreply.github.com>
2026-07-16 15:41:51 -04:00
Reid-Agent 9756c4fb11 feat: support configurable rule-specific options and custom exclusions in path-does-not-exist (#176)
* Add evaluations setup and first eval definition for definition-of-done skill

* Fix skills linter tests by adding ignore for definition-of-done-workspace and restructuring yaml configuration

* feat: standardize rule severities and options API naming and structures

- Rename Validator parameter ruleOverrides to customRuleSeverities.
- Rename severity mapping fields and parameters to ruleSeverities.
- Rename option mapping fields and parameters to ruleOptions.
- Added validation checks for options keys and types in YAML parsing.
- Decoupled and exported ValidationResult model.

* feat: introduce ConfigurableSkillRule and CustomRuleOptions type-safe wrapper

- Extract options validation to ConfigurableSkillRule base constructor.
- Introduce CustomRuleOptions class wrapping options configuration maps.
- Refactor PathDoesNotExistRule to extend ConfigurableSkillRule.

* refactor: unify options validation and migrate parser to CustomRuleOptions

- Centralize options schema validation and formatting in CheckType.validateOptions.
- Remove redundant allowedOptions getter from ConfigurableSkillRule and its subclasses.
- Update ConfigParser, entrypoint, Validator, and ValidationSession to use CustomRuleOptions instead of raw maps.
- Add unit tests for resolving options and testing PathDoesNotExistRule with custom exclusions.

* Update .gitignore

* Update ignore.json

* feat: configure path-does-not-exist exclude pattern in dart_skills_lint.yaml

* refactor: introduce type-safe getters in CustomRuleOptions and rename to optionsSchema

- Add type-safe getters (getString, getInt, getBool, getStringList) to CustomRuleOptions.
- Update PathDoesNotExistRule to retrieve options using the new type-safe getters.
- Rename allowedOptions to optionsSchema inside CheckType to distinguish the schema definition from configuration values.
- Clean up all references across EntryPoint, Registry, and tests to match optionsSchema.

* Refactor: Unify options and severity configs under RuleConfig model

* Refactor dart_skills_lint configuration options architecture

- Define RuleOptionType enum and refactor schema parsing
- Migrate PathDoesNotExistRule to use RegExp parameters directly
- Enforce immutability on CustomRuleOptions
- Restrict internal API exports
- Update test suite to reflect configuration constraints and lint formatting

* Refactor rule options to rule parameters

* fix: address code review feedback on rule configuration refactor

* fix: restore backward compatibility for ValidationSession

* test: verify deprecated API passes successfully

* Implement full backward compatibility for ruleConfigs, remove ValidationResult export, and add TODOs for deprecation tracking (fixes downstream consumers)

* Update dart-skills-lint-integration skill to use resolvedRuleConfigs instead of deprecated resolvedRules

* fix: address PR #176 code review comments and deprecations audit

---------

Co-authored-by: Reid Baker <reidbaker@google.com>
Co-authored-by: Reid Baker <1063596+reidbaker@users.noreply.github.com>
2026-07-16 14:58:32 -04:00
Reid-Agent 5854ede2cc feat: author check-downstream-consumers skill and known consumers resource (#180)
Co-authored-by: Reid Baker <reidbaker@google.com>
2026-07-16 14:17:52 -04:00
Keerti Parthasarathy fbb6bbcc0d Add configutation files for Claude Code plugin definition (#172)
* test: add sync workflow and dart tool script

* chore: auto-sync skills directory from dart-lang/skills

* Update workflow to support trigger from dart-lang/skills

* Update repo name

* Applied suggestions

* Address comments

---------

Co-authored-by: keertip <2192312+keertip@users.noreply.github.com>
2026-07-14 10:04:40 -07:00
Reid-Agent 7b3fb9e33a Feature/evals dod (#175)
* Add evaluations setup and first eval definition for definition-of-done skill

* Fix skills linter tests by adding ignore for definition-of-done-workspace and restructuring yaml configuration

* Update tool/dart_skills_lint/.agents/skills/definition-of-done/evals/evals.json

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* Update .gitignore

---------

Co-authored-by: Reid Baker <reidbaker@google.com>
Co-authored-by: Reid Baker <1063596+reidbaker@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-07-13 20:06:46 -04:00
Kenzie Davisson 21f3da3d25 Merge pull request #171 from flutter/rename-to-agent-plugins 2026-07-13 16:48:00 +00:00
John Ryan 3c34947103 Update README.md 2026-07-13 09:40:18 -07:00
John Ryan 0747f588a8 Clarify MCP server configuration in README
Updated README to specify MCP server configuration in plugins description.
2026-07-13 09:39:33 -07:00
John Ryan fffdf3c4c6 Rename to flutter/agent-plugins 2026-07-10 14:39:34 -07:00
Reid-Agent 0d624f342a build(ci): use macos-15-intel instead of deprecated macos-13 for release (#169)
* build(ci): update release workflow to use macos-15-intel instead of deprecated macos-13

* build(ci): replace unallowed softprops/action-gh-release with gh cli

---------

Co-authored-by: Reid Baker <reidbaker@google.com>
dart_skills_lint-v0.4.0
2026-06-18 18:20:28 -04:00
Reid-Agent c3a3765396 chore(release): prepare for dart_skills_lint for 0.4.0 (#168)
* chore(release): prepare for 0.4.0

* docs: expand changelog entry for issue #166 based on PR feedback

---------

Co-authored-by: Reid Baker <reidbaker@google.com>
2026-06-18 17:57:40 -04:00