Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
1bc6f33
feat: Update StudioCMS configuration and documentation
Adammatthiesen Dec 8, 2025
d57459c
feat: add '@withstudiocms/kysely' to ignored dependencies in Knip config
Adammatthiesen Dec 8, 2025
32d4bcd
feat: update error codes in ec.config and set preferredImageService t…
Adammatthiesen Dec 8, 2025
a1dfd29
feat: enable pre-release mode for generating release notes
Adammatthiesen Dec 8, 2025
d97ce99
feat: update CMS description and tagline, adjust analytics script URL…
Adammatthiesen Dec 8, 2025
c44cd9b
feat: add upgrade guide for StudioCMS Beta.31 with new badge
Adammatthiesen Dec 8, 2025
40ae6ae
feat: update features and locale documentation with new security and …
Adammatthiesen Dec 8, 2025
67d741a
feat: remove Kysely migration guide documentation
Adammatthiesen Dec 8, 2025
a964a8f
feat: hide sidebar entries for upgrade guides from Beta.16 to Beta.24…
Adammatthiesen Dec 8, 2025
0c89072
feat: enhance package catalog display with no packages message and re…
Adammatthiesen Dec 8, 2025
5b22b47
feat: add hidden property to package catalog schema and filter out hi…
Adammatthiesen Dec 8, 2025
3aedc86
feat: add topic property to upgrade guides and set sidebar entries as…
Adammatthiesen Dec 9, 2025
de319de
fix: update web vitals guide link in upgrade guides for Beta.19 and B…
Adammatthiesen Dec 9, 2025
1456dc1
fix: update web vitals guide link in upgrade guides for Beta.19 and B…
Adammatthiesen Dec 9, 2025
2c044b2
fix: update migration command to include --latest flag in getting sta…
Adammatthiesen Dec 9, 2025
179d647
feat: add webVitals feature for performance tracking and update upgra…
Adammatthiesen Dec 9, 2025
b089c93
fix: refine debug utilities description in upgrade guide for version …
Adammatthiesen Dec 9, 2025
cd74726
feat: update StarlightPage integration and adjust frontmatter in vari…
Adammatthiesen Dec 9, 2025
eb1873c
feat: add AdBanner component and integrate it into the PageSidebar la…
Adammatthiesen Dec 9, 2025
083752c
fix: remove unused imports from AdBanner component
Adammatthiesen Dec 9, 2025
5defd54
fix: update border color in AdBanner component to use accent color
Adammatthiesen Dec 9, 2025
a751470
feat: add initial nginx configuration file
Adammatthiesen Dec 9, 2025
309b2ad
fix: remove unused start script from package.json
Adammatthiesen Dec 9, 2025
4236783
feat: add nixpacks configuration for Node.js and Nginx setup
Adammatthiesen Dec 9, 2025
60fe79e
fix: correct formatting in nginx.conf and nixpacks.toml
Adammatthiesen Dec 9, 2025
9378c73
fix: update nixpacks configuration to use proto and streamline instal…
Adammatthiesen Dec 9, 2025
07dce26
fix: update nixpacks.toml to include nginx in setup and adjust start …
Adammatthiesen Dec 9, 2025
b937423
fix: update nixpacks.toml to include pnpm in setup and adjust install…
Adammatthiesen Dec 9, 2025
50ccf96
fix: update nixpacks.toml to revert to nodejs_24 and remove proto com…
Adammatthiesen Dec 9, 2025
64d22b0
fix: update nixpacks.toml to revert nodejs version from 24 to 22
Adammatthiesen Dec 9, 2025
72612c5
fix: update nixpacks.toml to correct nginx configuration file path an…
Adammatthiesen Dec 9, 2025
3f852d7
fix: update nginx.conf to configure server settings and improve error…
Adammatthiesen Dec 9, 2025
3ee49ac
fix: update contributor configuration and filtering logic to include …
Adammatthiesen Dec 9, 2025
7aa4d44
fix: update upgrade guide and getting started documentation to includ…
Adammatthiesen Dec 9, 2025
7230d86
fix: update configuration and getting started documentation for clari…
Adammatthiesen Dec 9, 2025
2c4c274
fix: correct wording in migration tool instructions for clarity
Adammatthiesen Dec 10, 2025
dce75ce
feat: add CI workflows for Docker image publishing and configure Dock…
Adammatthiesen Dec 10, 2025
9ca703b
fix: update CI workflows to restrict Docker build platforms to linux/…
Adammatthiesen Dec 10, 2025
933ed2e
feat: add deployment request step to CI workflow for Docker image
Adammatthiesen Dec 10, 2025
ae33346
fix: add comment to clarify temporary deployment request step in CI w…
Adammatthiesen Dec 10, 2025
e7f11f9
chore: remove nixpacks configuration file
Adammatthiesen Dec 10, 2025
df0c740
feat: add new CLI command for debugging and update CLI documentation
Adammatthiesen Dec 10, 2025
6cffb81
fix: correct markdown links for migrator and upgrade CLI commands
Adammatthiesen Dec 10, 2025
d329a20
feat: add image and tag data to deployment request in CI workflow
Adammatthiesen Dec 10, 2025
3fafed8
feat: update deployment process to use DOKPLOY API for compose update…
Adammatthiesen Dec 10, 2025
9988244
feat: enhance CI workflow to include deployment title and description…
Adammatthiesen Dec 10, 2025
7a3171e
feat: add @withstudiocms/template-lang package and documentation
Adammatthiesen Dec 11, 2025
4946f04
feat: add Custom Frontend Guides section with rendering options
Adammatthiesen Dec 11, 2025
ece6d3b
feat: add @withstudiocms/template-lang to ignored dependencies in Kni…
Adammatthiesen Dec 11, 2025
ac749fa
feat: update concurrency configuration in CI workflows for better job…
Adammatthiesen Dec 11, 2025
4390c80
feat: standardize concurrency configuration in CI workflows
Adammatthiesen Dec 11, 2025
e0f03a6
feat: add section on building a custom frontend with StudioCMS
Adammatthiesen Dec 11, 2025
55e0469
feat: enhance documentation with further reading sections and improve…
Adammatthiesen Dec 11, 2025
c6b9143
feat: add TODO for Core Features section and documentation of built-i…
Adammatthiesen Dec 11, 2025
786bc1e
feat: add further reading sections and enhance documentation for SDK …
Adammatthiesen Dec 11, 2025
a2e0fe3
feat: add caution notice for revisions in the Getting Started guide f…
Adammatthiesen Dec 11, 2025
46b5da0
feat: clarify caution notice for revisions in the Getting Started gui…
Adammatthiesen Dec 11, 2025
c440e07
feat: remove emoji from features list in Template Language documentation
Adammatthiesen Dec 12, 2025
200a122
feat: reorder utils entry in configuration for better clarity
Adammatthiesen Dec 12, 2025
2f833d8
feat: enhance clarity in authentication section and update provider l…
Adammatthiesen Dec 12, 2025
8a5fd79
feat: add optional environment variables section with log level confi…
Adammatthiesen Dec 12, 2025
f8a2551
feat: add optional environment variables section to customize StudioC…
Adammatthiesen Dec 12, 2025
30512a5
feat: add starlight-llms-txt dependency and integrate into configuration
Adammatthiesen Dec 13, 2025
b4d9326
feat: enhance starlightLlmsTxt integration with detailed descriptions…
Adammatthiesen Dec 13, 2025
e7e1e90
feat: update path for Getting Started resources to include language p…
Adammatthiesen Dec 13, 2025
b520f0b
feat: update deployment process to use DOKPLOY API for compose update…
Adammatthiesen Dec 13, 2025
751d740
fix: switch pre-release mode off for generating release notes
Adammatthiesen Dec 14, 2025
c04f8b8
fix: update authorization method to use Bearer token for API requests
Adammatthiesen Dec 14, 2025
59c7517
feat: add Commit interface and related types for GitHub commit details
Adammatthiesen Dec 15, 2025
5f12a18
fix: remove unused Commit interface import from getContributors.ts
Adammatthiesen Dec 15, 2025
c906e0f
Refactor code structure for improved readability and maintainability
Adammatthiesen Dec 17, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
81 changes: 81 additions & 0 deletions .github/workflows/ci-docker-main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
name: Publish Docker image to GHCR

