Skip to content

Repository files navigation

Website

This website is the documentation for qmBase.

This website is built using Docusaurus 2, a modern static website generator.

Status

help.qmbase.com

qmBase - Azure Static Web Apps CI/CD

Prerequisites

Download and install VS Code clone this repository and follow the instructions.

Installation

yarn install

Local Development

yarn start

This command starts a local development server and open up a browser window. Most changes are reflected live without having to restart the server.

How to edit documents in VS Code

Follow these steps to edit the documents:

  1. Open Visual Studio Code (if it's not installed, download it from https://code.visualstudio.com/).
  2. From the left sidebar, click on Source Control then click Clone Repository.
  3. Paste the repository URL of qmBase/docs GitHub repository (https://github.com/qmBase/docs.git) and click Clone from URL.
  4. Select a path (any folder) where the files will be cloned to.
  5. After the cloning process is finished, a pop-up message will show up, click Open to open the cloned repository in Visual Studio Code.
  6. Now create a new branch by clicking main in the bottom left, and choose Create new branch and name it then press enter. (use your initials at the beginning, for example: [ab]/BranchName)
  7. Do your edits and changes and save them.
  8. Click on Source Control from the left sidebar.
  9. Enter a message about the changes you made and press Commit, then Publish Branch.
  10. Now in GitHub, make a Pull Request, then merge your branch with the main branch.

Development in the cloud

If you do not have installed VS Code on you local machine you can also Open the repository in in the browser. This make writing new documents easier than working on the raw files on Github Go to https://vscode.dev/github/qmBase/docs and follow the instructions.

Build

yarn build

This command generates static content into the build directory and can be served using any static contents hosting service.

Deployment

This project will be deployed to an azure static web app via the azure-pipelines.yml file

Spell Check

npm run lint:spelling

This command runs a spell check using CSpell. If you want any specific words to be ignored by the spell checker, add them to the words list in the project-words.txt file.

Colors

  • Primary: #65ace0

Static Assets

Icons

Icons we use can be found at react-icons.

Screenshots

The screenshots are automatically generated via Cypress. You can see the full list of screenshots here under the gallery section. If you require more screenshots please file a new issue.

Path of screenshots equals path in app.

Templates for docs

The template for app documentation can be found in /docs/tutorial-template. If the document you write is incomplete please write

Common Feature Matrix

AppEntityCommentsFilesAudit TrailCustom FieldsWorkflowsCosts
Absence plannerxxxx
Audit managementxxxx
Blogxxx
Claim managementxxxxx
CRMContactsxxxx
CRMRatingsxx
Document managementxxx
Employeesxxx
Error managementxxxxx
Formsx
Functions & QualificationsNon Standard
Goal managementxxxxx
Idea managementxxx
MaintenanceInventory itemsxxxx
MaintenanceInspections donex
Projects & TasksProjectsxxx
Projects & TasksTasksxxxxx
Productsxxxx
Risks & Chancesxxxx
Trainingsxxxxx
WIKIxxx

Connection Matrix

App / AppAbsence plannerAudit managementBlogClaim managementCRMDocument managementEmployeesError managementFormsFunctions & QualificationsGoal managementIdea managementMaintenanceProjects & TasksProductsRisks & ChancesTrainingsWIKI
Absence planner
Audit managementxxxx
Blog
Claim managementxxxx
CRMxx
Document management
Employees
Error managementxxx
Forms
Functions & Qualificationsx
Goal managementxx
Idea management
Maintenancex
Projects & Tasksxxxxxxxxxxxx
Productsxxx
Risks & Chancesx
Trainingsxxxx
WIKI

App Homepages

How to create a good home page?

https://www.smashingmagazine.com/2018/02/comprehensive-guide-to-mobile-app-design/

  • Minimize Cognitive Load
  • DECLUTTERING
  • USE FAMILIAR SCREEN
  • MINIMIZE USER INPUT
  • ANTICIPATE USERS NEEDS
  • Focus On The First-Time Experience
  • DESIGN A GOOD ONBOARDING EXPERIENCE
  • Don’t Ask For Set-Up Information Up Front
  • PUSH THE VALUE
ItemPriorityMultiple entitiesApps
My dashboard / Action required1Y-> Notification + my items + Action required
My statusYAbsence plannerRemove
Pinned entries-1Use everywhere
CommentsYRemove
NotificationUnify with 1
Smart ViewsYRemove
Common tasksFunctions & QualificationsMove to sidebar
Global filterFunctions & QualificationsMove to settings in app
Access your contentBlog, Doc, WikiRemove / Move to sidebar
Quick access0Blog, Doc, Wiki
Tags?Sidebar + Modal
Actions in this app?FormsUnify
Action required v1?IdeasUnify
Action required v2?TrainingsUnify
Bot?Merge in action required as second part
Workflows?AppSettings
Pending connected tasks?Claim Management
Notification for all new?Claim ManagementMove to App settings
App overview?Dashboard & Reportingleave as it is
Custom?AdminClean up only action required
Custom?Profileleave as it is
Search results?Settingsleave as it is
New here card?IdeaManagementUnify under condition no action required + zero data created
Prerequisites?App lock screen modal with overview of required / missing data and permission info

Known Issues

Known Issues should be documented in the dedicated folder ./docs/knownIssues/ if the source is a ticket use the {id}.md as file name. If the source is a internal ticket use the {id}_intern.md as file name.

Add the tag docs:KnownIssue to the ticket so that we have a reference there. If multiple tickets reference a knownIssue entry put the link to the knownIssue as a comment to the ticket.

File and Folder structure

my-docusaurus-site/
│
├── package.json
├── docusaurus.config.ts
├── sidebars.ts
├── tsconfig.json
├── README.md
│
├── docs/ # 📘 Main documentation (Markdown-first)
│ ├── index.md # /docs landing page
│ │
│ ├── intro/ # Logical grouping
│ │ ├── index.md
│ │ └── getting-started.md
│ │
│ ├── guides/
│ │ ├── index.md
│ │ ├── installation.md
│ │ └── configuration.md
│ │
│ ├── reference/
│ │ ├── index.md
│ │ ├── cli.md
│ │ └── api.md
│ │
│ └── _meta/ # ❗ AI / structural metadata
│ ├── vision.md
│ ├── audience.md
│ ├── non-goals.md
│ └── glossary.md
│
├── blog/ # 📰 Blog posts
│ ├── 2026-01-01-welcome.md
│ └── authors.yml
│
├── src/ # ⚛️ React customization
│ ├── components/
│ ├── pages/
│ ├── css/
│ │ └── custom.css
│ └── theme/
│ └── DocItem/
│ └── index.tsx
│
├── static/ # 🖼️ Static assets
│ ├── img/
│ └── files/
│
├── scripts/ # 🤖 AI / automation scripts
│ ├── validate-docs.ts
│ ├── generate-docs.ts
│ └── lint-frontmatter.ts
│
├── .agents/ # 🧠 AI control & memory
│ ├── rules.md
│ ├── memory.md
│ ├── changelog.md
│ └── prompts/
│ ├── doc-writer.md
│ ├── editor.md
│ └── reviewer.md
│
└── .gitignore

Key Docusaurus concepts (important for structure)

docs/ = source of truth

  • Every folder → sidebar category
  • index.md → category landing page
  • Frontmatter controls navigation, ordering, labels

AI-friendly conventions for docs/

1️⃣ Keep _meta/ separate

This prevents accidental publishing.

docs/_meta/
vision.md # Why this site exists
audience.md # Personas
non-goals.md

2️⃣ One page = one responsibility

Avoid giant Markdown files.

✅ installation.md ❌ everything.md

3️⃣ Stable paths

Renaming files breaks links and agent memory.

5. src/ – when (and when not) to touch it

Agents should:

  • ❌ Avoid touching src/theme/ unless necessary
  • ✅ Add components only when Markdown is insufficient

Typical cases:

  • Interactive diagrams
  • Custom callouts
  • Auth-aware content

Static assets best practice

static/img/docs/
static/img/blog/

AI-specific .agents/ folder (optional but powerful)

.agents/
├── rules.md # Global constraints
├── memory.md # Decisions & context
├── changelog.md # What the AI changed
└── prompts/

Example rules.md:

- Do not change published docs without explicit instruction
- Prefer modifying existing files
- Ask before creating new categories

How to instruct the agent

System prompt:

You are an AI documentation agent for a Quality Management SaaS.
Before acting, you must:
1. Read and follow all files in `.agents/`
2. Treat `.agents/constraints.md` as absolute
3. Treat `.agents/rules.md` as behavioral law
4. Treat `docs/_meta/*` as canonical domain truth
5. Preserve terminology defined in `_meta/terminology.md`
You may:
- Edit documentation Markdown files
- Improve clarity without changing meaning
You must never:
- Modify `.agents/` files
- Modify `docs/_meta/`
- Invent features or compliance claims
- Change the meaning of existing content
All changes must be logged in `.agents/changelog.md`.
If a request violates any rule, stop and explain why.

Second prompt: How tasks should be given to the agent

❌ Bad task:

“Improve the docs for qualifications”

✅ Good task:

“Clarify how qualification validity resets work in docs/guides/qualifications/validity.md. Do not change compliance meaning. Preserve terminology. Log changes.”

The more constrained, the better.

About

Live Production Site

Topics

Resources

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages