You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CLAUDE.md
+10-1Lines changed: 10 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,6 +20,7 @@ hooks/
20
20
check-vgv-cli.sh # Validates VGV CLI installed and >= 1.1.0
21
21
format.sh # Runs dart format on modified .dart files
22
22
vgv-cli-common.sh # Shared utilities for VGV CLI hook scripts
23
+
warn-missing-mcp.sh # Warns at session start if VGV CLI is missing/outdated
23
24
skills/
24
25
accessibility/SKILL.md
25
26
accessibility/reference.md
@@ -43,6 +44,7 @@ skills/
43
44
static-security/reference.md
44
45
testing/SKILL.md
45
46
testing/reference.md
47
+
ui-package/SKILL.md
46
48
```
47
49
48
50
## Skill File Format
@@ -65,6 +67,7 @@ Every `SKILL.md` follows this structure:
65
67
- Provide complete, copy-pasteable snippets, not fragments
66
68
- Reference packages by full name (e.g., `package:mocktail`)
67
69
- Include anti-patterns alongside correct patterns when helpful
70
+
- Align pipe characters vertically in all markdown tables (enforced by markdownlint MD060)
68
71
69
72
## Adding a New Skill
70
73
@@ -75,7 +78,13 @@ Every `SKILL.md` follows this structure:
75
78
76
79
## Hooks
77
80
78
-
The `hooks/` directory contains PreToolUse and PostToolUse hooks defined in `hooks.json`.
81
+
The `hooks/` directory contains SessionStart, PreToolUse, and PostToolUse hooks defined in `hooks.json`.
82
+
83
+
### SessionStart Hooks
84
+
85
+
These run **when a session begins**:
86
+
87
+
-`warn-missing-mcp.sh` — checks if Very Good CLI is installed and >= 1.1.0; outputs a warning to Claude's context if missing or outdated (non-blocking)
Copy file name to clipboardExpand all lines: README.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -38,6 +38,7 @@ For more details, see the [Very Good Claude Marketplace][marketplace_link].
38
38
|[**Bloc**](skills/bloc/SKILL.md)| State management with Bloc/Cubit — sealed events & states, `BlocProvider`/`BlocBuilder` widgets, event transformers, and testing with `blocTest()` & `mocktail`|
39
39
|[**Layered Architecture**](skills/layered-architecture/SKILL.md)| VGV layered architecture — four-layer package structure (Data, Repository, Business Logic, Presentation), dependency rules, data flow, and bootstrap wiring |
40
40
|[**Security**](skills/static-security/SKILL.md)| Flutter-specific static security review — secrets management, `flutter_secure_storage`, certificate pinning, `Random.secure()`, `formz` validation, dependency vulnerability scanning with `osv-scanner`, and OWASP Mobile Top 10 guidance |
41
+
|[**UI Package**](skills/ui-package/SKILL.md)| Flutter UI package creation — custom widget libraries with `ThemeExtension`-based theming, design tokens, barrel file exports, widget tests, Widgetbook catalog, and consistent API conventions |
41
42
|[**License Compliance**](skills/license-compliance/SKILL.md)| Dependency license auditing — categorizes licenses (permissive, weak/strong copyleft, unknown), flags non-compliant or missing licenses, and produces a structured compliance report using Very Good CLI |
42
43
|[**Dart/Flutter SDK Upgrade**](skills/dart-flutter-sdk-upgrade/SKILL.md)| Bump Dart and Flutter SDK constraints across packages — CI workflow versions, pubspec.yaml environment constraints, and PR preparation for SDK upgrades |
43
44
@@ -78,6 +79,7 @@ You can also invoke skills directly as slash commands:
echo"⚠️ Very Good CLI is not installed. The Very Good CLI MCP server will not work without Very Good CLI >= ${MIN_VERSION}. Install with: dart pub global activate very_good_cli"
13
+
;;
14
+
outdated:*)
15
+
version="${cli_status#outdated:}"
16
+
echo"⚠️ Very Good CLI ${version} is too old. The Very Good CLI MCP server requires >= ${MIN_VERSION}. Update with: dart pub global activate very_good_cli"
0 commit comments