Skip to content

Commit aa1e3ee

Browse files
Merge pull request #1938 from rocketstack-matt/feat/setup
feat(setup): add setup guide for keeping CALM tools up to date and update content copying script
2 parents 1134e50 + f31b945 commit aa1e3ee

File tree

5 files changed

+385
-3
lines changed

5 files changed

+385
-3
lines changed

advent-of-calm/home.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@ Each day from December 1st through December 24th, a new challenge unlocks. Each
2424
Before you begin, make sure you have:
2525
- Git installed
2626
- Node.js (18+) and npm installed
27-
- VSCode editor (recommended)
27+
- VSCode editor (106+)
2828
- GitHub account (recommended for portfolio sharing)
29-
- GitHub Copilot access (optional but helpful)
29+
- GitHub Copilot access
3030

3131
### Your First Steps
3232

advent-of-calm/setup.md

Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
# Keeping Your CALM Tools Up to Date
2+
3+
We make frequent updates to improve your experience with CALM. This page explains how to ensure you're always using the latest versions of all CALM tools.
4+
5+
## CALM CLI
6+
7+
The CALM CLI (`@finos/calm-cli`) is the core command-line tool for working with CALM architecture files.
8+
9+
### Check Your Current Version
10+
11+
```bash
12+
calm --version
13+
```
14+
15+
### Update to the Latest Version
16+
17+
To update the CALM CLI to the latest version, run:
18+
19+
```bash
20+
npm install -g @finos/calm-cli
21+
```
22+
23+
This will fetch and install the latest release from npm. We recommend doing this regularly, especially if you encounter any issues or want to use new features.
24+
25+
### Verify the Update
26+
27+
After updating, verify the new version:
28+
29+
```bash
30+
calm --version
31+
```
32+
33+
## CALM VS Code Extension
34+
35+
The CALM VS Code Extension provides syntax highlighting, validation, and IntelliSense for CALM JSON files.
36+
37+
### Check for Updates
38+
39+
1. Open VS Code
40+
2. Click on the Extensions icon in the sidebar (or press `Cmd+Shift+X` / `Ctrl+Shift+X`)
41+
3. Search for "CALM" in your installed extensions
42+
4. If an update is available, you'll see an "Update" button
43+
44+
### Enable Auto-Updates
45+
46+
To ensure you always have the latest version:
47+
48+
1. Open VS Code Settings (`Cmd+,` / `Ctrl+,`)
49+
2. Search for "extensions auto update"
50+
3. Set **Extensions: Auto Update** to "All Extensions" or "Only Enabled Extensions"
51+
52+
### Manual Update
53+
54+
If auto-update is disabled, you can manually update:
55+
56+
1. Go to the Extensions view
57+
2. Find the CALM extension
58+
3. Click the gear icon and select "Check for Updates"
59+
4. Click "Update" if available
60+
61+
## CALM Copilot Chatmode
62+
63+
The CALM Copilot Chatmode enhances GitHub Copilot with deep knowledge of the CALM specification, making it an expert assistant for architecture authoring.
64+
65+
### What is a Chatmode?
66+
67+
Chatmodes are specialized configurations for GitHub Copilot Chat that provide domain-specific expertise. The CALM chatmode includes:
68+
- Complete CALM schema knowledge
69+
- Best practices for architecture modeling
70+
- Examples and patterns
71+
72+
### Install or Update the Chatmode
73+
74+
Use the CALM CLI to install or update the chatmode:
75+
76+
```bash
77+
calm copilot-chatmode
78+
```
79+
80+
This command will:
81+
- Create or update `.github/copilot-instructions.md` in your repository
82+
- Download the latest chatmode configuration from the CALM project
83+
- Ensure you have the most up-to-date CALM expertise for Copilot
84+
85+
### Apply the Update
86+
87+
After installing or updating the chatmode:
88+
89+
1. **Start a new Copilot Chat session** in VS Code
90+
- Close any existing chat panels
91+
- Open a fresh chat session (click the Copilot chat icon or use `Cmd+Shift+I` / `Ctrl+Shift+I`)
92+
93+
2. The updated chatmode will be active in your new chat session
94+
95+
**Note:** You don't need to restart VS Code - just start a new chat session!
96+
97+
## Why Keep Updated?
98+
99+
Regular updates ensure you have:
100+
- **Latest features** - New capabilities and commands
101+
- **Bug fixes** - Resolved issues and improved stability
102+
- **Better performance** - Optimizations and speed improvements
103+
- **Security patches** - Important security updates
104+
- **Updated documentation** - Accurate help and examples
105+
- **Schema updates** - Support for new CALM specification versions
106+
107+
## Troubleshooting
108+
109+
### CLI Issues
110+
111+
If you experience issues after updating the CLI:
112+
113+
1. Clear npm cache: `npm cache clean --force`
114+
2. Reinstall: `npm uninstall -g @finos/calm-cli && npm install -g @finos/calm-cli`
115+
3. Check Node.js version: `node --version` (Node.js 18+ recommended)
116+
117+
### VS Code Extension Issues
118+
119+
If the extension isn't working properly:
120+
121+
1. Reload VS Code window
122+
2. Disable and re-enable the extension
123+
3. Uninstall and reinstall the extension
124+
4. Check the Output panel (View → Output → select "CALM" from dropdown)
125+
126+
### Chatmode Issues
127+
128+
If Copilot doesn't seem to be using the chatmode:
129+
130+
1. Verify `.github/copilot-instructions.md` exists in your repository root
131+
2. Run `calm copilot-chatmode` to ensure it's up to date
132+
3. Start a completely new chat session (close and reopen)
133+
4. Ensure GitHub Copilot is active (check status bar)
134+
5. Make sure you're chatting from within your repository directory
135+
136+
## Getting Help
137+
138+
If you continue to experience issues:
139+
140+
- Check the [CALM documentation](https://calm.finos.org)
141+
- Visit the [GitHub repository](https://github.com/finos/architecture-as-code)
142+
- Open an issue on GitHub
143+

advent-of-calm/website/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"build": "npm run copy:content && astro check && astro build",
99
"preview": "astro preview",
1010
"astro": "astro",
11-
"copy:content": "mkdir -p src/content/days && cp ../day-*.md src/content/days/ && cp ../home.md src/"
11+
"copy:content": "mkdir -p src/content/days && cp ../day-*.md src/content/days/ && cp ../setup.md src/content/days/ && cp ../home.md src/"
1212
},
1313
"dependencies": {
1414
"@astrojs/check": "^0.9.6",

advent-of-calm/website/src/layouts/Layout.astro

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,17 @@ const { title, description = "A 24-day progressive learning challenge for CALM"
2828
</div>
2929
</header>
3030

31+
<div class="update-banner">
32+
<div class="container">
33+
<div class="banner-content">
34+
<span class="banner-icon">💡</span>
35+
<div class="banner-text">
36+
<strong>Stay Up to Date!</strong> We make frequent updates. <a href={`${import.meta.env.BASE_URL}setup/`} class="banner-link">See here</a> for how to make sure you're using the latest CALM tools.
37+
</div>
38+
</div>
39+
</div>
40+
</div>
41+
3142
<main>
3243
<div class="container">
3344
<slot />
@@ -100,6 +111,55 @@ const { title, description = "A 24-day progressive learning challenge for CALM"
100111
color: var(--color-accent);
101112
}
102113

114+
.update-banner {
115+
background: linear-gradient(135deg, #007dff 0%, #0056b3 100%);
116+
color: white;
117+
padding: var(--spacing-md) 0;
118+
box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1);
119+
}
120+
121+
.banner-content {
122+
display: flex;
123+
align-items: flex-start;
124+
gap: var(--spacing-sm);
125+
}
126+
127+
.banner-icon {
128+
font-size: 1.5rem;
129+
flex-shrink: 0;
130+
}
131+
132+
.banner-text {
133+
flex: 1;
134+
line-height: 1.6;
135+
}
136+
137+
.banner-text strong {
138+
font-weight: 600;
139+
display: inline-block;
140+
margin-bottom: 0.25rem;
141+
}
142+
143+
.banner-text code {
144+
background: rgba(255, 255, 255, 0.2);
145+
color: white;
146+
padding: 0.15em 0.4em;
147+
border-radius: 4px;
148+
font-size: 0.9em;
149+
font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
150+
}
151+
152+
.banner-link {
153+
color: white;
154+
text-decoration: underline;
155+
font-weight: 600;
156+
}
157+
158+
.banner-link:hover {
159+
color: rgba(255, 255, 255, 0.9);
160+
text-decoration: none;
161+
}
162+
103163
@media (max-width: 768px) {
104164
.logo img {
105165
height: 32px;
@@ -108,5 +168,17 @@ const { title, description = "A 24-day progressive learning challenge for CALM"
108168
.title {
109169
font-size: 1.2rem;
110170
}
171+
172+
.update-banner {
173+
padding: var(--spacing-sm) 0;
174+
}
175+
176+
.banner-icon {
177+
font-size: 1.25rem;
178+
}
179+
180+
.banner-text {
181+
font-size: 0.9rem;
182+
}
111183
}
112184
</style>

0 commit comments

Comments
 (0)