Skip to content

Commit ab4e9dc

Browse files
authored
v0.5.73: ci, helm updates, kb, ui fixes, note block enhancements
2 parents 1c58c35 + 46ba315 commit ab4e9dc

File tree

185 files changed

+12142
-3091
lines changed

Some content is hidden

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

185 files changed

+12142
-3091
lines changed

.github/workflows/ci.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ concurrency:
1010
group: ci-${{ github.ref }}
1111
cancel-in-progress: false
1212

13+
permissions:
14+
contents: read
15+
1316
jobs:
1417
test-build:
1518
name: Test and Build
@@ -278,3 +281,30 @@ jobs:
278281
if: needs.check-docs-changes.outputs.docs_changed == 'true'
279282
uses: ./.github/workflows/docs-embeddings.yml
280283
secrets: inherit
284+
285+
# Create GitHub Release (only for version commits on main, after all builds complete)
286+
create-release:
287+
name: Create GitHub Release
288+
runs-on: blacksmith-4vcpu-ubuntu-2404
289+
needs: [create-ghcr-manifests, detect-version]
290+
if: needs.detect-version.outputs.is_release == 'true'
291+
permissions:
292+
contents: write
293+
steps:
294+
- name: Checkout code
295+
uses: actions/checkout@v4
296+
with:
297+
fetch-depth: 0
298+
299+
- name: Setup Bun
300+
uses: oven-sh/setup-bun@v2
301+
with:
302+
bun-version: latest
303+
304+
- name: Install dependencies
305+
run: bun install --frozen-lockfile
306+
307+
- name: Create release
308+
env:
309+
GH_PAT: ${{ secrets.GITHUB_TOKEN }}
310+
run: bun run scripts/create-single-release.ts ${{ needs.detect-version.outputs.version }}

.github/workflows/docs-embeddings.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ on:
44
workflow_call:
55
workflow_dispatch: # Allow manual triggering
66

7+
permissions:
8+
contents: read
9+
710
jobs:
811
process-docs-embeddings:
912
name: Process Documentation Embeddings

.github/workflows/migrations.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ on:
44
workflow_call:
55
workflow_dispatch:
66

7+
permissions:
8+
contents: read
9+
710
jobs:
811
migrate:
912
name: Apply Database Migrations

.github/workflows/publish-cli.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ on:
66
paths:
77
- 'packages/cli/**'
88

9+
permissions:
10+
contents: read
11+
912
jobs:
1013
publish-npm:
1114
runs-on: blacksmith-4vcpu-ubuntu-2404

.github/workflows/publish-python-sdk.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ on:
66
paths:
77
- 'packages/python-sdk/**'
88

9+
permissions:
10+
contents: write
11+
912
jobs:
1013
publish-pypi:
1114
runs-on: blacksmith-4vcpu-ubuntu-2404

.github/workflows/publish-ts-sdk.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ on:
66
paths:
77
- 'packages/ts-sdk/**'
88

9+
permissions:
10+
contents: write
11+
912
jobs:
1013
publish-npm:
1114
runs-on: blacksmith-4vcpu-ubuntu-2404

.github/workflows/test-build.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ on:
44
workflow_call:
55
workflow_dispatch:
66

7+
permissions:
8+
contents: read
9+
710
jobs:
811
test-build:
912
name: Test and Build

