Skip to content

Commit 6268f1d

Browse files
jongioCopilot
andauthored
feat(web): redesign website with shared azd-web-core design system (#17)
- Migrate to shared @jongio/azd-web-core components (Header, Footer, ThemeToggle, SuiteNav) - Apply "Developer Terminal" design system (dark-first, Geist fonts, sky/violet palette) - Add command showcase (❯ azd copilot) to hero section - Add X/Twitter and LinkedIn social links to header - Update CI workflow with GitHub Packages auth and repository_dispatch trigger - Add .npmrc for @jongio scoped package registry Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent a0c1714 commit 6268f1d

File tree

14 files changed

+421
-1238
lines changed

14 files changed

+421
-1238
lines changed

.github/workflows/website.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
name: Website Deploy
22

33
on:
4+
repository_dispatch:
5+
types: [azd-web-core-updated]
46
workflow_dispatch:
57
workflow_call:
68
push:
@@ -19,6 +21,7 @@ concurrency:
1921
permissions:
2022
contents: write
2123
pull-requests: write
24+
packages: read
2225

2326
jobs:
2427
build:
@@ -39,10 +42,13 @@ jobs:
3942
node-version: '20'
4043
cache: 'pnpm'
4144
cache-dependency-path: 'web/pnpm-lock.yaml'
45+
registry-url: 'https://npm.pkg.github.com'
4246

4347
- name: Install dependencies
4448
working-directory: web
4549
run: pnpm install --frozen-lockfile
50+
env:
51+
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
4652

4753
- name: Build website (Production)
4854
if: github.event_name != 'pull_request'

README.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
**Describe what you want. Copilot builds it and deploys it to Azure.**
44

5+
[**🌐 Visit the Website →**](https://jongio.github.io/azd-copilot/) | [**📦 azd Extensions Hub →**](https://jongio.github.io/azd-extensions/)
6+
57
`azd copilot` is an [Azure Developer CLI](https://learn.microsoft.com/azure/developer/azure-developer-cli/) extension that turns GitHub Copilot CLI into a full-stack Azure development assistant — 16 specialized agents, 28 Azure skills, and 6 MCP servers working together so you can go from idea to deployed app in one command.
68

79
```
@@ -368,6 +370,19 @@ skills/my-skill/
368370

369371
Then run `mage UpdateCounts` to update agent/skill counts across the project.
370372

373+
## 🔗 azd Extensions
374+
375+
azd copilot is part of a suite of Azure Developer CLI extensions by [Jon Gallant](https://github.com/jongio).
376+
377+
| Extension | Description | Website |
378+
|-----------|-------------|---------|
379+
| **[azd app](https://github.com/jongio/azd-app)** | Run Azure apps locally with auto-dependencies, dashboard, and AI debugging | [jongio.github.io/azd-app](https://jongio.github.io/azd-app/) |
380+
| **[azd copilot](https://github.com/jongio/azd-copilot)** | AI-powered Azure development with 16 agents and 28 skills | [jongio.github.io/azd-copilot](https://jongio.github.io/azd-copilot/) |
381+
| **[azd exec](https://github.com/jongio/azd-exec)** | Execute scripts with azd environment context and Key Vault integration | [jongio.github.io/azd-exec](https://jongio.github.io/azd-exec/) |
382+
| **[azd rest](https://github.com/jongio/azd-rest)** | Authenticated REST API calls with automatic scope detection | [jongio.github.io/azd-rest](https://jongio.github.io/azd-rest/) |
383+
384+
🌐 **Extension Hub**: [jongio.github.io/azd-extensions](https://jongio.github.io/azd-extensions/) — Browse all extensions, quick install, and registry info.
385+
371386
## License
372387

373388
MIT

web/.npmrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
@jongio:registry=https://npm.pkg.github.com

web/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
},
1414
"dependencies": {
1515
"@astrojs/mdx": "^4.3.13",
16+
"@jongio/azd-web-core": "^2.0.0",
1617
"@tailwindcss/vite": "^4.1.18",
1718
"astro": "^5.17.1",
1819
"tailwindcss": "^4.1.18"

web/pnpm-lock.yaml

Lines changed: 14 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

web/src/components/AgentCard.astro

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -13,25 +13,25 @@ interface Props {
1313
const { id, emoji, name, role, description, skills, color, index } = Astro.props;
1414
1515
const colorMap: Record<string, string> = {
16-
azure: 'var(--color-glow-cyan)',
17-
purple: 'var(--color-glow-violet)',
18-
indigo: 'var(--color-glow-violet)',
19-
blue: 'var(--color-glow-cyan)',
20-
red: '#ef4444',
21-
sky: 'var(--color-glow-cyan)',
22-
orange: '#f97316',
23-
amber: '#f59e0b',
24-
neutral: 'var(--color-muted-foreground)',
25-
gold: '#eab308',
26-
stone: '#78716c',
27-
teal: 'var(--color-glow-emerald)',
28-
fuchsia: '#d946ef',
29-
cyan: 'var(--color-glow-cyan)',
30-
pink: '#ec4899',
31-
emerald: 'var(--color-glow-emerald)',
16+
azure: 'var(--color-primary)',
17+
purple: 'var(--color-accent)',
18+
indigo: 'var(--color-accent)',
19+
blue: 'var(--color-primary)',
20+
red: 'var(--color-danger)',
21+
sky: 'var(--color-primary)',
22+
orange: 'var(--color-warning)',
23+
amber: 'var(--color-warning)',
24+
neutral: 'var(--color-text-muted)',
25+
gold: 'var(--color-warning)',
26+
stone: 'var(--color-text-muted)',
27+
teal: 'var(--color-success)',
28+
fuchsia: 'var(--color-accent)',
29+
cyan: 'var(--color-primary)',
30+
pink: 'var(--color-accent)',
31+
emerald: 'var(--color-success)',
3232
};
3333
34-
const accentColor = colorMap[color] || 'var(--color-glow-cyan)';
34+
const accentColor = colorMap[color] || 'var(--color-primary)';
3535
---
3636

3737
<button
@@ -79,13 +79,13 @@ const accentColor = colorMap[color] || 'var(--color-glow-cyan)';
7979
align-items: center;
8080
text-align: center;
8181
padding: 1.5rem;
82-
border-radius: 1.25rem;
82+
border-radius: var(--radius-lg);
8383
cursor: pointer;
8484
transition: all 0.3s ease;
8585
animation: fade-up 0.6s ease-out forwards;
8686
opacity: 0;
87-
border-color: transparent;
88-
background: var(--color-card);
87+
border: 1px solid var(--color-border);
88+
background: var(--color-surface-2);
8989
}
9090

9191
.agent-card:hover {
@@ -140,7 +140,7 @@ const accentColor = colorMap[color] || 'var(--color-glow-cyan)';
140140
align-items: center;
141141
justify-content: center;
142142
font-size: 2.5rem;
143-
background: var(--color-secondary);
143+
background: var(--color-surface);
144144
border: 2px solid var(--accent);
145145
}
146146

@@ -170,7 +170,7 @@ const accentColor = colorMap[color] || 'var(--color-glow-cyan)';
170170
font-size: 1.125rem;
171171
font-weight: 700;
172172
margin: 0;
173-
color: var(--color-foreground);
173+
color: var(--color-text);
174174
}
175175

176176
.agent-role {
@@ -183,7 +183,7 @@ const accentColor = colorMap[color] || 'var(--color-glow-cyan)';
183183
.agent-desc {
184184
font-size: 0.8125rem;
185185
line-height: 1.5;
186-
color: var(--color-muted-foreground);
186+
color: var(--color-text-muted);
187187
margin: 0 0 0.75rem;
188188
display: -webkit-box;
189189
-webkit-line-clamp: 3;

web/src/components/AnimatedBackground.astro

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@
33
* AnimatedBackground Component
44
*
55
* Floating, glowing orbs that create a modern startup aesthetic.
6-
* Matching the style from azd-extensions.
6+
* Uses shared design token colors.
77
*/
88
---
99

1010
<div class="animated-bg" aria-hidden="true">
11-
<div class="orb orb-cyan"></div>
12-
<div class="orb orb-violet"></div>
13-
<div class="orb orb-emerald"></div>
11+
<div class="orb orb-primary"></div>
12+
<div class="orb orb-accent"></div>
13+
<div class="orb orb-success"></div>
1414
<div class="floating-dot dot-1"></div>
1515
<div class="floating-dot dot-2"></div>
1616
<div class="floating-dot dot-3"></div>
@@ -32,32 +32,32 @@
3232
animation: pulse-glow 4s ease-in-out infinite;
3333
}
3434

35-
.orb-cyan {
35+
.orb-primary {
3636
top: -10rem;
3737
left: -10rem;
3838
width: 20rem;
3939
height: 20rem;
40-
background: var(--color-glow-cyan);
40+
background: var(--color-primary);
4141
opacity: 0.2;
4242
}
4343

44-
.orb-violet {
44+
.orb-accent {
4545
top: 33%;
4646
right: -10rem;
4747
width: 24rem;
4848
height: 24rem;
49-
background: var(--color-glow-violet);
49+
background: var(--color-accent);
5050
opacity: 0.15;
5151
animation-delay: 2s;
5252
filter: blur(120px);
5353
}
5454

55-
.orb-emerald {
55+
.orb-success {
5656
bottom: -10rem;
5757
left: 33%;
5858
width: 18rem;
5959
height: 18rem;
60-
background: var(--color-glow-emerald);
60+
background: var(--color-success);
6161
opacity: 0.1;
6262
animation-delay: 4s;
6363
}
@@ -73,7 +73,7 @@
7373
left: 2.5rem;
7474
width: 0.5rem;
7575
height: 0.5rem;
76-
background: var(--color-glow-cyan);
76+
background: var(--color-primary);
7777
opacity: 0.6;
7878
}
7979

@@ -82,7 +82,7 @@
8282
right: 5rem;
8383
width: 0.75rem;
8484
height: 0.75rem;
85-
background: var(--color-glow-violet);
85+
background: var(--color-accent);
8686
opacity: 0.5;
8787
animation-delay: 2s;
8888
animation-duration: 8s;
@@ -93,7 +93,7 @@
9393
left: 15%;
9494
width: 0.5rem;
9595
height: 0.5rem;
96-
background: var(--color-glow-emerald);
96+
background: var(--color-success);
9797
opacity: 0.4;
9898
animation-delay: 1s;
9999
animation-duration: 7s;

web/src/components/FeatureCard.astro

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* FeatureCard Component
44
*
55
* Card for displaying features with icon, title, and description.
6-
* Has hover glow effects matching azd-extensions style.
6+
* Uses shared design token variables.
77
*/
88
interface Props {
99
icon: string;
@@ -16,9 +16,9 @@ interface Props {
1616
const { icon, title, description, href, glowColor = 'cyan' } = Astro.props;
1717
1818
const glowColorMap = {
19-
cyan: 'var(--color-glow-cyan)',
20-
violet: 'var(--color-glow-violet)',
21-
emerald: 'var(--color-glow-emerald)',
19+
cyan: 'var(--color-primary)',
20+
violet: 'var(--color-accent)',
21+
emerald: 'var(--color-success)',
2222
};
2323
2424
const color = glowColorMap[glowColor];
@@ -54,8 +54,8 @@ const Tag = href ? 'a' : 'div';
5454
position: relative;
5555
display: block;
5656
padding: 1.5rem;
57-
border-radius: 1rem;
58-
background: var(--color-card);
57+
border-radius: var(--radius-lg);
58+
background: var(--color-surface-2);
5959
backdrop-filter: blur(16px);
6060
border: 1px solid var(--color-border);
6161
text-decoration: none;
@@ -66,8 +66,8 @@ const Tag = href ? 'a' : 'div';
6666

6767
.feature-card:hover {
6868
transform: translateY(-4px) scale(1.01);
69-
border-color: rgba(148, 163, 184, 0.2);
70-
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
69+
border-color: color-mix(in srgb, var(--glow-color) 30%, var(--color-border));
70+
box-shadow: 0 20px 40px color-mix(in srgb, var(--glow-color) 15%, transparent);
7171
text-decoration: none;
7272
}
7373

@@ -101,8 +101,8 @@ const Tag = href ? 'a' : 'div';
101101
width: 3rem;
102102
height: 3rem;
103103
margin-bottom: 1rem;
104-
border-radius: 0.75rem;
105-
background: linear-gradient(135deg, rgba(6, 182, 212, 0.2), rgba(139, 92, 246, 0.1));
104+
border-radius: var(--radius-md);
105+
background: linear-gradient(135deg, color-mix(in srgb, var(--color-primary) 20%, transparent), color-mix(in srgb, var(--color-accent) 10%, transparent));
106106
transition: transform 0.3s ease;
107107
}
108108

@@ -118,12 +118,12 @@ const Tag = href ? 'a' : 'div';
118118
font-size: 1.125rem;
119119
font-weight: 600;
120120
margin-bottom: 0.5rem;
121-
color: var(--color-foreground);
121+
color: var(--color-text);
122122
}
123123

124124
.feature-description {
125125
font-size: 0.875rem;
126-
color: var(--color-muted-foreground);
126+
color: var(--color-text-muted);
127127
line-height: 1.6;
128128
margin: 0;
129129
}

0 commit comments

Comments
 (0)