Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
7 changes: 3 additions & 4 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,10 @@ updates:
patterns:
- "astro"
- "@astrojs/*"
- "starlight-*"
expressive-code:
- "@cloudflare/nimbus-docs"
docs-search:
patterns:
- "@expressive-code/*"
- "*expressive-code*"
- "pagefind"
eslint:
patterns:
- "eslint"
Expand Down
19 changes: 2 additions & 17 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,23 +31,8 @@ jobs:
node-version-file: ".nvmrc"
cache: npm

- name: Run rumdl
uses: rvben/rumdl@9faf4696d56c0cff426a2f85b3fd476ebe0d0ec0 # v0.2.52
with:
version: 0.2.9
path: "."
fail-on-error: true

- name: Install dependencies
run: npm ci

- name: Run Check
run: npm run check

- name: Run linter
# npm run lint includes lint:markdown which is already handled bby the rumdl
# step above
run: npm run lint:src

- name: Run linkcheck
run: npm run linkcheck
- name: Validate
run: npm run validate
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ dist/

# generated types
.astro/
.nimbus/

# dependencies
node_modules/
Expand Down
3 changes: 1 addition & 2 deletions .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ dist/
.rumdl_cache/
.wrangler/
.astro/
# css files are linted by biome
**/*.css
.nimbus/
openapi.yaml
openapi.json
15 changes: 8 additions & 7 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,21 @@

## Project Structure & Organization

The portal uses Astro with the Starlight theme. Application source sits in `src/`, with `pages/` for route entry points, `content/` for MDX docs, `components/` for reusable UI (React, Astro, and Circuit UI), and `utils/`/`lib/` for shared logic. Assets live in `src/assets` and `public/`. Build outputs go to `dist/`. Configuration resides in `astro.config.ts`, `ec.config.mjs`, and `wrangler.jsonc`; adjust them when adding new content types or deployment targets. API documentation is based on `openapi.yaml`, this file is synchronized from outside this repository, do not edit it.
The portal uses Astro with Nimbus. Application source sits in `src/`, with `pages/` for route entry points, `content/` for MDX docs, `layouts/` and `components/` for repository-owned UI (React, Astro, and Circuit UI), and `utils/`/`lib/` for shared logic. Assets live in `src/assets` and `public/`. Build outputs go to `dist/`. Configuration resides in `astro.config.ts`, `nimbus.json`, and `wrangler.jsonc`; adjust them when adding new content types or deployment targets. API documentation is based on `openapi.yaml`, this file is synchronized from outside this repository, do not edit it.

## Build, Test, and Development Commands

- `npm run dev` — watch mode with Hot Module Reloading; use when authoring docs or components.
- `npm run build` — production Astro build targeting Cloudflare; ensure it succeeds before merging.
- `npm run check` — runs `astro check` for type and content schema validation after `astro sync`.
- `npm run lint` — ESLint across Astro/TSX files; required before pushing structural changes.
- `npm run format` — Prettier write for source and content; run after bulk edits.
- `npm run linkcheck` — builds with `CHECK_LINKS=true` to surface broken internal/external links.
- `npm run check` — runs `astro check` for Astro, TypeScript, and content schema validation.
- `npm run lint` — runs ESLint and `rumdl`; required before pushing structural changes.
- `npm run format` — formats source, styles, and data files with Prettier.
- `npm run linkcheck` — builds, runs Nimbus's internal-link checks, and validates rendered API links.
- `npm run validate` — runs the complete CI validation sequence.

## Coding Style & Naming Conventions

Prettier (project defaults) handles whitespace, so commit formatted files rather than manual styling. Stick to TypeScript where possible; Astro islands may embed React components. Name components and directories in PascalCase (`src/components/LogoSlider`), utility modules in camelCase (`src/utils/formats.ts`), and content files in kebab-case (`src/content/docs/payments-overview.mdx`). Favor SumUp design tokens and Circuit UI primitives; extend `src/base.css` sparingly.
Prettier (project defaults) handles whitespace, so commit formatted files rather than manual styling. Stick to TypeScript where possible; Astro islands may embed React components. Name components and directories in PascalCase (`src/components/LogoSlider`), utility modules in camelCase (`src/utils/formats.ts`), and content files in kebab-case (`src/content/docs/payments-overview.mdx`). Favor SumUp design tokens and Circuit UI primitives; extend `src/styles/portal.css` and `src/styles/prose.css` sparingly. Do not add Tailwind.

## Docs Frontmatter Requirements

Expand All @@ -40,7 +41,7 @@ For files in `src/content/docs/`, include frontmatter at the top of every page.

## Testing Guidelines

CI relies on `npm run check`. When editing MDX content, preview via `npm run dev` to verify navigation, sidebar ordering, and snippet rendering. There is no Jest-style test suite; document any manual verification steps in the pull request if behavior changes or APIs are added.
CI runs `npm run validate`. When editing MDX content, preview via `npm run dev` to verify navigation, sidebar ordering, and snippet rendering. The repository has a focused Vitest suite for runtime helpers; document any additional manual verification steps in the pull request when UI behavior changes.

## Markdown Linting Guidelines

Expand Down
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Contributing

SumUp Developer portal built using [Starlight](https://starlight.astro.build/), a documentation theme built on top of [Astro](https://astro.build/). Our theme is modified to rely on SumUp's design system - [Circuit UI](https://github.com/sumup-oss/circuit-ui) - wherever possible.
SumUp Developer portal is built with [Nimbus](https://nimbus-docs.com/), a documentation framework for [Astro](https://astro.build/). The repository owns its visible components and plain CSS, using SumUp's [Circuit UI](https://github.com/sumup-oss/circuit-ui) design system wherever possible. Tailwind is not used.

## Codeblocks

Codeblocks are rendered using [Expressive Code](https://expressive-code.com/), the configuration can be found in `./ec.config.mjs`.
Code blocks are highlighted by Nimbus's Shiki pipeline. Site-wide docs behavior is configured in `astro.config.ts`; visible layouts and styles live in `src/layouts/`, `src/components/nimbus/`, and `src/styles/`.
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
[![License](https://img.shields.io/github/license/sumup/sumup-developer)](./LICENSE)
[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-v2.1%20adopted-ff69b4.svg)](https://github.com/sumup/sumup-developer/tree/main/CODE_OF_CONDUCT.md)

The SumUp Developer Portal documents the integrations, SDKs, and public APIs that external developers use to build payment-acceptance solutions. The site is built with [Astro](https://astro.build/) and the [Starlight](https://starlight.astro.build/) documentation theme. Documentation pages are written in Markdown and MDX.
The SumUp Developer Portal documents the integrations, SDKs, and public APIs that external developers use to build payment-acceptance solutions. The site is built with [Astro](https://astro.build/) and [Nimbus](https://nimbus-docs.com/). Documentation pages are written in Markdown and MDX, while the visible theme uses plain CSS and SumUp's Circuit UI design tokens.

</div>

Expand Down Expand Up @@ -63,6 +63,7 @@ Run the checks that match your change before opening a pull request:
| `npm run test` | Run the Vitest test suite |
| `npm run build` | Create the production Cloudflare build |
| `npm run linkcheck` | Build the site and validate internal links |
| `npm run validate` | Run the complete CI validation sequence |

## API Specs

Expand Down
Loading
Loading