Commit Graph

354 Commits

Author SHA1 Message Date
John Ryan d288caa079 Add missing copyright headers 2026-06-12 12:09:09 -07:00
John Ryan 70e2b6b76f Merge pull request #157 from reidbaker/hide-dev-skills
hide dev skills
2026-06-10 12:38:16 -07:00
Reid Baker 39e599cc78 Fix linter warnings in tracked_skills_publishing_test.dart 2026-06-10 11:29:43 -04:00
Reid Baker 2365f819a3 Refactor tracked_skills_publishing_test to use ValidationSession 2026-06-10 11:25:45 -04:00
Reid Baker 8b41040621 Apply review feedback: use parent .gitignore, make test more robust 2026-06-10 11:20:20 -04:00
Reid Baker 80e9992e58 Fix #157: Invert .gitignore logic and add configuration sync test 2026-06-10 11:12:12 -04:00
Reid Baker 44dfbab371 Address code review: ignore malformed YAML, add test, and update RULES.md 2026-06-09 19:01:11 -04:00
Reid Baker 6cd2179193 Address code review feedback: add copyright headers and handle string whitespace 2026-06-09 18:45:28 -04:00
Reid Baker f002b36410 Improve documentation and errors that show when in a bad state 2026-06-09 18:40:33 -04:00
Reid Baker 9f1babb47c Migrate standard agent skills to npx remote installs 2026-06-09 18:20:46 -04:00
Reid Baker 8b017ffe5b Mark specific development tools as internal and add them to linter enforcement config 2026-06-09 18:08:33 -04:00
Reid Baker 9aef240e46 Create prevent-skills-sh-publishing rule, enable it, add tests and documentation 2026-06-09 18:04:27 -04:00
Reid Baker 3f78539217 Mark development and fixture skills as internal to exclude them from skills.sh 2026-06-09 17:47:53 -04:00
Reid Baker c1542ccd77 Remove dart_hooks directory and references (#155) 2026-06-04 17:12:35 -04:00
John Ryan 939b874a08 Merge pull request #137 from ayanmajumdar-m/patch-2
Add --yes flag to skills add command
2026-05-27 14:21:13 -07:00
Reid Baker ef41e12ae6 Fix dart_hooks.yaml example keys so hooks are actually enabled (#150) (#151)
* Fix dart_hooks.yaml example keys so hooks are actually enabled (#150)

The example dart_hooks.yaml files committed in #148 used the script
filenames (agent_dart_format.dart / agent_dart_analyze.dart) as keys.
BaseHook.run() gates on each hook's configKey, which is the class name
(DartFormatHook / DartAnalyzeHook), so copying these files left both
hooks silently disabled, contradicting the README.

Update all four committed dart_hooks.yaml files to the class-name keys
the code reads and the README documents.

Also improve the diagnostic: when the expected key is missing, the log
now lists the keys that were found and suggests the correct one, so a
typo'd or legacy key no longer disables a hook with an opaque message.

* Update tool/dart_hooks/lib/src/base_hook.dart

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

* Remove redundant cast that failed dart analyze --fatal-infos

yaml is already promoted to Map by the enclosing `if (yaml is Map)`, so
`(yaml as Map)` is an unnecessary_cast that `dart analyze --fatal-infos`
treats as fatal. Drop the cast.

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-05-25 18:08:28 -04:00
Reid Baker 23f7d6aac9 Configure format and analyze hooks via YAML (#148)
* Support YAML configuration for format and analyze hooks

* Configure format and analyze hooks via YAML and address code review findings

* Update README with YAML configuration details

* Refactor BaseHook readFile to use asynchronous FutureOr and restore Git/Status exit codes to 0

* Normalize hardcoded test paths for Windows compatibility

* Fix Windows compatibility for agent_dart_analyze_integration_test.dart endsWith checks

* Normalize paths returned by getModifiedFilesInternal to fix mixed separators on Windows

* feat(hooks): configure analyze and format hooks via YAML config keys

* doc(hooks): bump version to 0.0.2 and update README and CHANGELOG

* doc(hooks): highlight yaml configuration requirement in CHANGELOG

* doc(hooks): correct version to 0.1.0 for breaking change

* doc(hooks): add debugging activation guide to README

* doc(hooks): remove tense words (now) from CHANGELOG

* doc(hooks): refine YAML configuration key description in CHANGELOG
2026-05-25 16:41:35 -04:00
Reid Baker fa3c563d31 lint: add --config CLI argument for custom config path (#149)
* feat(lint): add --config CLI argument for custom config path

* test(lint): verify --ignore-config takes precedence over --config
2026-05-25 15:59:39 -04:00
Reid Baker 0ecf358b05 dart_skills_lint v0.3 prep: paperwork, diagnostics, recipes, RULES.md (#143)
Better lint diagnostics
New ci integrations 
Better test coverage of documentation. 
Pana integration
2026-05-22 14:31:44 -04:00
Reid Baker 5519cc09e1 Fix flaky Windows dart analyze; enforce dart_code_linter on test/ (#145)
* Fix flaky Windows dart analyze; enforce dart_code_linter on test/

Drop the dart_code_linter analyzer `plugin` registration from
analysis_options.yaml. When registered, `dart analyze` loaded the plugin
in a separate isolate that re-emitted the `dart_code_linter:` rules as
diagnostics over the plugin protocol for all non-excluded files. Delivery
of those diagnostics to the CLI is asynchronous and racy, so on slower
Windows CI runners they intermittently appeared and `--fatal-infos` turned
them fatal -- a flaky, platform-specific failure (#144). `dart analyze` now
enforces only core lints, deterministically across platforms.

The dedicated `dart run dart_code_linter:metrics` step is the deterministic
enforcement path for those rules; extend it to cover `test` as well as
`lib` so the test suite gets real, cross-platform coverage instead of the
accidental flaky version.

Fix the test-file violations this surfaces:
- avoid-late-keyword: replace `late Directory tempDir` fixtures with a
  shared createTempDir() helper that registers cleanup via addTearDown,
  removing duplicated tearDown blocks.
- avoid-dynamic: `dynamic noSuchMethod` -> `Object?`.
- avoid-redundant-async: drop the redundant async in a setUp.

Exclude prefer-match-file-name for test/**: test files must be named
`*_test.dart` and commonly hold several small fixture classes, so they
cannot match the rule's "file name == first class name" convention.

* Exclude avoid-late-keyword for tests instead of placeholder workaround

Address review feedback: rather than initializing tempDir fixtures to a
placeholder to satisfy avoid-late-keyword, exclude the rule for test/**
(as already done for prefer-match-file-name). `late` for fields assigned
in setUp is the idiomatic Dart test pattern. Reverts the createTempDir
helper and placeholder initializations; fixtures are plain `late` again.

The genuine, non-late fixes are kept: avoid-dynamic (Object? noSuchMethod)
and avoid-redundant-async (drop async from a sync setUp).

* Apply suggestion from @reidbaker
2026-05-22 09:55:52 -04:00
Reid Baker ffe7a5d6b2 Add CI line-coverage gate for dart_skills_lint (#142)
* Add CI line-coverage gate for dart_skills_lint

Collect coverage with `dart test --coverage`, convert to LCOV via the
already-transitive package:coverage, and enforce a minimum threshold in
CI with the VeryGoodOpenSource/very_good_coverage action (min 73%,
excluding *.g.dart). Adds contributor docs and a CHANGELOG entry. No new
pub dependencies and no custom coverage parsing to maintain.

* Document --ignore-files to exclude *.g.dart from local coverage
2026-05-21 21:15:26 -04:00
Reid Baker 50fddf98b8 Merge pull request #141 from reidbaker/r-claude-config-support
Add Claude Code support alongside .agents config
2026-05-21 17:27:47 -04:00
Reid Baker bfc028b034 Add skills to claude support and ignore local claude config 2026-05-21 17:09:26 -04:00
Reid Baker f6996f5ceb Remove workspace file 2026-05-15 10:07:05 -04:00
Reid Baker 7048cb366d Merge pull request #138 from reidbaker/add-dart-skills-lint-integration-skill-2026-05-14
Add dart-skills-lint-integration skill to standardize consumer configurations
2026-05-15 09:39:46 -04:00
Reid Baker 17196fafd6 Merge pull request #139 from reidbaker/r-ignore-code-workspace
Ignore code workspaces
2026-05-15 09:39:34 -04:00
Reid Baker 258c3c1b18 Update tool/dart_skills_lint/.agents/skills/dart-skills-lint-integration/SKILL.md
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-05-15 09:32:46 -04:00
Reid Baker 2fb4612761 Update tool/dart_skills_lint/.agents/skills/dart-skills-lint-integration/SKILL.md
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-05-15 09:32:24 -04:00
Reid Baker 553137d8af Ignore code workspaces 2026-05-15 09:28:28 -04:00
Reid Baker 85618c9b26 Add dart-skills-lint-integration skill to standardize consumer configurations 2026-05-14 15:10:11 -04:00
Ayan Majumdar aead2ac823 Add --yes flag to skills add command 2026-05-13 16:00:28 +05:30
Reid Baker e449787395 Merge pull request #130 from reidbaker/i85-align-yaml-custom-test
Align yaml and validateSkills dart api
2026-05-12 16:20:23 -04:00
Reid Baker 859c270a26 avoid duplicate config lookup inside resolveIgnoreFile to satisfy metrics 2026-05-12 16:17:00 -04:00
Reid Baker a1097360ff fix: resolve PR 130 feedback, nesting overrides, and robust path resolution 2026-05-12 16:05:54 -04:00
Reid Baker d036f06f9c Merge pull request #135 from reidbaker/r-failing-test-expectations
Agent found issue in testing
2026-05-12 14:05:26 -04:00
Reid Baker dfbe6265c0 Code review feedback 2026-05-12 14:03:29 -04:00
Reid Baker d0e5e07765 Agent found issue in testing 2026-05-12 12:36:01 -04:00
Reid Baker 298201fea9 Revert "Implement transition to remote skills and agent-doctor bootstrapping skill"
This reverts commit 59914e386a.
2026-05-12 11:59:46 -04:00
Reid Baker 930ebfc35b Revert "Simplify skills gitignore pattern to anchored wildcard"
This reverts commit 29d4a02518.
2026-05-12 11:59:46 -04:00
Reid Baker 29d4a02518 Simplify skills gitignore pattern to anchored wildcard 2026-05-12 11:57:30 -04:00
Reid Baker 59914e386a Implement transition to remote skills and agent-doctor bootstrapping skill 2026-05-12 11:52:42 -04:00
Reid Baker 548a97750a Modify skills to prevent temporal words in code and code comments 2026-05-12 10:55:27 -04:00
Reid Baker 6f300e1066 resolve reidbakers code reivew feedback 2026-05-12 10:54:56 -04:00
Reid Baker 14df483262 Merge pull request #131 from reidbaker/r-gitignore-gastown
Add Gas Town runtime artifacts to .gitignore
2026-05-11 23:56:59 -04:00
Reid Baker 1223138528 Add Gas Town runtime artifacts to .gitignore
Ignore .runtime/, .logs/, __pycache__/, state.json, and CLAUDE.md files
so Gas Town workspace state doesn't leak into commits.
2026-05-11 23:55:14 -04:00
Reid Baker a5d2f60191 code reivew feedbac 2026-05-11 23:29:25 -04:00
Reid Baker 550ef62648 Update documentation 2026-05-11 22:21:51 -04:00
Reid Baker 9938659392 Address PR feedback: fix precedence, de-duplicate defaults, and update docs 2026-05-11 17:49:18 -04:00
Reid Baker a645d704ca Bump version to 0.3.0 and update CHANGELOG 2026-05-11 17:06:55 -04:00
Reid Baker aac2854b2c update skills and documenation 2026-05-11 17:03:12 -04:00