Implements website feature branch `410-public-docs-ia`. Target branch: `website-dev`. Validation: - `corepack pnpm --filter @tenantatlas/website build` - Playwright smoke coverage for public routes and docs interactions - Static claim scans for `apps/website/src`, `apps/website/public`, and `apps/website/dist` Follow-up integration path after merge: `website-dev` -> `dev`. Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #412
224 lines
7.6 KiB
Markdown
224 lines
7.6 KiB
Markdown
# Quickstart: Public Docs & Knowledge Base IA
|
|
|
|
## 1. Confirm Scope And Current Docs Shape
|
|
|
|
Work from repository root:
|
|
|
|
```bash
|
|
cd /Users/ahmeddarrazi/Documents/projects/wt-website
|
|
pwd
|
|
git status --short --branch
|
|
cat package.json
|
|
cat pnpm-workspace.yaml 2>/dev/null || true
|
|
cat apps/website/package.json
|
|
find apps/website -maxdepth 4 -type f | sort | sed -n '1,320p'
|
|
```
|
|
|
|
Scope boundaries:
|
|
|
|
- Allowed: `/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/**`
|
|
- Allowed: `/Users/ahmeddarrazi/Documents/projects/wt-website/specs/410-public-docs-ia/**`
|
|
- Forbidden: `/Users/ahmeddarrazi/Documents/projects/wt-website/apps/platform/**`
|
|
- Forbidden: root workspace script contract changes
|
|
|
|
## 2. Update The Docs Base Route
|
|
|
|
Current repo truth:
|
|
|
|
- Starlight is already enabled in `apps/website/astro.config.mjs`
|
|
- docs content already lives in `apps/website/src/content/docs/**`
|
|
- current public starter docs routes are rooted at `/welcome-to-docs/`, `/guides/*`, and `/platform/evidence-review/`
|
|
|
|
Target docs route family:
|
|
|
|
- `/docs/`
|
|
- `/docs/getting-started/`
|
|
- `/docs/microsoft-365-provider/`
|
|
- `/docs/permissions-data-access/`
|
|
- `/docs/data-processing-trust/`
|
|
- `/docs/policy-evidence/`
|
|
- `/docs/drift-detection/`
|
|
- `/docs/backups-versioning-recovery/`
|
|
- `/docs/findings-exceptions-accepted-risk/`
|
|
- `/docs/review-packs-decisions/`
|
|
- `/docs/evaluation-pilot/`
|
|
- `/docs/known-limitations/`
|
|
- `/docs/faq/`
|
|
- `/en/docs/` plus the same child slugs under `/en/docs/`
|
|
|
|
Prefer shared English slugs in both locales; localize labels, not route names.
|
|
|
|
## 3. Replace The Starter Docs Content With The New IA
|
|
|
|
Expected docs content locations:
|
|
|
|
```text
|
|
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/content/docs/index.mdx
|
|
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/content/docs/getting-started.mdx
|
|
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/content/docs/microsoft-365-provider.mdx
|
|
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/content/docs/permissions-data-access.mdx
|
|
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/content/docs/data-processing-trust.mdx
|
|
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/content/docs/policy-evidence.mdx
|
|
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/content/docs/drift-detection.mdx
|
|
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/content/docs/backups-versioning-recovery.mdx
|
|
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/content/docs/findings-exceptions-accepted-risk.mdx
|
|
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/content/docs/review-packs-decisions.mdx
|
|
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/content/docs/evaluation-pilot.mdx
|
|
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/content/docs/known-limitations.mdx
|
|
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/content/docs/faq.mdx
|
|
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/content/docs/en/*.mdx
|
|
```
|
|
|
|
Each page must include:
|
|
|
|
- localized title and metadata
|
|
- short intro
|
|
- `What this page covers`
|
|
- 3-6 content sections
|
|
- real related links only
|
|
- bounded, claim-safe wording
|
|
|
|
## 4. Make Sidebar Ordering Explicit
|
|
|
|
Update `apps/website/astro.config.mjs` so the docs sidebar no longer depends on starter `guides/` autogeneration for the primary IA.
|
|
|
|
Requirements:
|
|
|
|
- expose the twelve required topic pages in the approved order
|
|
- keep DE/EN labels localized
|
|
- retain the existing custom Starlight shell components
|
|
- avoid inventing a second docs navigation system
|
|
|
|
## 5. Retarget Global Docs Entry Points
|
|
|
|
Update the existing global docs links in:
|
|
|
|
```text
|
|
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/data_files/site-copy.ts
|
|
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/components/sections/navbar&footer/Navbar.astro
|
|
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/components/sections/navbar&footer/FooterSection.astro
|
|
```
|
|
|
|
Expected result:
|
|
|
|
- nav `Docs` -> `/docs/` and `/en/docs/`
|
|
- footer `Docs` -> `/docs/` and `/en/docs/`
|
|
- homepage/platform/trust/evaluation crosslinks added where current sections support a real link cleanly
|
|
- review-packs and use-case crosslinks added only if they read clearly in the current layout
|
|
|
|
## 6. Preserve Legacy Public URLs
|
|
|
|
Ensure the current public docs routes keep working through redirects or equivalent aliases:
|
|
|
|
- `/welcome-to-docs/`
|
|
- `/guides/intro/`
|
|
- `/guides/getting-started/`
|
|
- `/guides/first-project-checklist/`
|
|
- `/platform/evidence-review/`
|
|
- English equivalents under `/en/...`
|
|
|
|
Map them to the new docs routes from the plan/data model. Do not keep the old and new docs trees as permanent duplicate truth.
|
|
|
|
## 7. Update Smoke Coverage
|
|
|
|
Expected files:
|
|
|
|
```text
|
|
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/tests/smoke/public-routes.spec.ts
|
|
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/tests/smoke/interaction.spec.ts
|
|
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/tests/smoke/smoke-helpers.ts
|
|
```
|
|
|
|
Cover:
|
|
|
|
- `/docs/` and `/en/docs/`
|
|
- all twelve localized docs topic routes
|
|
- metadata for docs landing and child pages
|
|
- nav/footer docs href migration
|
|
- legacy docs URL continuity if redirects or aliases ship
|
|
- homepage/platform/trust/evaluation crosslinks as implemented
|
|
- no placeholder links
|
|
- no forbidden public claims
|
|
- no horizontal overflow
|
|
- readable desktop/mobile layout
|
|
|
|
## 8. Run Validation
|
|
|
|
Run only scripts that currently exist:
|
|
|
|
```bash
|
|
corepack pnpm --filter @tenantatlas/website build
|
|
corepack pnpm --filter @tenantatlas/website test tests/smoke/public-routes.spec.ts
|
|
corepack pnpm --filter @tenantatlas/website test tests/smoke/interaction.spec.ts
|
|
```
|
|
|
|
Optional if formatting was touched broadly:
|
|
|
|
```bash
|
|
corepack pnpm --filter @tenantatlas/website format:check
|
|
```
|
|
|
|
Run the static scan from the plan against source:
|
|
|
|
```bash
|
|
grep -RIn \
|
|
-e 'href="#"' \
|
|
-e 'lorem ipsum' \
|
|
-e 'repo-real foundation' \
|
|
-e 'productization gap' \
|
|
-e 'capability registry' \
|
|
-e 'provider-neutral artifact taxonomy' \
|
|
-e 'source family' \
|
|
-e 'detector key' \
|
|
-e 'workspace-first cutover' \
|
|
-e 'route-owned context' \
|
|
-e 'implementation truth' \
|
|
-e 'DSGVO-konform' \
|
|
-e 'ISO-zertifiziert' \
|
|
-e 'NIS2-konform' \
|
|
-e 'in Deutschland gehostet' \
|
|
-e 'no customer data stored' \
|
|
-e 'keine Kundendaten' \
|
|
-e 'keine personenbezogenen Daten' \
|
|
-e 'Google supported' \
|
|
-e 'AWS supported' \
|
|
-e 'multi-cloud supported' \
|
|
-e 'real-time drift' \
|
|
-e 'automatic remediation' \
|
|
-e 'automatic restore' \
|
|
-e 'one-click restore' \
|
|
-e 'immutable backups' \
|
|
-e 'lueckenlose Evidence' \
|
|
-e 'lueckenlose Evidenz' \
|
|
-e 'gerichtsfeste Nachweise' \
|
|
-e 'guarantees audit success' \
|
|
-e 'makes you compliant' \
|
|
apps/website/src apps/website/public 2>/dev/null || true
|
|
```
|
|
|
|
If generated output is committed, scan `apps/website/dist` as well.
|
|
|
|
## 9. Browser Smoke
|
|
|
|
If local preview is available:
|
|
|
|
```bash
|
|
WEBSITE_PORT=${WEBSITE_PORT:-4321} corepack pnpm --filter @tenantatlas/website preview
|
|
```
|
|
|
|
Verify:
|
|
|
|
- `/docs/` loads
|
|
- `/en/docs/` loads
|
|
- all required child pages load
|
|
- nav/footer docs links work
|
|
- homepage/platform/trust/evaluation crosslinks work if implemented
|
|
- any review-packs/use-case docs teaser links work if implemented
|
|
- legacy docs URLs resolve intentionally
|
|
- permissions docs do not invent a permission matrix
|
|
- trust docs do not overclaim legal/security status
|
|
- policy evidence and drift docs stay public-facing
|
|
- backups/recovery docs do not imply one-click restore
|
|
- provider docs do not imply Google/AWS live support
|
|
- known limitations and FAQ remain clear and non-defensive
|
|
- desktop and mobile layouts remain readable |