apps/docs/app/[lang]/[[...slug]]/page.tsx

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -185,11 +185,6 @@ export default async function Page(props: { params: Promise<{ slug?: string[]; l
185185
tableOfContent={{
186186
style: 'clerk',
187187
enabled: true,
188-
header: (
189-
<div key='toc-header' className='mb-2 font-medium text-sm'>
190-
On this page
191-
</div>
192-
),
193188
footer: <TOCFooter />,
194189
single: false,
195190
}}

apps/docs/app/[lang]/layout.tsx

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ import { defineI18nUI } from 'fumadocs-ui/i18n'
33
import { DocsLayout } from 'fumadocs-ui/layouts/docs'
44
import { RootProvider } from 'fumadocs-ui/provider/next'
55
import { Geist_Mono, Inter } from 'next/font/google'
6-
import Image from 'next/image'
76
import {
87
SidebarFolder,
98
SidebarItem,
109
SidebarSeparator,
1110
} from '@/components/docs-layout/sidebar-components'
1211
import { Navbar } from '@/components/navbar/navbar'
12+
import { SimLogoFull } from '@/components/ui/sim-logo'
1313
import { i18n } from '@/lib/i18n'
1414
import { source } from '@/lib/source'
1515
import '../global.css'
@@ -102,16 +102,7 @@ export default async function Layout({ children, params }: LayoutProps) {
102102
<DocsLayout
103103
tree={source.pageTree[lang]}
104104
nav={{
105-
title: (
106-
<Image
107-
src='/static/logo.png'
108-
alt='Sim'
109-
width={72}
110-
height={28}
111-
className='h-7 w-auto'
112-
priority
113-
/>
114-
),
105+
title: <SimLogoFull className='h-7 w-auto' />,
115106
}}
116107
sidebar={{
117108
defaultOpenLevel: 0,

apps/docs/app/api/og/route.tsx

Lines changed: 46 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -33,15 +33,41 @@ async function loadGoogleFont(font: string, weights: string, text: string): Prom
3333
throw new Error('Failed to load font data')
3434
}
3535

36+
/**
37+
* Sim logo with icon and "Sim" text for OG image.
38+
*/
39+
function SimLogoFull() {
40+
return (
41+
<svg height='28' viewBox='720 440 1020 320' fill='none'>
42+
{/* Green icon - top left shape with cutout */}
43+
<path
44+
fillRule='evenodd'
45+
clipRule='evenodd'
46+
d='M875.791 577.171C875.791 581.922 873.911 586.483 870.576 589.842L870.098 590.323C866.764 593.692 862.234 595.575 857.517 595.575H750.806C740.978 595.575 733 603.6 733 613.498V728.902C733 738.799 740.978 746.826 750.806 746.826H865.382C875.209 746.826 883.177 738.799 883.177 728.902V620.853C883.177 616.448 884.912 612.222 888.008 609.104C891.093 605.997 895.29 604.249 899.664 604.249H1008.16C1017.99 604.249 1025.96 596.224 1025.96 586.327V470.923C1025.96 461.025 1017.99 453 1008.16 453H893.586C883.759 453 875.791 461.025 875.791 470.923V577.171ZM910.562 477.566H991.178C996.922 477.566 1001.57 482.254 1001.57 488.029V569.22C1001.57 574.995 996.922 579.683 991.178 579.683H910.562C904.828 579.683 900.173 574.995 900.173 569.22V488.029C900.173 482.254 904.828 477.566 910.562 477.566Z'
47+
fill='#33C482'
48+
/>
49+
{/* Green icon - bottom right square */}
50+
<path
51+
d='M1008.3 624.59H923.113C912.786 624.59 904.414 633.022 904.414 643.423V728.171C904.414 738.572 912.786 747.004 923.113 747.004H1008.3C1018.63 747.004 1027 738.572 1027 728.171V643.423C1027 633.022 1018.63 624.59 1008.3 624.59Z'
52+
fill='#33C482'
53+
/>
54+
{/* "Sim" text - white for dark background */}
55+
<path
56+
d='M1210.54 515.657C1226.65 515.657 1240.59 518.51 1252.31 524.257H1252.31C1264.3 529.995 1273.63 538.014 1280.26 548.319H1280.26C1287.19 558.635 1290.78 570.899 1291.08 585.068L1291.1 586.089H1249.11L1249.09 585.115C1248.8 574.003 1245.18 565.493 1238.32 559.451C1231.45 553.399 1221.79 550.308 1209.21 550.308C1196.3 550.308 1186.48 553.113 1179.61 558.588C1172.76 564.046 1169.33 571.499 1169.33 581.063C1169.33 588.092 1171.88 593.978 1177.01 598.783C1182.17 603.618 1189.99 607.399 1200.56 610.061H1200.56L1238.77 619.451C1257.24 623.65 1271.21 630.571 1280.57 640.293L1281.01 640.739C1290.13 650.171 1294.64 662.97 1294.64 679.016C1294.64 692.923 1290.88 705.205 1283.34 715.822L1283.33 715.834C1275.81 726.134 1265.44 734.14 1252.26 739.866L1252.25 739.871C1239.36 745.302 1224.12 748 1206.54 748C1180.9 748 1160.36 741.696 1145.02 728.984C1129.67 716.258 1122 699.269 1122 678.121V677.121H1163.99V678.121C1163.99 688.869 1167.87 697.367 1175.61 703.722L1176.34 704.284C1184.04 709.997 1194.37 712.902 1207.43 712.902C1222.13 712.902 1233.3 710.087 1241.07 704.588C1248.8 698.812 1252.64 691.21 1252.64 681.699C1252.64 674.769 1250.5 669.057 1246.25 664.49L1246.23 664.478L1246.22 664.464C1242.28 659.929 1234.83 656.119 1223.64 653.152L1185.43 644.208L1185.42 644.204C1166.05 639.407 1151.49 632.035 1141.83 622.012L1141.83 622.006L1141.82 622C1132.43 611.94 1127.78 598.707 1127.78 582.405C1127.78 568.81 1131.23 556.976 1138.17 546.949L1138.18 546.941L1138.19 546.933C1145.41 536.936 1155.18 529.225 1167.48 523.793L1167.48 523.79C1180.07 518.36 1194.43 515.657 1210.54 515.657ZM1323.39 521.979C1331.68 525.008 1337.55 526.482 1343.51 526.482C1349.48 526.482 1355.64 525.005 1364.49 521.973L1365.82 521.52V742.633H1322.05V521.489L1323.39 521.979ZM1642.01 515.657C1667.11 515.657 1686.94 523.031 1701.39 537.876C1715.83 552.716 1723 572.968 1723 598.507V742.633H1680.12V608.794C1680.12 591.666 1675.72 578.681 1667.07 569.681L1667.06 569.669L1667.04 569.656C1658.67 560.359 1647.26 555.675 1632.68 555.675C1622.47 555.675 1613.47 558.022 1605.64 562.69L1605.63 562.696C1598.11 567.064 1592.17 573.475 1587.8 581.968C1583.44 590.448 1581.25 600.424 1581.25 611.925V742.633H1537.92V608.347C1537.92 591.208 1533.67 578.376 1525.31 569.68L1525.31 569.674L1525.3 569.668C1516.93 560.664 1505.52 556.122 1490.93 556.122C1480.72 556.122 1471.72 558.469 1463.89 563.138L1463.88 563.144C1456.36 567.511 1450.41 573.922 1446.05 582.415L1446.05 582.422L1446.04 582.428C1441.69 590.602 1439.5 600.423 1439.5 611.925V742.633H1395.72V521.919H1435.05V554.803C1439.92 544.379 1447.91 535.465 1458.37 528.356C1470.71 519.875 1485.58 515.657 1502.93 515.657C1522.37 515.657 1538.61 520.931 1551.55 531.538C1560.38 538.771 1567.1 547.628 1571.72 558.091C1576.05 547.619 1582.83 538.757 1592.07 531.524C1605.61 520.93 1622.28 515.657 1642.01 515.657ZM1343.49 452C1351.45 452 1358.23 454.786 1363.75 460.346C1369.27 465.905 1372.04 472.721 1372.04 480.73C1372.04 488.452 1369.27 495.254 1363.77 501.096L1363.76 501.105L1363.75 501.115C1358.23 506.675 1351.45 509.461 1343.49 509.461C1335.81 509.461 1329.05 506.669 1323.25 501.134L1323.23 501.115L1323.21 501.096C1317.71 495.254 1314.94 488.452 1314.94 480.73C1314.94 472.721 1317.7 465.905 1323.23 460.346L1323.24 460.337L1323.25 460.327C1329.05 454.792 1335.81 452 1343.49 452Z'
57+
fill='#fafafa'
58+
/>
59+
</svg>
60+
)
61+
}
62+
3663
/**
3764
* Generates dynamic Open Graph images for documentation pages.
65+
* Style matches Cursor docs: dark background, title at top, logo bottom-left, domain bottom-right.
3866
*/
3967
export async function GET(request: NextRequest) {
4068
const { searchParams } = new URL(request.url)
4169
const title = searchParams.get('title') || 'Documentation'
4270

43-
const baseUrl = new URL(request.url).origin
44-
4571
const allText = `${title}docs.sim.ai`
4672
const fontData = await loadGoogleFont('Geist', '400;500;600', allText)
4773

@@ -52,84 +78,39 @@ export async function GET(request: NextRequest) {
5278
width: '100%',
5379
display: 'flex',
5480
flexDirection: 'column',
55-
background: '#0c0c0c',
56-
position: 'relative',
81+
justifyContent: 'space-between',
82+
padding: '56px 64px',
83+
background: '#121212', // Dark mode background matching docs (hsla 0, 0%, 7%)
5784
fontFamily: 'Geist',
5885
}}
5986
>
60-
{/* Base gradient layer - subtle purple tint across the entire image */}
61-
<div
62-
style={{
63-
position: 'absolute',
64-
top: 0,
65-
left: 0,
66-
width: '100%',
67-
height: '100%',
68-
background:
69-
'radial-gradient(ellipse 150% 100% at 50% 100%, rgba(88, 28, 135, 0.15) 0%, rgba(88, 28, 135, 0.08) 25%, rgba(88, 28, 135, 0.03) 50%, transparent 80%)',
70-
display: 'flex',
71-
}}
72-
/>
73-
74-
{/* Secondary glow - adds depth without harsh edges */}
75-
<div
76-
style={{
77-
position: 'absolute',
78-
top: 0,
79-
left: 0,
80-
width: '100%',
81-
height: '100%',
82-
background:
83-
'radial-gradient(ellipse 100% 80% at 80% 90%, rgba(112, 31, 252, 0.12) 0%, rgba(112, 31, 252, 0.04) 40%, transparent 70%)',
84-
display: 'flex',
85-
}}
86-
/>
87-
88-
{/* Top darkening - creates natural vignette */}
89-
<div
87+
{/* Title at top */}
88+
<span
9089
style={{
91-
position: 'absolute',
92-
top: 0,
93-
left: 0,
94-
width: '100%',
95-
height: '100%',
96-
background:
97-
'linear-gradient(180deg, rgba(0, 0, 0, 0.3) 0%, transparent 40%, transparent 100%)',
98-
display: 'flex',
90+
fontSize: getTitleFontSize(title),
91+
fontWeight: 500,
92+
color: '#fafafa', // Light text matching docs
93+
lineHeight: 1.2,
94+
letterSpacing: '-0.02em',
9995
}}
100-
/>
96+
>
97+
{title}
98+
</span>
10199

102-
{/* Content */}
100+
{/* Footer: icon left, domain right */}
103101
<div
104102
style={{
105103
display: 'flex',
106-
flexDirection: 'column',
107-
padding: '56px 72px',
108-
height: '100%',
109104
justifyContent: 'space-between',
105+
alignItems: 'center',
106+
width: '100%',
110107
}}
111108
>
112-
{/* Logo */}
113-
<img src={`${baseUrl}/static/logo.png`} alt='sim' height={32} />
114-
115-
{/* Title */}
116-
<span
117-
style={{
118-
fontSize: getTitleFontSize(title),
119-
fontWeight: 600,
120-
color: '#ffffff',
121-
lineHeight: 1.1,
122-
letterSpacing: '-0.02em',
123-
}}
124-
>
125-
{title}
126-
</span>
127-
128-
{/* Footer */}
109+
<SimLogoFull />
129110
<span
130111
style={{
131112
fontSize: 20,
132-
fontWeight: 500,
113+
fontWeight: 400,
133114
color: '#71717a',
134115
}}
135116
>

0 commit comments

Comments
 (0)