Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
5aa3c09
start of Astro setup
Adammatthiesen Jul 5, 2026
6cfb39b
Refactor ContentPanel component and update content configuration
Adammatthiesen Jul 5, 2026
b90a960
feat: add initial index page and remove outdated content
Adammatthiesen Jul 5, 2026
9b1f312
fix: update index page note and simplify redirect explanation
Adammatthiesen Jul 5, 2026
def19a5
refactor: remove starlight.css and migrate styles to global.css
Adammatthiesen Jul 6, 2026
675c89b
feat: add OG image generation support with astro-og-canvas and update…
Adammatthiesen Jul 6, 2026
fd9a52c
Add OpenGraph image generation and routing
Adammatthiesen Jul 6, 2026
816637b
refactor: remove unused import of allPages and CollectionEntry from O…
Adammatthiesen Jul 6, 2026
320e15c
feat: add font imports for Geist and Geist Mono in global.css
Adammatthiesen Jul 6, 2026
3359225
feat: implement custom 404 page with DocsNotFound component and disab…
Adammatthiesen Jul 6, 2026
c979ae0
feat: reorganize platform documentation structure and update icons fo…
Adammatthiesen Jul 6, 2026
320a549
feat: enhance configuration structure for Java and Web Analytics sect…
Adammatthiesen Jul 6, 2026
6eaf325
fix: correct directory name for Java platform autogeneration
Adammatthiesen Jul 6, 2026
fea41f4
feat: add latestVersion function to fetch the latest project version …
Adammatthiesen Jul 6, 2026
4360c88
Add documentation for FastStats Java SDK features
Adammatthiesen Jul 6, 2026
58bb0cf
feat: add ReadMore component to enhance documentation readability acr…
Adammatthiesen Jul 6, 2026
d0c912f
feat: integrate ReadMore component for OpenAPI spec in API documentation
Adammatthiesen Jul 6, 2026
b8eb9d6
chore: remove unused LinkCard component
Adammatthiesen Jul 6, 2026
97d65c9
chore: update .prototools with additional comments and ensure correct…
Adammatthiesen Jul 6, 2026
aefaee9
chore: update package.json to specify package manager and node engine…
Adammatthiesen Jul 6, 2026
0612541
feat: refactor starlight configuration and add OpenAPI integration
Adammatthiesen Jul 6, 2026
9590409
feat: update site configuration and enable Starlight credits display
Adammatthiesen Jul 6, 2026
a1ef1ec
refactor: improve code formatting and enhance translation error handl…
Adammatthiesen Jul 6, 2026
99737d2
Add documentation for web analytics features
Adammatthiesen Jul 6, 2026
d5c416f
feat: enhance documentation with ReadMore components for better navig…
Adammatthiesen Jul 6, 2026
ec153d8
fix: update footer credit text to "Built with Starlight"
Adammatthiesen Jul 6, 2026
86a6e21
feat: add Dockerfile and nginx configuration for containerized deploy…
Adammatthiesen Jul 6, 2026
3715551
feat: add starlight-llms-txt plugin and update dependencies
Adammatthiesen Jul 6, 2026
ad911d6
feat: configure starlightLlmsTxt plugin with project name "FastStats"
Adammatthiesen Jul 6, 2026
86e8903
refactor: use the @faststats/web package instead of the react specifi…
LuggaPugga Jul 7, 2026
a4f7c89
chore: remove AGENTS.md and CLAUDE.md
LuggaPugga Jul 7, 2026
2d83d9c
chore: add typecheck script
LuggaPugga Jul 7, 2026
7156313
chore: remove redundant client-only declarations
LuggaPugga Jul 7, 2026
79e39d4
feat: move icons into mdx files
LuggaPugga Jul 7, 2026
e57523f
refactor: add @lucide/astro dependency and update 404 page to be astr…
LuggaPugga Jul 7, 2026
059f3f6
feat: wip port of original docs design
LuggaPugga Jul 7, 2026
6d204d7
refactor: remove the remaining React code
LuggaPugga Jul 7, 2026
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
3 changes: 0 additions & 3 deletions .dockerignore

This file was deleted.

24 changes: 0 additions & 24 deletions .github/renovate.json

This file was deleted.

35 changes: 0 additions & 35 deletions .github/workflows/ci.yml

This file was deleted.

38 changes: 0 additions & 38 deletions .github/workflows/quality.yml

This file was deleted.

39 changes: 19 additions & 20 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,26 +1,25 @@
# deps
/node_modules
# build output
dist/
# generated types
.astro/

# generated content
.source
# dependencies
node_modules/

# test & build
/coverage
/.next/
/out/
/build
*.tsbuildinfo

# misc
.DS_Store
*.pem
/.pnp
.pnp.js
# logs
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
.pnpm-store/


# environment variables
.env
.env.production

# macOS-specific files
.DS_Store


# others
.env*.local
.vercel
next-env.d.ts
.fumadocs/
26 changes: 0 additions & 26 deletions .oxfmtrc.json

This file was deleted.

18 changes: 0 additions & 18 deletions .oxlintrc.json

This file was deleted.

