Skip to content

Commit 6892982

Browse files
authored
chore: update CI with validate-skills and markdown checks (#58)
1 parent 5a56844 commit 6892982

56 files changed

Lines changed: 3363 additions & 3435 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,4 @@
1111
- [ ] Code refactor (`refactor`)
1212
- [ ] Documentation (`docs`)
1313
- [ ] CI change (`ci`)
14-
- [ ] Chore (`chore`)
14+
- [ ] Chore (`chore`)

.github/workflows/ci.yaml

Lines changed: 60 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -6,34 +6,76 @@ on:
66
- main
77

88
jobs:
9+
markdown:
10+
name: 📝 Markdown Quality
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v4
14+
- name: Lint Markdown
15+
uses: DavidAnson/markdownlint-cli2-action@v19
16+
with:
17+
globs: '**/*.md'
18+
config: 'config/custom.markdownlint.jsonc'
919
spelling:
10-
name: ✍️ Spelling Check
11-
runs-on: ubuntu-latest
12-
steps:
13-
- uses: actions/checkout@v4
14-
- name: Spell Check
15-
uses: streetsidesoftware/cspell-action@v6
16-
with:
17-
files: '**/*.md'
18-
config: 'config/cspell.json'
19-
structure:
20-
name: 🏗️ Structure Validation
20+
name: ✍️ Spelling Check
21+
runs-on: ubuntu-latest
22+
steps:
23+
- uses: actions/checkout@v4
24+
- name: Spell Check Code
25+
uses: streetsidesoftware/cspell-action@v6
26+
with:
27+
files: '**/*.md'
28+
config: 'config/cspell.json'
29+
detect-changed-skills:
30+
name: 🔎 Detect Changed Skills
2131
runs-on: ubuntu-latest
32+
outputs:
33+
skills: ${{ steps.changed-skills.outputs.skills }}
2234
steps:
2335
- uses: actions/checkout@v4
24-
- name: Check For Large Files (under 50KB)
25-
run: bash ./scripts/check_large_files.sh
26-
skill-validation:
27-
name: 📋 Skill Validation
36+
with:
37+
fetch-depth: 0
38+
- name: Get changed skills
39+
id: changed-skills
40+
run: |
41+
BASE=${{ github.event.pull_request.base.sha }}
42+
HEAD=${{ github.event.pull_request.head.sha }}
43+
SKILLS=$(git diff --name-only $BASE $HEAD | \
44+
{ grep 'SKILL.md' || true; } | \
45+
xargs -I {} dirname {} | \
46+
sort -u | \
47+
jq -R -s -c 'split("\n") | map(select(length > 0))')
48+
echo "skills=$SKILLS" >> "$GITHUB_OUTPUT"
49+
echo "Changed skills: $SKILLS"
50+
validate-skills:
51+
name: 🔍 Validate Skills
52+
needs: detect-changed-skills
53+
if: needs.detect-changed-skills.outputs.skills != '[]'
2854
runs-on: ubuntu-latest
55+
strategy:
56+
fail-fast: false
57+
matrix:
58+
skill: ${{ fromJson(needs.detect-changed-skills.outputs.skills) }}
2959
steps:
3060
- uses: actions/checkout@v4
31-
- name: Validate SKILL.md Files
32-
run: bash ./scripts/validate_skills.sh
61+
- name: Validate ${{ matrix.skill }}
62+
id: validate
63+
uses: Flash-Brew-Digital/validate-skill@v1
64+
with:
65+
path: ${{ matrix.skill }}
66+
validate-references: 'true'
67+
fail-on-warning: 'true'
68+
ignore-rules: 'name-match-directory,unknown-field'
69+
- name: Check results
70+
if: always()
71+
run: |
72+
echo "Valid: ${{ steps.validate.outputs.valid }}"
73+
echo "Errors: ${{ steps.validate.outputs.errors }}"
74+
echo "Warnings: ${{ steps.validate.outputs.warnings }}"
3375
manifest-validation:
3476
name: 📦 Manifest Validation
3577
runs-on: ubuntu-latest
3678
steps:
3779
- uses: actions/checkout@v4
3880
- name: Validate Plugin Manifest
39-
run: bash ./scripts/validate_plugin_manifest.sh
81+
run: bash ./scripts/validate_plugin_manifest.sh

CLAUDE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Very Good AI Flutter Plugin is a Claude Code plugin that provides best-practices
88

99
## Repository Structure
1010

11-
```
11+
```text
1212
.mcp.json # MCP server configuration (Very Good CLI)
1313
.claude-plugin/
1414
plugin.json # Plugin manifest (name, version, tags)

CODE_OF_CONDUCT.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ further defined and clarified by project maintainers.
5555
## Enforcement
5656

5757
Instances of abusive, harassing, or otherwise unacceptable behavior may be
58-
reported by contacting the project team at hello@verygood.ventures. All
58+
reported by contacting the project team at <hello@verygood.ventures>. All
5959
complaints will be reviewed and investigated and will result in a response that
6060
is deemed necessary and appropriate to the circumstances. The project team is
6161
obligated to maintain confidentiality with regard to the reporter of an incident.
@@ -68,9 +68,9 @@ members of the project's leadership.
6868
## Attribution
6969

7070
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71-
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
71+
available at <https://www.contributor-covenant.org/version/1/4/code-of-conduct.html>
7272

7373
[homepage]: https://www.contributor-covenant.org
7474

7575
For answers to common questions about this code of conduct, see
76-
https://www.contributor-covenant.org/faq/
76+
<https://www.contributor-covenant.org/faq/>

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ If the spelling check flags a legitimate word, add it to `config/cspell.json` in
8686

8787
Use [Conventional Commits](https://www.conventionalcommits.org/) with the format:
8888

89-
```
89+
```text
9090
type(scope): description
9191
```
9292

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,4 +119,4 @@ The `.mcp.json` file at the project root registers a `very-good-cli` MCP server
119119
[very_good_ventures_link_dark]: https://verygood.ventures#gh-dark-mode-only
120120
[very_good_ventures_link_light]: https://verygood.ventures#gh-light-mode-only
121121
[logo_black]: https://raw.githubusercontent.com/VGVentures/very_good_brand/main/styles/README/vgv_logo_black.png#gh-light-mode-only
122-
[logo_white]: https://raw.githubusercontent.com/VGVentures/very_good_brand/main/styles/README/vgv_logo_white.png#gh-dark-mode-only
122+
[logo_white]: https://raw.githubusercontent.com/VGVentures/very_good_brand/main/styles/README/vgv_logo_white.png#gh-dark-mode-only

config/cspell.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
"jailbroken",
1818
"LTRB",
1919
"mapbox",
20+
"microtasks",
2021
"mocktail",
2122
"monorepo",
2223
"Mundo",

config/custom.markdownlint.jsonc

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"MD009": false,
3+
"MD013": false,
4+
"MD032": false,
5+
"MD033": false,
6+
"MD036": false,
7+
"MD041": false
8+
}

scripts/check_large_files.sh

Lines changed: 0 additions & 19 deletions
This file was deleted.

scripts/validate_skills.sh

Lines changed: 0 additions & 118 deletions
This file was deleted.

0 commit comments

Comments
 (0)