on:
push:
branches: [main]
workflow_dispatch:

permissions:
contents: read
packages: write

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build-and-push:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v5

- name: Set up QEMU (for multi-arch)
uses: docker/setup-qemu-action@v3

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Cache pnpm store
uses: actions/cache@v4
with:
path: ~/.pnpm-store
key: ${{ runner.os }}-pnpm-${{ hashFiles('pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-

- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Build and push image
uses: docker/build-push-action@v6
with:
context: .
file: ./Dockerfile
platforms: linux/amd64
push: true
secrets: |
"public_github_token=${{ secrets.PUBLIC_GITHUB_TOKEN }}"
tags: |
ghcr.io/${{ github.repository_owner }}/studiocms-docs:latest
ghcr.io/${{ github.repository_owner }}/studiocms-docs:${{ github.sha }}
ghcr.io/${{ github.repository_owner }}/studiocms-docs:${{ github.ref_name }}
cache-from: type=registry,ref=ghcr.io/${{ github.repository_owner }}/studiocms-docs-main:cache
cache-to: type=inline

- name: Verify pushed image
run: |
echo "Pushed: ghcr.io/${{ github.repository_owner }}/studiocms-docs:latest"
echo "Pushed: ghcr.io/${{ github.repository_owner }}/studiocms-docs:${{ github.sha }}"
echo "Pushed: ghcr.io/${{ github.repository_owner }}/studiocms-docs:${{ github.ref_name }}"

- name: Send compose update
run: |
response=$(curl -X 'POST' "${{ secrets.DOKPLOY_API_URL }}/compose.update" -H 'accept: application/json' -H 'Content-Type: application/json' -H "x-api-key: ${{ secrets.DOKPLOY_API_KEY }}" -d '{
"composeId": "${{ secrets.DOKPLOY_COMPOSE_ID }}",
"composeFile": "services:\n docs:\n image: ghcr.io/withstudiocms/studiocms-docs:${{ github.sha }}\n restart: always"
}' | jq -r '.message')
echo "output_data=$response" >> $GITHUB_OUTPUT
Comment thread
Adammatthiesen marked this conversation as resolved.

- name: Trigger compose deploy
run: |
response=$(curl -X 'POST' "${{ secrets.DOKPLOY_API_URL }}/compose.deploy" -H 'accept: application/json' -H 'Content-Type: application/json' -H "x-api-key: ${{ secrets.DOKPLOY_API_KEY }}" -d '{
"composeId": "${{ secrets.DOKPLOY_COMPOSE_ID }}",
"title": "Deploy from CI",
"description": "Deploying the latest changes from the CI pipeline. sha: ${{ github.sha }}"
}' | jq -r '.message')
echo "output_data=$response" >> $GITHUB_OUTPUT
Comment thread
Adammatthiesen marked this conversation as resolved.
62 changes: 62 additions & 0 deletions .github/workflows/ci-docker-pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
name: Publish Docker image to GHCR

on:
pull_request:
branches: [main]
workflow_dispatch:

permissions:
contents: read
packages: write

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build-and-push:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v5

- name: Set up QEMU (for multi-arch)
uses: docker/setup-qemu-action@v3

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Cache pnpm store
uses: actions/cache@v4
with:
path: ~/.pnpm-store
key: ${{ runner.os }}-pnpm-${{ hashFiles('pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-

- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Build and push image
uses: docker/build-push-action@v6
with:
context: .
file: ./Dockerfile
platforms: linux/amd64
push: true
secrets: |
"public_github_token=${{ secrets.PUBLIC_GITHUB_TOKEN }}"
tags: |
ghcr.io/${{ github.repository_owner }}/studiocms-docs:${{ github.sha }}
ghcr.io/${{ github.repository_owner }}/studiocms-docs:pr-${{ github.event.pull_request.number }}
cache-from: type=registry,ref=ghcr.io/${{ github.repository_owner }}/studiocms-docs-pr:cache
cache-to: type=inline

- name: Verify pushed image
run: |
echo "Pushed: ghcr.io/${{ github.repository_owner }}/studiocms-docs:${{ github.sha }}"
echo "Pushed: ghcr.io/${{ github.repository_owner }}/studiocms-docs:pr-${{ github.event.pull_request.number }}"
38 changes: 20 additions & 18 deletions .github/workflows/ci-knip.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@ on:
branches:
- main

concurrency: ${{ github.workflow }}-${{ github.ref }}
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

permissions:
issues: write
Expand All @@ -17,21 +19,21 @@ permissions:
id-token: write

jobs:
lint:
runs-on: ubuntu-latest
env:
NODE_OPTIONS: "--max_old_space_size=4096"
name: Run Knip Linter
if: github.event.pull_request.head.repo.full_name == github.repository
steps:
- name: Checkout Repo
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
ref: ${{ github.head_ref }}
token: ${{ secrets.STUDIOCMS_SERVICE_TOKEN }}

- name: Install Tools & Dependencies
uses: withstudiocms/automations/.github/actions/install@main
lint:
runs-on: ubuntu-latest
env:
NODE_OPTIONS: "--max_old_space_size=4096"
name: Run Knip Linter
if: github.event.pull_request.head.repo.full_name == github.repository
steps:
- name: Checkout Repo
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
ref: ${{ github.head_ref }}
token: ${{ secrets.STUDIOCMS_SERVICE_TOKEN }}

- name: Run Knip Linter
run: pnpm knip
- name: Install Tools & Dependencies
uses: withstudiocms/automations/.github/actions/install@main

- name: Run Knip Linter
run: pnpm knip
6 changes: 5 additions & 1 deletion .github/workflows/ci-link-validator.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ name: CI - Link Validator
on:
pull_request:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
test-links:
name: Run Starlight Link Check
Expand All @@ -14,7 +18,7 @@ jobs:
steps:
- name: Check out code using Git
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4

- name: Install Tools & Dependencies
uses: withstudiocms/automations/.github/actions/install@main

Expand Down
3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,13 @@
"Coolify",
"devapps",
"foldertree",
"frontmatter",
"genpkey",
"Iconify",
"inox",
"Kysely",
"libsql",
"Llms",
"lunariajs",
"markdoc",
"mergebot",
Expand Down
16 changes: 16 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
FROM node:lts AS build
RUN --mount=type=secret,id=public_github_token export PUBLIC_GITHUB_TOKEN=$(cat /run/secrets/public_github_token) && echo "Secret loaded"

WORKDIR /app
COPY . .

RUN npm install --global corepack@latest
RUN corepack enable pnpm

RUN pnpm install --frozen-lockfile
RUN pnpm run build

FROM nginx:alpine AS runtime
COPY ./nginx.conf /etc/nginx/nginx.conf
COPY --from=build /app/dist /usr/share/nginx/html
EXPOSE 8080
Loading