# Contributing

How to get started with contributing to these docs.

# arc42

We recommend that you familiarize yourself with the ARC 42 template, as this is used throughout system documentation.

A blank arc42 template that can be used for new systems is kept in the blank-acr42 directory.

# Source

Source for the documentation lives on Github (opens new window).

While working on this source locally, you can install needed dependencies with npm install.

Commands exist for other local actions:

  • npm run test - Runs basic markdown and SVG linting
  • npm run fix - Fixes markdown issues
  • npm run dev - Run a development server with live reload of the build documentation site
  • npm run build - Build a static version of the site

# Directory structure

  • /docs - Documentation of this documentation (meta docs)
  • /systems - Actual system level architecture documentation. Each directory within is an arc42 template.
  • /systems/<name>/diagrams - Diagrams relevant to the system
  • /diagrams - Diagrams that do not currently fit elsewhere (TODO remove)
  • /.vuepress - VuePress configuration

# VS Code

We recommend using VS Code (opens new window) to make changes to this documentation.

Recommended Plugins:

# VuePress

This documentation makes use of VuePress (opens new window) for static site generation.

# Diagrams

# diagrams.net (opens new window)

diagrams.net is used to create refined SVG diagrams.

These SVGs should only be edited using a diagrams.net editor.

If you are using VS Code, you can take advantage of the diagrams.net integration plugin (opens new window).
If you want to draw diagrams in collaboration with other people you can do that with LiveShare (opens new window) and the aforementioned extension. Make sure to switch your VS Code theme to a light one when drawing diagrams.

If you are not using VS Code you can edit diagrams on diagrams.net itself (opens new window), exporting as an SVG.

# mermaid (opens new window)

A VuePress plugin (opens new window) allows mermaid diagrams to be included directly in markdown files.

An online live editor (opens new window) exists if you wish to easily view and edit mermaid diagrams.