Skip to content
This repository is currently being migrated. It's locked while the migration is in progress.

Commit ef09ef1

Browse files
authored
Merge branch 'main' into laurenvocke-va-patch-1
2 parents f731c60 + e1ded12 commit ef09ef1

93 files changed

Lines changed: 7204 additions & 2684 deletions

File tree

Some content is hidden

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

.claude/skills/mermaid-charts/SKILL.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,15 @@
1+
---
2+
name: mermaid-charts
3+
description: Creates and standardizes Mermaid decision flowcharts in VA Design System documentation, including templates, node types, accessibility alternatives, and the standard Jekyll include pattern.
4+
triggers:
5+
- mermaid chart
6+
- decision flowchart
7+
- mermaid diagram
8+
- flowchart TD
9+
- create a chart
10+
- add a chart
11+
---
12+
113
# SKILL: Mermaid Chart Implementation
214

315
## Overview
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
---
2+
name: DS Sprint Plan Template
3+
about: INTERNAL DS+F USE ONLY
4+
title: 'DS Sprint Plan XX'
5+
labels: platform-design-system-team
6+
assignees: 'caw310'
7+
8+
---
9+
10+
## Design System Team Sprint XX Plan (date range)
11+
12+
## Sprint Goals
13+
14+
- [ ] [Link to goal/initiative]
15+
- [ ] [Link to goal/initiative]
16+
- [ ] [Link to goal/initiative]
17+
18+
19+
## Sprint Point Estimation
20+
21+
Story points planned: XX points (XX points carry over from previous sprint)
22+
23+
Story points completed: [number of points]
24+
25+
## Support Rotation
26+
27+
DS Support: [engineer]
28+
DS Design Support: [designer]
29+
Tier 2 Support: [engineer]
30+
Collab Cycle Support: [engineer]
31+
32+
33+
## Initiatives or Epics & Issues
34+
35+
#### Blockers / Dependencies
36+
37+
38+
#### OKRs:
39+
40+
Link to current OKRs and epics: [Link to source of truth for OKRs/epics]
41+
42+
**Objective:** [Paste current objective]
43+
- **Key result(s):** [Optional: paste key result(s) or summary]
44+
- **Initiative / Epic:** [Link to related initiative or epic]
45+
- [ ] [Link to ticket]
46+
- [ ] [Link to ticket]
47+
- [ ] [Link to ticket]
48+
49+
**Objective:** [Paste current objective]
50+
- **Key result(s):** [Optional: paste key result(s) or summary]
51+
- **Initiative / Epic:** [Link to related initiative or epic]
52+
- [ ] [Link to ticket]
53+
- [ ] [Link to ticket]
54+
55+
**Additional Epics (not directly tied to OKRs):**
56+
- Epic: [Link to epic]
57+
- [ ] [Link to ticket]
58+
- [ ] [Link to ticket]
59+
- Epic: [Link to epic]
60+
- [ ] [Link to ticket]
61+
62+
***Carry over from previous sprint***
63+
- [ ] [Link to ticket]
64+
- [ ] [Link to ticket]
65+
66+
67+
Unplanned work (*link to work brought into the sprint after sprint starts*)
68+
- [ ] Link to Ticket
69+
- [ ] Link to Ticket
Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
---
2+
applyTo: "src/**/*.md"
3+
---
4+
5+
# Pattern page link formatting
6+
7+
When creating or reviewing links to pattern pages, always use the full URL path including the category subdirectory.
8+
9+
## Pattern URL structure
10+
11+
Pattern pages primarily use these category subdirectories:
12+
- `ask-users-for` — Patterns for collecting information from users
13+
- `help-users-to` — Patterns for helping users accomplish tasks
14+
- `html` — HTML pattern content stored under `src/_patterns/html/`
15+
16+
**Required link format**: `/patterns/[category]/[pattern-name]`
17+
18+
## Link text formatting rules
19+
20+
**Pattern link text must:**
21+
1. **Capitalize only the first letter** of the pattern name in the link text (e.g. "Ask users for" or "Help users to"). The rest of the pattern name uses sentence case — no mid-word capitals except for proper nouns (e.g., "Social Security number") and acronyms. For example:
22+
-`[Ask users for names]` — "names" is all lowercase
23+
-`[Ask users for a Social Security number]` — "Social Security" is a proper noun
24+
-`[Help users to update prefilled information]` — "update" and "prefilled" are lowercase
25+
-`[Ask users for Names]` — "Names" is not a proper noun and should not be capitalized
26+
-`[Help users to Update prefilled information]` — "Update" should be lowercase
27+
-`[Help users to Know when...]` — "Know" should be lowercase
28+
2. **Never include ellipses** (`...` or ``)
29+
3. **Never include quotes** around or within the link text, including:
30+
-`["Help users to..." pattern]` — Quotes around the link text
31+
-`[Help users to "update" information]` — Quotes within the link text
32+
-`["Update prefilled information"]` — Quotes around entire link text
33+
4. Include the category prefix when the context requires it
34+
35+
## Examples
36+
37+
**Correct link text:**
38+
-`[Names]({{ site.baseurl }}/patterns/ask-users-for/names)`
39+
-`[Phone numbers]({{ site.baseurl }}/patterns/ask-users-for/phone-numbers)`
40+
-`[Ask users for names]({{ site.baseurl }}/patterns/ask-users-for/names)`
41+
-`[Ask users for a single response]({{ site.baseurl }}/patterns/ask-users-for/a-single-response)`
42+
-`[Update prefilled information]({{ site.baseurl }}/patterns/help-users-to/update-prefilled-information)`
43+
-`[Help users to update prefilled information]({{ site.baseurl }}/patterns/help-users-to/update-prefilled-information)`
44+
-`[Complete a sub-task]({{ site.baseurl }}/patterns/help-users-to/complete-a-sub-task)`
45+
- ✅ With anchor: `[Dates]({{ site.baseurl }}/patterns/ask-users-for/dates#content-considerations)`
46+
47+
**Incorrect link text:**
48+
-`[ask users for names]` — First letter not capitalized
49+
-`[Ask users for... names]` — Contains ellipses
50+
-`[Help users to... Update prefilled information]` — Contains ellipses AND mid-word capital
51+
-`["Update prefilled information" pattern]` — Contains quotes
52+
-`[Ask users for… names]` — Contains ellipsis character
53+
-`[Help users to Know when...]` — Mid-word capital ("Know" should be "know")
54+
-`[Help users to Update Prefilled information]` — Mid-word capitals ("Update" and "Prefilled" should be lowercase)
55+
-`["Help users to manage benefits" pattern]` — Quotes around link text
56+
- ❌ The `"[Help users to update...]"` pattern — Quotes wrapping the entire markdown link
57+
58+
**Incorrect URLs:**
59+
-`/patterns/names` — Missing category subdirectory
60+
-`/patterns/update-prefilled-information` — Missing category subdirectory
61+
-`patterns/help-users-to/names` — Missing leading slash
62+
- ❌ Relative paths like `../patterns/help-users-to/names`
63+
64+
## Pattern name formatting in text
65+
66+
When referencing patterns in prose:
67+
- Use the pattern's official title as written on the pattern page, and keep capitalization consistent
68+
- Include "pattern" when first mentioned: "the Update prefilled information pattern"
69+
- Link pattern names on first reference per page
70+
- You may refer to the category in prose: "the Ask users for... patterns" or "the Help users to... category"
71+
72+
## Common pattern links
73+
74+
**Ask users for... patterns:**
75+
- Addresses: `/patterns/ask-users-for/addresses`
76+
- Dates: `/patterns/ask-users-for/dates`
77+
- Email address: `/patterns/ask-users-for/email-address`
78+
- Names: `/patterns/ask-users-for/names`
79+
- Phone numbers: `/patterns/ask-users-for/phone-numbers`
80+
- Signature: `/patterns/ask-users-for/signature`
81+
- Single response: `/patterns/ask-users-for/a-single-response`
82+
- Social Security or VA file number: `/patterns/ask-users-for/social-security-number`
83+
84+
**Help users to... patterns:**
85+
- Complete a sub-task: `/patterns/help-users-to/complete-a-sub-task`
86+
- Know when their information is prefilled: `/patterns/help-users-to/know-when-their-information-is-prefilled`
87+
- Update prefilled information: `/patterns/help-users-to/update-prefilled-information`
88+
89+
## Validation checklist
90+
91+
When reviewing or editing pattern links, check for:
92+
93+
1. **Capitalization errors:**
94+
- ✅ First letter of pattern name is capitalized (or lowercase if mid-sentence reference)
95+
- ✅ Proper nouns and acronyms retain their standard capitalization (e.g., "Social Security number")
96+
- ❌ Unnecessary mid-word capitals like "Know", "Update", "Prefilled", "Names" (not proper nouns)
97+
- Search patterns: `[Help users to [A-Z]`, `[Ask users for [A-Z][a-z]+ [A-Z]`
98+
99+
2. **Ellipsis errors:**
100+
- ❌ Three-dot ellipsis `...` in link text
101+
- ❌ Em dash ellipsis `` in link text
102+
- Search pattern: `\.\.\.|…` in links to pattern pages
103+
104+
3. **Quote errors:**
105+
- ❌ Quotes around the full link text: `["pattern name"]`
106+
- ❌ Quotes before the opening bracket: `"[pattern name]"`
107+
- ❌ Quotes inside link text: `["pattern" name]`
108+
- Search patterns: `"\[.*patterns/(ask-users-for|help-users-to)`, `\[".*"\]`
109+
110+
4. **URL structure:**
111+
- ✅ Full path with category: `/patterns/[category]/[pattern-name]`
112+
- ❌ Missing category subdirectory
113+
- ❌ Missing leading slash or using relative paths
114+
115+
## Finding the correct path
116+
117+
To verify a pattern's URL:
118+
1. Check the pattern's markdown file in `src/_patterns/[category]/`
119+
2. Look at the `permalink` field in the YAML front matter
120+
3. Use that exact path in your link

