Files
SpacetimeDB/docs
Tyler Cloutier dbc3d86b25 First pass at reorganizing the docs and making them nice (#3494)
# Description of Changes

This PR is the first in a series of PRs which are an effort the
reorganize the docs and make it easier for people to get started using
SpacetimeDB.

This PR:

1. Renames all folders to be `kebab-case`. This is because `docIds` are
set based on folder and file names, and there is no way to override that
within a file (all you can change with `id: my-id` is the last component
of the id. Because we want to be able to access docs in react components
we need stable predictable ids.
- This also necessitates setting up a few `_category_.json` files so
that the categories do not show up as kebab case in the sidebar.
2. Adds a few React components with images so it's clearer on how to get
started
3. Reorganizes the quickstarts to be at the top of the side bar and
simplifies the server and client into a single document named for the
language
4. Sets up redirections so the old links to the old documents now point
to the new documents
5. Copies the entirety of `typography.css` from the website into this
repo for the purpose of keeping them identical
6. Makes minor fixes and improvements to the contents of the docs

In a future PR, I intend to:

1. Add a tutorial section to the docs which will include two tutorials:
Blackholio and Chat
2. Turn the chat quickstart documents into the Chat tutorial and
consolidate it into a single file with different language switchers (if
this is feasible)
3. Create a new quickstart section, which has a quickstart guide for
each platform that we support so far, namely:
    - Vanilla TypeScript
    - Vanilla JavaScript
    - Vanilla Rust
    - Vanilla C#
    - React
    - Unity
    - Unreal
4. Update the quickstart guides to do the following (in the future I
will add more platforms with this scheme):
- Use `spacetime dev --template <framework-template>` to create a new
project for the given framework
    - Insert data into the database
    - Add a new `reducer` to the template
    - Add a new `table` to the template
    - Add a new `view` to the template
    - Call the reducer from the client
    - Subscribe to the `view` from the template
5. Break up the current per language module reference files into files
about SpacetimeDB concepts with a `TabGroup` for each language, namely:
    - Modules
    - Tables
    - Reducers
    - Procedures
    - Code generation
    - DbConnection (and the SDK API)
    - Auth
    - etc.
The idea being that we should explain our platform by concept, not by
language. This will also allow us to reuse a lot of prose that is
repeated in the different language documents.

# API and ABI breaking changes

None

# Expected complexity level and risk

1

# Testing

- [x] Tested the documents locally to ensure that they render properly

---------

Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
2025-11-26 15:06:02 +00:00
..
2025-10-24 14:36:38 +00:00
2025-10-24 14:36:38 +00:00
2025-10-24 14:36:38 +00:00
2025-10-24 14:36:38 +00:00
2025-10-24 14:36:38 +00:00
2025-10-24 14:36:38 +00:00
2025-10-24 14:36:38 +00:00

SpacetimeDB Documentation

This repository contains the markdown files which are used to display documentation on our website. This documentation is built using Docusaurus.

Making Edits

To make changes to our docs, you can open a pull request in this repository. You can typically edit the files directly using the GitHub web interface, but you can also clone our repository and make your edits locally.

Instructions

  1. Fork our repository
  2. Clone your fork:
git clone ssh://git@github.com/<username>/SpacetimeDB
cd SpacetimeDB/docs
  1. Make your edits to the docs that you want to make + test them locally (See Testing Locally)
  2. Commit your changes:
git add .
git commit -m "A specific description of the changes I made and why"
  1. Push your changes to your fork as a branch
git checkout -b a-branch-name-that-describes-my-change
git push -u origin a-branch-name-that-describes-my-change
  1. Go to our GitHub and open a PR that references your branch in your fork on your GitHub

Docusaurus Documentation

For more information on how to use Docusaurus, see the Docusaurus documentation.

Testing Locally

Installation

  1. Make sure you have Node.js installed (version 22 or higher is recommended).
  2. Clone the repository and navigate to the docs directory.
  3. Install the dependencies: pnpm install
  4. Run the development server: pnpm dev, which will start a local server and open a browser window. All changes you make to the markdown files will be reflected live in the browser.

License

This documentation repository is licensed under Apache 2.0. See LICENSE.txt for more details