Develop#8
Open
lizy-coding wants to merge 19 commits into
Open
Conversation
…icit configs to exist - Resolve relative --config paths from the target project root, never from CWD. - Add requireFile parameter to ScanConfig.fromFile to reject missing explicit configs. - Document the non-merging override chain in PROJECT_RULES.md. - Update CONFIGURATION_STRATEGY.md to reflect the new config path semantics.
…ged-only Git file collection - Throw ScanException when a full scan matches no configured Dart files. - Doctor now reports empty file match as error instead of warning. - Harden getChangedFiles with proper Git ref validation and null-byte splitting. - Preserve setup-error exit codes in CI script examples in README. - Update exit code documentation for all three README files.
…ub.dev installation - Run analyze, tests, and scan against the current monorepo checkout. - Use fail-fast: false to collect results from all OS runners. - Upload report with if-no-files-found: error to surface missing reports early. - Update local CI scripts to use workspace launcher and preserve exit codes.
…nly ref validation - Test scanner allows built-in defaults when default config is absent. - Test scanner rejects missing custom config and missing explicit default config. - Test requireFile rejection in ScanConfig.fromFile. - Test changed-only clean repo produces empty scan (not full fallback). - Test changed-only rejects invalid and option-like Git base refs. - Test doctor returns error (not warning) for empty file matches. - Add cli_test.dart for process-level CLI exit and report behavior.
…y, and CI changes
Introduce ScanContext for scope/mode, SourceWorkspace for shared source/AST caching, ImportGraph for resolved Dart imports, and DependencyBoundaryEngine for layer/module boundary analysis.
Add rules/catalog.dart as the metadata and execution source of truth, refactor all rule classes to consume the shared SourceWorkspace, ImportGraph, and boundary engine, and update scanner orchestration, registry, suppression, issue export, and report generation.
Reduce bin/flutterguard.dart to top-level routing, help, and exit codes, moving scan, baseline, config, issue, and rule command behavior into dedicated handlers under lib/src/cli/.
Document the new shared analysis modules, rules/catalog wiring, and lib/src/cli command layout, and extend scanner tests to cover the refactored execution path.
Bump flutterguard_cli to 0.5.0 with catalog/cli refactor changelog, adopt the workspace ^3.11.5 SDK constraint, and align the release workflow Dart SDK accordingly.
Record the post-0.5.0 architecture invariants (catalog wiring, thin bin/, lib/src/cli command split, shared workspace/import-graph/boundary engine) as binding constraints, mark 0.4.x CI hardening done, and renumber the developer-workflow and later milestones to 0.6+.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.