.github/prompts/Guidance-follow-content-style-guide.prompt.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,6 @@ This includes specific guidance on:
3131

3232
When the changed files include component documentation in `src/_components/`, also apply these standards:
3333

34-
[component-guidance.instructions.md](../instructions/component-guidance.instructions.md)
35-
3634
[component-guidance-structure.instructions.md](../instructions/component-guidance-structure.instructions.md)
3735

3836
## Review Process

.github/workflows/metrics-dashboard.yml

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,15 @@ jobs:
219219
env:
220220
GITHUB_TOKEN: ${{ secrets.VADS_WORKFLOWS }}
221221

222+
- name: Collect bug report metrics
223+
continue-on-error: true
224+
run: |
225+
echo "Starting bug report metrics collection..."
226+
node scripts/collect-bug-report-metrics.js
227+
echo "Bug report metrics collection completed"
228+
env:
229+
GITHUB_TOKEN: ${{ secrets.VADS_WORKFLOWS }}
230+
222231
- name: Verify generated data files
223232
run: |
224233
echo "Checking for generated files..."
@@ -337,6 +346,21 @@ jobs:
337346
echo "ℹ️ component-bug-metrics.json not found for Jekyll (collection may have been skipped)"
338347
fi
339348
349+
# Check bug report metrics in both locations (non-blocking since collection has continue-on-error)
350+
if [ -f "src/assets/data/metrics/bug-report-metrics.json" ]; then
351+
echo "✅ bug-report-metrics.json generated successfully in assets"
352+
echo "File size: $(du -h src/assets/data/metrics/bug-report-metrics.json)"
353+
else
354+
echo "ℹ️ bug-report-metrics.json not found in assets (collection may have been skipped)"
355+
fi
356+
357+
if [ -f "src/_data/metrics/bug-report-metrics.json" ]; then
358+
echo "✅ bug-report-metrics.json also generated for Jekyll"
359+
echo "File size: $(du -h src/_data/metrics/bug-report-metrics.json)"
360+
else
361+
echo "ℹ️ bug-report-metrics.json not found for Jekyll (collection may have been skipped)"
362+
fi
363+
340364
- name: Check for changes
341365
id: git-check
342366
run: |
@@ -351,12 +375,14 @@ jobs:
351375
src/assets/data/metrics/governance-index.json \
352376
src/assets/data/metrics/imposter-metrics.json \
353377
src/assets/data/metrics/component-bug-metrics.json \
378+
src/assets/data/metrics/bug-report-metrics.json \
354379
src/_data/metrics/issue-metrics.json \
355380
src/_data/metrics/experimental-metrics.json \
356381
src/_data/metrics/component-usage.json \
357382
src/_data/metrics/governance-index.json \
358383
src/_data/metrics/imposter-metrics.json \
359-
src/_data/metrics/component-bug-metrics.json; do
384+
src/_data/metrics/component-bug-metrics.json \
385+
src/_data/metrics/bug-report-metrics.json; do
360386
if [ -f "$file" ]; then
361387
git add "$file"
362388
fi

