Skip to content

feat(site): one documentation site for simply and its products - #4

Merged
ClayChipps merged 1 commit into
mainfrom
feat/combined-docs-site
Sep 11, 2026
Merged

ClayChipps merged 1 commit into
mainfrom
feat/combined-docs-site

Conversation

@ClayChipps

Copy link
Copy Markdown
Contributor

What

Adds site/, a Starlight site at https://simplysf.github.io/simply-cli/ covering the simply
host and every product it hosts. It replaces the separate simply-atlassian and simply-gitlab
sites, which described a world where each was its own global install.

Where the content comes from

Content Lives in Reaches the site when
Host pages (install, plugins, MCP overview) site/src/content/docs/ here this repo merges
Product command reference each package's oclif.manifest.json that product releases
Product guides each package's docs/guides/ that product releases

site/scripts/sync-products.mjs runs on prebuild. For each product it runs npm pack on the
published CLI and MCP packages, extracts oclif.manifest.json and docs/ from the tarballs, and
generates everything under /gitlab/ and /atlassian/. None of it is committed here — those
paths are gitignored.

Why generate from the tarball rather than the repo

A submodule or a cross-repo checkout would document main. The tarball documents the release, and
a reader running simply gitlab mr list has a release, not a main. Documenting the published
artifact makes the site wrong only in the direction of being slightly behind rather than promising
flags that do not exist.

The cost is stated plainly in docs/design/0002-combined-documentation-site.md: a docs fix reaches
the site on release, not on merge.

Consequences that show up in the code

  • docs.yml runs on a daily schedule, because a product release changes this site's content
    while touching nothing in this repo. Without it the site would sit stale until someone pushed.
  • The build needs network (npm pack hits the registry). It is a separate workflow from
    test.yml and release.yml, so a registry outage cannot fail those.
  • Hand-written pages link only to /{product}/ and /{product}/reference/. Both are generated
    on every build from the manifest, which a JIT plugin must ship anyway. A guide arrives with
    someone else's release, so a direct link to one is a link this repo cannot keep working.
  • The product landing page lists only what the build produced, so an unshipped guide is absent
    rather than broken.
  • No edit links on generated pages — Starlight's editLink would point at a file that does not
    exist here.

Ordering

Mergeable and deployable now: the product landing pages render, the command reference renders from
the already-published manifests, and the guides section says it arrives with the next release. The
guides appear once SimplySF/simply-gitlab#7 and SimplySF/simply-atlassian#29 merge and
release
.

Verification

  • pnpm --filter site run build → 26 pages, no errors.
  • Internal link check over site/dist: 0 broken links.
  • Sync output: atlassian: 44 commands from simply-atlassian@0.11.0 + simply-atlassian-mcp@0.5.0;
    gitlab: 26 commands from simply-gitlab@0.4.0 + simply-gitlab-mcp@0.4.0.
  • pnpm run build and pnpm test pass.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Ybn4zKccbckadW1Jj5EfXr

Adds site/, a Starlight site at https://simplysf.github.io/simply-cli/ that
covers the simply host and every product it hosts. Replaces the separate
simply-atlassian and simply-gitlab sites, which described a world where each
was its own global install.

Everything under /gitlab/ and /atlassian/ is generated by
site/scripts/sync-products.mjs from each product's published npm tarball:
the command reference from oclif.manifest.json, the guides from the docs/
directory the package now ships. None of it is committed here.

Generating from the tarball rather than the product repo means the site
documents what people have installed rather than what is on main. The cost
is that a docs fix reaches the site on release, not on merge, and that the
site changes without anything changing here — so docs.yml runs on a daily
schedule as well as on push.

Hand-written pages link only to /{product}/ and /{product}/reference/, both
generated on every build. A guide arrives with someone else's release, so a
direct link to one is a link this repo cannot keep working.

See docs/design/0002-combined-documentation-site.md.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ybn4zKccbckadW1Jj5EfXr
@ClayChipps
ClayChipps merged commit b1a66eb into main Sep 11, 2026
6 checks passed
@ClayChipps
ClayChipps deleted the feat/combined-docs-site branch September 11, 2026 11:09
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