Get started
Writing docs
Use this page when you add or change articles under apps/docs/content/. The public site is a static export of this tree → getcamper.io/docs.
Audience
Operators — IT / identity admins who configure Camper for a real company. Not application engineers deploying Camper Cloud, and not end users who only need My Access.
Write so a careful admin can complete a task without reading the codebase.
File layout
apps/docs/content/
index.md # docs home
get-started/… # signup, quick start, meta
concepts/… # how it works, pricing
directory/… # SCIM, IdPs, org, SSO
connections/… # target apps
operators/… # day-to-day product surfaces
Each article is Markdown with YAML frontmatter:
---
title: Short sentence-case title
description: One line for search and previews.
section: Directory # Get started | Concepts | Directory | Connections | Operators
order: 20 # sort within section (lower first)
---
URL slug = path under content/ without .md. Trailing slashes are required in links (/directory/scim/).
Article shape (preferred)
- Title + short intro — what this page helps you do
- Prerequisites (when procedural)
- Summary of steps (for multi-step guides)
- Numbered procedures with UI paths
- Tables for options, roles, and comparisons
- What not to do / gotchas only when they prevent real mistakes
- Related / Next steps — 3–6 links, not a dump of the whole site
Voice
- Sentence case titles and headings
- Short, procedural sentences
- No emoji in product docs
- Calm errors: say what failed and what to try next
- Prefer “you” for the operator; avoid “we recommend” stacks — one clear recommendation is enough
What to omit
Do not put these in product docs:
| Omit | Put it instead in |
|---|---|
Host env vars (GITHUB_APP_*, SLACK_CLIENT_SECRET, …) | Internal docs/*-setup.md |
| Terraform, Cloud Run, Secret Manager | docs/terraform-ci.md, ops runbooks |
| Database column names, package paths | Engineering docs/domain.md |
| Issue numbers as the main narrative | Optional at the end of internal docs only |
| Unpublished roadmap promises as facts | Mark as direction, or leave out |
Operators need what to click and what Camper will do. Host configuration is for Camper operators of the platform, not customers.
Accuracy checklist
Before merging docs for a user-visible feature:
- Matches current sidebar labels (Catalog, Graph, People, Resources, Connections, Activity, My Access, Settings)
- Mentions Microsoft 365 where connections are listed (beta is fine)
- Separates directory (SCIM) from targets (Connections) and sign-in (SSO)
- Roles use
Admin/Viewer(omit); never tell people to SCIMOwner - Dry-run / no write-until-confirm is stated on resource linking pages
- Cross-links use trailing slashes
- Preview:
pnpm --filter @camper/docs dev(usually :3002 under/docs/) - Build:
pnpm --filter @camper/docs build
When a feature ships
Product docs ship in the same PR as user-visible behavior. Internal docs/*.md notes are not a substitute for apps/docs/content/.
Related
- About these docs
- Design system (UI):
Camper Design System/in the repo