Skip to content
This repository was archived by the owner on Mar 26, 2026. It is now read-only.

Commit a3e29d1

Browse files
committed
update
1 parent 9ac9454 commit a3e29d1

13 files changed

Lines changed: 359 additions & 32 deletions

File tree

.github/dependabot.yml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
version: 2
2+
3+
updates:
4+
# npm/bun dependencies
5+
- package-ecosystem: npm
6+
directory: /
7+
schedule:
8+
interval: weekly
9+
day: monday
10+
open-pull-requests-limit: 10
11+
labels:
12+
- dependencies
13+
- automated
14+
groups:
15+
# Group minor/patch updates together
16+
production:
17+
dependency-type: production
18+
update-types:
19+
- minor
20+
- patch
21+
development:
22+
dependency-type: development
23+
update-types:
24+
- minor
25+
- patch
26+
# Auto-merge patch updates
27+
commit-message:
28+
prefix: "chore(deps):"
29+
30+
# GitHub Actions
31+
- package-ecosystem: github-actions
32+
directory: /
33+
schedule:
34+
interval: weekly
35+
day: monday
36+
open-pull-requests-limit: 5
37+
labels:
38+
- dependencies
39+
- ci
40+
- automated
41+
commit-message:
42+
prefix: "chore(ci):"

.github/workflows/ci.yml

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
name: CI
2+
3+
on:
4+
pull_request:
5+
branches: [main]
6+
push:
7+
branches: [main]
8+
9+
concurrency:
10+
group: ci-${{ github.ref }}
11+
cancel-in-progress: true
12+
13+
permissions:
14+
contents: read
15+
16+
jobs:
17+
typecheck:
18+
name: Typecheck
19+
runs-on: ubuntu-latest
20+
steps:
21+
- uses: actions/checkout@v4
22+
23+
- uses: oven-sh/setup-bun@v2
24+
with:
25+
bun-version: latest
26+
27+
- name: Install dependencies
28+
run: bun install --frozen-lockfile
29+
30+
- name: Run typecheck
31+
run: bun run typecheck
32+
33+
lint:
34+
name: Lint
35+
runs-on: ubuntu-latest
36+
steps:
37+
- uses: actions/checkout@v4
38+
39+
- uses: oven-sh/setup-bun@v2
40+
with:
41+
bun-version: latest
42+
43+
- name: Install dependencies
44+
run: bun install --frozen-lockfile
45+
46+
- name: Run Biome
47+
run: bun run lint
48+
49+
build:
50+
name: Build
51+
runs-on: ubuntu-latest
52+
needs: [typecheck, lint]
53+
steps:
54+
- uses: actions/checkout@v4
55+
56+
- uses: oven-sh/setup-bun@v2
57+
with:
58+
bun-version: latest
59+
60+
- name: Install dependencies
61+
run: bun install --frozen-lockfile
62+
63+
- name: Build static site
64+
run: bun run build
65+
66+
- name: Upload build artifact
67+
if: github.ref == 'refs/heads/main'
68+
uses: actions/upload-pages-artifact@v3
69+
with:
70+
path: out
71+
72+
security:
73+
name: Security audit
74+
runs-on: ubuntu-latest
75+
steps:
76+
- uses: actions/checkout@v4
77+
78+
- uses: oven-sh/setup-bun@v2
79+
with:
80+
bun-version: latest
81+
82+
- name: Install dependencies
83+
run: bun install --frozen-lockfile
84+
85+
- name: Audit dependencies
86+
run: bun pm audit || true
87+
88+
- name: Check for known vulnerabilities in lockfile
89+
run: |
90+
# Fail on critical/high vulnerabilities
91+
bun pm audit 2>&1 | tee audit-output.txt
92+
if grep -qiE '(critical|high)' audit-output.txt; then
93+
echo "::error::Critical or high severity vulnerabilities found"
94+
exit 1
95+
fi

.github/workflows/codeql.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: CodeQL Security Analysis
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
schedule:
9+
# Every Wednesday at 04:00 UTC
10+
- cron: "0 4 * * 3"
11+
12+
permissions:
13+
security-events: write
14+
contents: read
15+
16+
jobs:
17+
analyze:
18+
name: Analyze
19+
runs-on: ubuntu-latest
20+
strategy:
21+
fail-fast: false
22+
matrix:
23+
language: [javascript-typescript]
24+
25+
steps:
26+
- uses: actions/checkout@v4
27+
28+
- name: Initialize CodeQL
29+
uses: github/codeql-action/init@v3
30+
with:
31+
languages: ${{ matrix.language }}
32+
queries: security-and-quality
33+
34+
- name: Autobuild
35+
uses: github/codeql-action/autobuild@v3
36+
37+
- name: Perform CodeQL Analysis
38+
uses: github/codeql-action/analyze@v3
39+
with:
40+
category: "/language:${{ matrix.language }}"
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
name: Dependency Updates
2+
3+
on:
4+
schedule:
5+
# Every Monday at 06:00 UTC
6+
- cron: "0 6 * * 1"
7+
workflow_dispatch:
8+
9+
permissions:
10+
contents: write
11+
pull-requests: write
12+
13+
jobs:
14+
update-dependencies:
15+
name: Check for updates
16+
runs-on: ubuntu-latest
17+
steps:
18+
- uses: actions/checkout@v4
19+
20+
- uses: oven-sh/setup-bun@v2
21+
with:
22+
bun-version: latest
23+
24+
- name: Update dependencies
25+
run: bun update
26+
27+
- name: Install updated dependencies
28+
run: bun install
29+
30+
- name: Typecheck with updated deps
31+
run: bun run typecheck
32+
33+
- name: Build with updated deps
34+
run: bun run build
35+
36+
- name: Create PR if changes exist
37+
uses: peter-evans/create-pull-request@v7
38+
with:
39+
token: ${{ secrets.GITHUB_TOKEN }}
40+
commit-message: "chore(deps): update dependencies"
41+
title: "chore(deps): weekly dependency update"
42+
body: |
43+
Automated weekly dependency update.
44+
45+
This PR updates all dependencies to their latest compatible versions.
46+
The build and typecheck passed with the updated dependencies.
47+
48+
---
49+
_Generated by the dependency-update workflow._
50+
branch: chore/dependency-update
51+
delete-branch: true
52+
labels: dependencies,automated

.github/workflows/deploy.yml

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
name: Deploy to GitHub Pages
2+
3+
on:
4+
push:
5+
branches: [main]
6+
workflow_dispatch:
7+
8+
concurrency:
9+
group: deploy
10+
cancel-in-progress: true
11+
12+
permissions:
13+
contents: read
14+
pages: write
15+
id-token: write
16+
17+
jobs:
18+
build:
19+
name: Build
20+
runs-on: ubuntu-latest
21+
steps:
22+
- uses: actions/checkout@v4
23+
24+
- uses: oven-sh/setup-bun@v2
25+
with:
26+
bun-version: latest
27+
28+
- name: Install dependencies
29+
run: bun install --frozen-lockfile
30+
31+
- name: Typecheck
32+
run: bun run typecheck
33+
34+
- name: Lint
35+
run: bun run lint
36+
37+
- name: Build static site
38+
run: bun run build
39+
40+
- name: Upload Pages artifact
41+
uses: actions/upload-pages-artifact@v3
42+
with:
43+
path: out
44+
45+
deploy:
46+
name: Deploy
47+
runs-on: ubuntu-latest
48+
needs: build
49+
environment:
50+
name: github-pages
51+
url: ${{ steps.deployment.outputs.page_url }}
52+
steps:
53+
- name: Deploy to GitHub Pages
54+
id: deployment
55+
uses: actions/deploy-pages@v4

biome.json

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"$schema": "https://biomejs.dev/schemas/2.4.6/schema.json",
3+
"extends": ["@vitus-labs/tools-lint/biome"],
4+
"files": {
5+
"includes": [
6+
"src/**/*.ts",
7+
"src/**/*.tsx",
8+
"source.config.ts",
9+
"postcss.config.mjs",
10+
"mdx-components.tsx"
11+
],
12+
"ignoreUnknown": true
13+
},
14+
"linter": {
15+
"rules": {
16+
"correctness": {
17+
"noUnusedImports": "warn",
18+
"noUnusedVariables": "warn"
19+
}
20+
}
21+
}
22+
}

bun.lock

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

package.json

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,24 +10,31 @@
1010
"dev": "next dev",
1111
"build": "next build",
1212
"start": "next start",
13-
"postinstall": "fumadocs-mdx"
13+
"postinstall": "fumadocs-mdx",
14+
"typecheck": "tsc --noEmit",
15+
"lint": "biome check .",
16+
"lint:fix": "biome check . --write",
17+
"format": "biome format . --write",
18+
"audit": "bun pm audit",
19+
"check": "bun run typecheck && bun run lint && bun run build"
1420
},
1521
"dependencies": {
16-
"fumadocs-core": "^16.6.2",
17-
"fumadocs-mdx": "^14.2.8",
18-
"fumadocs-ui": "^16.6.5",
22+
"fumadocs-core": "^16.6.16",
23+
"fumadocs-mdx": "^14.2.9",
24+
"fumadocs-ui": "^16.6.16",
1925
"next": "^16.1.6",
20-
"react": "^19.1.0",
21-
"react-dom": "^19.1.0"
26+
"react": "^19.2.4",
27+
"react-dom": "^19.2.4"
2228
},
2329
"devDependencies": {
2430
"@tailwindcss/postcss": "^4.2.1",
2531
"@types/mdx": "^2.0.13",
26-
"@types/node": "^22.15.0",
32+
"@types/node": "^22.19.15",
2733
"@types/react": "^19.2.14",
2834
"@types/react-dom": "^19.2.3",
29-
"fumadocs-docgen": "^3.0.5",
30-
"tailwindcss": "^4.1.8",
35+
"@vitus-labs/tools-lint": "^1.11.0",
36+
"fumadocs-docgen": "^3.0.8",
37+
"tailwindcss": "^4.2.1",
3138
"typescript": "^5.9.3"
3239
}
3340
}

0 commit comments

Comments
 (0)