5 changes: 5 additions & 0 deletions .prototools
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
## Adam's favorite tool... please don't mind this (Ensure's the current shell is using the right versions of node, and pnpm)
## More info: https://moonrepo.dev/proto

node = "22.20.0"
pnpm = "11.10.0"
4 changes: 4 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"recommendations": ["astro-build.astro-vscode"],
"unwantedRecommendations": []
}
11 changes: 11 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"version": "0.2.0",
"configurations": [
{
"command": "./node_modules/.bin/astro dev",
"name": "Development server",
"request": "launch",
"type": "node-terminal"
}
]
}
32 changes: 10 additions & 22 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,28 +1,16 @@
FROM node:26-slim AS builder
COPY --from=oven/bun:1.3.14-slim /usr/local/bin/bun /usr/local/bin/bun
WORKDIR /app

COPY package.json bun.lock ./
RUN bun install --frozen-lockfile --ignore-scripts
COPY . .
FROM node:lts AS build

ENV CI=true
RUN bun run fumadocs-mdx
RUN bun run build

FROM node:26-slim AS runner
WORKDIR /app
ENV NODE_ENV=production
ENV HOSTNAME=0.0.0.0
COPY . .

RUN groupadd --system --gid 1001 nodejs && \
useradd --system --uid 1001 --gid nodejs --shell /bin/false appuser
RUN npm install --global corepack@latest
RUN corepack enable pnpm

COPY --from=builder --chown=appuser:nodejs /app/.next/standalone ./
COPY --from=builder --chown=appuser:nodejs /app/.next/static ./.next/static
COPY --from=builder --chown=appuser:nodejs /app/public ./public
RUN pnpm install --frozen-lockfile
RUN pnpm run build

USER appuser
EXPOSE ${PORT}
FROM nginx:alpine AS runtime
COPY ./nginx.conf /etc/nginx/nginx.conf
COPY --from=build /app/dist /usr/share/nginx/html

CMD ["node", "server.js"]
EXPOSE 8080
49 changes: 49 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Starlight Starter Kit: Basics

[![Built with Starlight](https://astro.badg.es/v2/built-with-starlight/tiny.svg)](https://starlight.astro.build)

```
pnpm create astro@latest -- --template starlight
```

> 🧑‍🚀 **Seasoned astronaut?** Delete this file. Have fun!

## 🚀 Project Structure

Inside of your Astro + Starlight project, you'll see the following folders and files:

```
.
├── public/
├── src/
│ ├── assets/
│ ├── content/
│ │ └── docs/
│ └── content.config.ts
├── astro.config.mjs
├── package.json
└── tsconfig.json
```

Starlight looks for `.md` or `.mdx` files in the `src/content/docs/` directory. Each file is exposed as a route based on its file name.

Images can be added to `src/assets/` and embedded in Markdown with a relative link.

Static assets, like favicons, can be placed in the `public/` directory.

## 🧞 Commands

All commands are run from the root of the project, from a terminal:

| Command | Action |
| :------------------------ | :----------------------------------------------- |
| `pnpm install` | Installs dependencies |
| `pnpm dev` | Starts local dev server at `localhost:4321` |
| `pnpm build` | Build your production site to `./dist/` |
| `pnpm preview` | Preview your build locally, before deploying |
| `pnpm astro ...` | Run CLI commands like `astro add`, `astro check` |
| `pnpm astro -- --help` | Get help using the Astro CLI |

## 👀 Want to learn more?

Check out [Starlight’s docs](https://starlight.astro.build/), read [the Astro documentation](https://docs.astro.build), or jump into the [Astro Discord server](https://astro.build/chat).
44 changes: 44 additions & 0 deletions astro.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
// @ts-check
import { defineConfig } from 'astro/config';
import starlight from '@astrojs/starlight';
import starlightSidebarTopicsPlugin from 'starlight-sidebar-topics';
import { devServerFileWatcher } from './src/integrations/dev-file-watcher';
import starlightCopyButton from 'starlight-copy-button';
import starlightOpenAPI from 'starlight-openapi';
import tailwindcss from '@tailwindcss/vite';
import { sidebarConfig, sidebarTopicsExtras } from './starlight.sidebar';
import { baseStarlightOptions } from './starlight.config';
import { openAPIConfig } from './openapi.config';
import starlightLlmsTxt from 'starlight-llms-txt'

const site = process.env.NODE_ENV === 'production' ? 'https://docs.faststats.dev' : 'http://localhost:4321';

// https://astro.build/config
export default defineConfig({
site,
vite: {
plugins: [tailwindcss()],
},
integrations: [
devServerFileWatcher([
'./src/integrations/*.ts',
'./ec.config.mjs',
'./openapi.config.ts',
'./starlight.config.ts',
'./starlight.sidebar.ts',
]),
starlight({
...baseStarlightOptions,
plugins: [
starlightLlmsTxt({
projectName: "FastStats",
}),
starlightCopyButton({
label: "Copy Markdown",
}),
starlightOpenAPI(openAPIConfig),
starlightSidebarTopicsPlugin(sidebarConfig, sidebarTopicsExtras)
]
})
],
});
Loading