Skip to content

docs(journeydoc): bootstrap capture-driven user documentation - #190

Merged
rubenvdlinde merged 1 commit into
developmentfrom
feature/journeydoc-init
May 12, 2026
Merged

docs(journeydoc): bootstrap capture-driven user documentation#190
rubenvdlinde merged 1 commit into
developmentfrom
feature/journeydoc-init

Conversation

@rubenvdlinde

Copy link
Copy Markdown
Contributor

Summary

Bootstraps a Docusaurus documentation site under docs/ plus the journeydoc capture-driven docs scaffold (ADR-030) for Decidesk. Decidesk previously had no Docusaurus site — only docs/features/ — so this is a green-field bootstrap using the pipelinq / scholiq docs sites as the working template, with the journeydoc scaffold layered on top.

What landed

Docusaurus site (docs/)

  • docusaurus.config.js — adapted from pipelinq/scholiq: title/tagline/url: https://decidesk.conduction.nl/baseUrl: //organizationName: ConductionNL/projectName: decidesk, navbar + footer wired, editUrltree/development/docs/, i18n.locales: ['en'] (ADR-030 — no translated markdown shipped yet), markdown.hooks.onBrokenMarkdownImages: 'warn'.
  • package.json (name decidesk-docs) + package-lock.json (@conduction/docusaurus-preset ^1.4.3, consistent with the lock — same combo as the build-verified scholiq#64), sidebars.js (autogenerated), src/css/custom.css (Conduction Cobalt palette), src/pages/index.js + src/pages/index.module.css, src/components/HomepageFeatures/, static/img/logo.svg (from img/app-store.svg), intro.md.
  • Existing docs/features/mcp-tools.md left in place — the autogenerated sidebar picks it up.

Docs domain wiring

  • docs/static/CNAMEdecidesk.conduction.nl
  • .github/workflows/documentation.yml → shared reusable workflow ConductionNL/.github/.github/workflows/documentation.yml@main with cname: decidesk.conduction.nl, triggers on push/PR to development + documentation (was cname: decidesk.app, documentation only).

Journeydoc scaffold

  • docs/tutorials/{,user/,admin/}_category_.json
  • 8 user-track skeletons: 01-first-launch, 02-schedule-meeting, 03-add-motion, 04-propose-amendment, 05-run-vote, 06-take-minutes, 07-track-decisions, 08-ai-companion — from tutorial-page.md.template, frontmatter pre-filled, bodies are backtick-wrapped {{TODO: …}} for the human author / /journeydoc-add-story.
  • 3 admin-track skeletons: 01-configure-workflow, 02-manage-members, 03-admin-settings.
  • tests/e2e/docs-screenshots.spec.ts — capture-spec stub with one empty test('UN <slug>', …) block per story (11 total), each pointing at /journeydoc-add-story.
  • playwright.config.ts — created from scratch (decidesk had none): chromium regression project (testIgnore: ['**/docs-screenshots.spec.ts']) + docs-capture project (testMatch /docs-screenshots\.spec\.ts$/, 1280×800 viewport).
  • docs/static/screenshots/tutorials/{user,admin}/.gitkeep
  • .gitignore — added rules for docs/{node_modules,build,.docusaurus,.cache-loader}, docs/i18n/nl/, and Playwright output dirs.

Build status

cd docs && npm ci --legacy-peer-deps && npm run build[SUCCESS] Generated static files in "build". The only build noise is onBrokenLinks: warn warnings for the brand preset's footer links (/privacy/, /terms/, /iso/) — same as the sibling scholiq#64 / shillinq#71 bootstraps; those pages live on the parent conduction.nl site.

Notes / review points

  • The Docusaurus config is a best-effort adaptation of the pipelinq/scholiq pattern — it builds clean but the marketing copy on the landing page (src/pages/index.js, HomepageFeatures) and intro.md are first-draft and worth a content pass.
  • Tutorial page bodies are TODO skeletons by design — fill via /journeydoc-add-story; add data-testids via /journeydoc-instrument before writing capture-spec bodies.
  • Not merging — left open for review.

🤖 Generated with Claude Code

Bootstrap a Docusaurus documentation site under docs/ and the
journeydoc capture-driven docs scaffold (ADR-030) for Decidesk:

- Docusaurus site (docusaurus.config.js, package.json/lock, sidebars.js,
  src/css + src/pages + src/components, static/img/logo.svg, intro.md),
  adapted from the pipelinq/scholiq sites; English-only i18n per ADR-030,
  onBrokenMarkdownImages: warn, editUrl -> tree/development/docs/.
- docs/static/CNAME -> decidesk.conduction.nl; .github/workflows/documentation.yml
  switched to the shared reusable workflow with cname decidesk.conduction.nl
  and push/PR triggers on development + documentation.
- tutorials/{user,admin}/ skeletons: 8 user stories + 3 admin stories
  from the tutorial-page template (TODO bodies for the human author).
- tests/e2e/docs-screenshots.spec.ts capture-spec stub (one test block
  per story) + a from-scratch playwright.config.ts with chromium and
  docs-capture projects.
- screenshots output dir docs/static/screenshots/tutorials/{user,admin}/
  (.gitkeep); .gitignore rules for docs/ build artifacts, i18n/nl, and
  Playwright output.

Local docs build verified: npm ci --legacy-peer-deps && npm run build
succeeds.
@github-actions

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/decidesk @ cc931d2

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
composer ✅ 100/100
npm ✅ 471/471
PHPUnit
Newman
Playwright ⏭️

Coverage: 0% (0/115 statements)


Quality workflow — 2026-05-12 21:13 UTC

Download the full PDF report from the workflow artifacts.

@rubenvdlinde
rubenvdlinde merged commit 6f41882 into development May 12, 2026
46 checks passed
@rubenvdlinde
rubenvdlinde deleted the feature/journeydoc-init branch May 12, 2026 21:21
@rubenvdlinde
rubenvdlinde restored the feature/journeydoc-init branch May 28, 2026 21:57
@rubenvdlinde
rubenvdlinde deleted the feature/journeydoc-init branch August 14, 2026 09:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant