The official documentation for SCNX - view it live at docs.scnx.xyz.
This project is not open source. The source code is shared publicly to allow community contributions (typo fixes, translation improvements, new documentation pages), but all rights are reserved by ScootKit. You may not copy, redistribute, or use this code to build or host your own version of the documentation. Due to proprietary dependencies (FontAwesome Pro, internal API integrations), the project cannot be built on external machines without a license.
docs/ # Documentation content (English)
scnx/ # SCNX platform docs (servers, billing, security)
custom-bot/ # Custom Bot docs (modules, commands, troubleshooting)
support-bot/ # Support Bot docs (modmail, tickets)
linked-roles/ # Linked Roles docs
i18n/ # Translations
de/ # German
it/ # Italian
src/
pages/ # Custom pages (landing page)
theme/ # Theme overrides (footer, doc footer, blog list)
components/ # Reusable components (PlanPrice, ModuleOverview, etc.)
css/ # Global styles
static/ # Static assets (images, icons)
blog/ # News & blog posts
- Docusaurus 3 (React-based static site generator)
- Algolia DocSearch with AI assistant
- FontAwesome Pro for icons
- i18n support for English, German, and Italian
yarnyarn startStarts a local dev server with hot reload. For German locale:
yarn start --locale deyarn buildyarn fix-tablesExecute scripts from the bin/ directory:
node download-api-responses.js- Cache SCNX API data toapi-responses.json(required for other scripts and offline builds)node generate-progress.js [orgID]- View module translation progress (optionally filter by org)node generate-docs-file.js <moduleName>- Generate a docs template for a Custom Bot modulenode generate-missing-files.js- Generate placeholder files for undocumented modules
Contributions are welcome! Please:
- Create an issue or discussion first to coordinate
- Open a PR with your changes
- Run
yarn fix-tablesbefore committing to fix markdown table formatting
- English docs live in
docs/ - German translations go in
i18n/de/docusaurus-plugin-content-docs/current/ - UI string translations go in
i18n/de/code.json - English is the fallback for any missing translations
- Use
:::info,:::warning,:::danger,:::tipfor callouts - Reference images with
@site/docs/assets/... - Use
<Translate>components in React code for i18n - Use
<IncludedInPlan>component to show plan availability - Use
<PlanPrice>component for dynamic pricing display
A CI linter runs on every PR and an autofix runs on merge to main. The following rules are enforced:
| Rule | Correct | Incorrect |
|---|---|---|
Use - instead of em dashes |
tickets - overview |
tickets — overview |
| Use straight quotes | "text" |
\u201Ctext\u201D |
Use ... instead of ellipsis character |
and more... |
and more\u2026 |
| Use regular spaces | some text |
some\u00A0text (non-breaking space) |
| No trailing whitespace | end of line |
end of line |
These rules are automatically fixed on merge to main via the docs-autofix workflow.
Prettier runs on merge to main to auto-format markdown files. Configuration is in .prettierrc. It will:
- Align and normalize markdown table columns
- Normalize bullet points to
-(use either*or-when writing, prettier will standardize it) - Normalize emphasis to
_text_and bold to**text** - Fix inconsistent spacing and indentation
You can run prettier locally before committing:
NPM_CONFIG_USERCONFIG=/dev/null npx prettier --write 'docs/**/*.md'The NPM_CONFIG_USERCONFIG=/dev/null is needed to skip the FontAwesome registry in .npmrc.
© ScootKit UG (haftungsbeschränkt), 2026 - All rights reserved. This project is proprietary software. See above for contribution guidelines.