Gemfile.lock

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ GEM
22
remote: https://rubygems.org/
33
specs:
44
Ascii85 (2.0.1)
5-
addressable (2.8.7)
6-
public_suffix (>= 2.0.2, < 7.0)
5+
addressable (2.9.0)
6+
public_suffix (>= 2.0.2, < 8.0)
77
afm (1.0.0)
88
async (2.36.0)
99
console (~> 1.29)
@@ -135,7 +135,7 @@ GEM
135135
hashery (~> 2.0)
136136
ruby-rc4
137137
ttfunk
138-
public_suffix (6.0.2)
138+
public_suffix (7.0.5)
139139
racc (1.8.1)
140140
rainbow (3.1.1)
141141
rake (13.3.1)

README.md

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -85,27 +85,36 @@ This site is build with [Jekyll](http://jekyllrb.com). Tested using `node` v18.1
8585

8686
5. **Build and start the Jekyll server**
8787

88+
**For most documentation work (fast development with auto-reload):**
89+
8890
```bash
89-
yarn start:storybook-static
91+
yarn watch
9092
```
9193

92-
or, if not using step 7 below:
94+
**For standard full builds:**
9395

9496
```bash
9597
yarn start
9698
```
9799

98-
6. **Verify in browser: [localhost:4000](http://localhost:4000/)**
99100

100-
7. **Start the Storybook server for component previews**
101+
**For testing with a local static Storybook build:**
101102

102-
In a new terminal window, navigate to your `component-library/packages/storybook` directory and run:
103+
First, in a separate terminal window, navigate to your `component-library/packages/storybook` directory and start the local Storybook server:
103104

104105
```bash
105106
yarn static-storybook-server
106107
```
108+
109+
Verify Storybook is running at [localhost:8080](http://localhost:8080/), then run:
107110

108-
8. **Verify Storybook is running: [localhost:8080](http://localhost:8080/)**
111+
```bash
112+
yarn start:storybook-static
113+
```
114+
115+
This configures the site to use `http://localhost:8080` for Storybook previews instead of the production Storybook URL. Only use this workflow if you need to test documentation changes against a local Storybook build from the component-library repo.
116+
117+
6. **Verify in browser: [localhost:4000](http://localhost:4000/)**
109118

110119
## Adding content to the documentation site
111120

0 commit comments

Comments
 (0)