feat(site): one documentation site for simply and its products - #4
Merged
Merged
Conversation
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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds
site/, a Starlight site at https://simplysf.github.io/simply-cli/ covering thesimplyhost and every product it hosts. It replaces the separate
simply-atlassianandsimply-gitlabsites, which described a world where each was its own global install.
Where the content comes from
site/src/content/docs/hereoclif.manifest.jsondocs/guides/site/scripts/sync-products.mjsruns onprebuild. For each product it runsnpm packon thepublished CLI and MCP packages, extracts
oclif.manifest.jsonanddocs/from the tarballs, andgenerates everything under
/gitlab/and/atlassian/. None of it is committed here — thosepaths 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, anda reader running
simply gitlab mr listhas a release, not amain. Documenting the publishedartifact 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 reachesthe site on release, not on merge.
Consequences that show up in the code
docs.ymlruns on a daily schedule, because a product release changes this site's contentwhile touching nothing in this repo. Without it the site would sit stale until someone pushed.
npm packhits the registry). It is a separate workflow fromtest.ymlandrelease.yml, so a registry outage cannot fail those./{product}/and/{product}/reference/. Both are generatedon 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.
rather than broken.
editLinkwould point at a file that does notexist 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#7andSimplySF/simply-atlassian#29merge andrelease.
Verification
pnpm --filter site run build→ 26 pages, no errors.site/dist: 0 broken links.atlassian: 44 commandsfromsimply-atlassian@0.11.0+simply-atlassian-mcp@0.5.0;gitlab: 26 commandsfromsimply-gitlab@0.4.0+simply-gitlab-mcp@0.4.0.pnpm run buildandpnpm testpass.🤖 Generated with Claude Code
https://claude.ai/code/session_01Ybn4zKccbckadW1Jj5EfXr