You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
The Getting Started page (content/docs/getting-started/_index.md) is the only major content page on the site that is hand-maintained in the website repo rather than synced from an upstream source of truth. This disconnect is already causing real problems, there are currently 11 open issues against the page where commands are broken, behavior doesn't match reality, or critical information is missing:
PR #82 is working on fixes and proposes a doctest infrastructure to catch broken commands. These are all symptoms of the same root cause: the getting-started content lives in the website repo, disconnected from the repos where tool behavior is defined and changes. Contributors who change complyctl behavior have no visibility into the getting-started page they're silently breaking.
Every other documentation page flows through the sync-content pipeline with lockfile-gated deploys and weekly upstream change detection. The getting-started page should follow the same pattern.
Describe the solution you'd like
Sync the Getting Started page from complytime/complytime via the existing sync-content tool.
Upstream source: Create docs/guides/getting-started.md in complytime/complytime. This is the ecosystem-level onboarding guide (architecture overview, prerequisites, first scan walkthrough). The docs/guides/ directory already exists with a .keep placeholder reserved for how-to docs.
Sync config: Add a config-driven source entry in sync-config.yaml that maps the upstream file to content/docs/getting-started/_index.md:
sources:
- repo: complytimefiles:
- src: docs/guides/getting-started.mddest: content/docs/getting-started/_index.mdtransforms:
- inject-frontmatter:
title: "Getting Started"description: "Get started with ComplyTime in minutes."lead: "Get up and running with ComplyTime compliance automation tools."weight: 200toc: true
- theme-image
- rewrite-links
Lockfile tracking: complytime is already tracked in .content-lock.json. The existing weekly sync-content-check workflow will detect upstream changes and open a lockfile update PR automatically.
Remove hand-maintained file from git: Once the sync source is wired up, remove content/docs/getting-started/_index.md from git tracking (it becomes a generated file, like content/docs/projects/*/). Update .gitignore accordingly.
Companion PR on complytime/complytime: Move the current page content into docs/guides/getting-started.md in plain Markdown (no Hugo shortcodes), fixing the 11 open issues in the process. Hugo-specific rendering (theme-aware images, frontmatter) is handled by sync transforms on the website side.
Fix issues in place and keep it hand-maintained: Addresses the immediate bugs but doesn't fix the structural problem. The same drift will recur as complyctl evolves.
Source from complyctl instead: complyctl/docs/QUICK_START.md covers similar ground, but the getting-started page is ecosystem-level (architecture overview, multi-tool concepts, provider model) rather than tool-specific. Sourcing from complytime/complytime keeps the guide at the right abstraction level while QUICK_START.md remains the tool-specific reference.
Additional context
The sync-config.yamlsources list is currently empty — this would be the first config-driven source entry, exercising a capability that was built but not yet used in production.
The theme-image transform for converting standard Markdown images to Hugo shortcodes may need to be implemented in cmd/sync-content/ if it doesn't already exist. The upstream file would use standard Markdown image syntax and the transform handles the Hugo conversion.
complyctl/docs/QUICK_START.md already syncs separately as a project doc page. The two pages serve different audiences: Getting Started is the front-door onboarding experience; Quick Start is the tool-specific reference.
The doctest infrastructure proposed in PR fix: add cosign to prerequisites #82 could run against the upstream file in complytime/complytime CI, catching broken commands before they ever reach the website.
Is your feature request related to a problem? Please describe.
The Getting Started page (
content/docs/getting-started/_index.md) is the only major content page on the site that is hand-maintained in the website repo rather than synced from an upstream source of truth. This disconnect is already causing real problems, there are currently 11 open issues against the page where commands are broken, behavior doesn't match reality, or critical information is missing:cosign verify-blobcommand cannot verify any release #59 —cosign verify-blobcommand cannot verify any releasecp bin/complyctl-provider-openscapcopies a filemake buildnever creates #60 —cp bin/complyctl-provider-openscapcopies a filemake buildnever createscomplyctl initdocumentation does not match observed behavior #61 —complyctl initdocs don't match observed behaviorprofiletarget variable the page never mentions #65 — OpenSCAP path needs aprofiletarget variable never mentionedcosignis required by the recommended path but not listed as a prerequisite #66 —cosignrequired but not listed as prerequisite.complytimedirectories are never disambiguated #67 — Two different.complytimedirectories never disambiguatedPR #82 is working on fixes and proposes a doctest infrastructure to catch broken commands. These are all symptoms of the same root cause: the getting-started content lives in the website repo, disconnected from the repos where tool behavior is defined and changes. Contributors who change
complyctlbehavior have no visibility into the getting-started page they're silently breaking.Every other documentation page flows through the
sync-contentpipeline with lockfile-gated deploys and weekly upstream change detection. The getting-started page should follow the same pattern.Describe the solution you'd like
Sync the Getting Started page from
complytime/complytimevia the existingsync-contenttool.Upstream source: Create
docs/guides/getting-started.mdincomplytime/complytime. This is the ecosystem-level onboarding guide (architecture overview, prerequisites, first scan walkthrough). Thedocs/guides/directory already exists with a.keepplaceholder reserved for how-to docs.Sync config: Add a config-driven source entry in
sync-config.yamlthat maps the upstream file tocontent/docs/getting-started/_index.md:Lockfile tracking:
complytimeis already tracked in.content-lock.json. The existing weeklysync-content-checkworkflow will detect upstream changes and open a lockfile update PR automatically.Remove hand-maintained file from git: Once the sync source is wired up, remove
content/docs/getting-started/_index.mdfrom git tracking (it becomes a generated file, likecontent/docs/projects/*/). Update.gitignoreaccordingly.Companion PR on
complytime/complytime: Move the current page content intodocs/guides/getting-started.mdin plain Markdown (no Hugo shortcodes), fixing the 11 open issues in the process. Hugo-specific rendering (theme-aware images, frontmatter) is handled by sync transforms on the website side.Resolve open issues: The migration is the right time to address Getting Started: documented
cosign verify-blobcommand cannot verify any release #59–Getting Started: top-level commands and global flags are omitted from the walkthrough #68 and Getting-started: correct "block the pipeline" wording to match scan exit code contract #75 in the upstream file rather than patching the website copy. Once the synced version lands, those issues can be closed.Describe alternatives you've considered
Fix issues in place and keep it hand-maintained: Addresses the immediate bugs but doesn't fix the structural problem. The same drift will recur as
complyctlevolves.Source from
complyctlinstead:complyctl/docs/QUICK_START.mdcovers similar ground, but the getting-started page is ecosystem-level (architecture overview, multi-tool concepts, provider model) rather than tool-specific. Sourcing fromcomplytime/complytimekeeps the guide at the right abstraction level whileQUICK_START.mdremains the tool-specific reference.Additional context
sync-config.yamlsourceslist is currently empty — this would be the first config-driven source entry, exercising a capability that was built but not yet used in production.theme-imagetransform for converting standard Markdown images to Hugo shortcodes may need to be implemented incmd/sync-content/if it doesn't already exist. The upstream file would use standard Markdown image syntax and the transform handles the Hugo conversion.complyctl/docs/QUICK_START.mdalready syncs separately as a project doc page. The two pages serve different audiences: Getting Started is the front-door onboarding experience; Quick Start is the tool-specific reference.complytime/complytimeCI, catching broken commands before they ever reach the website.