Skip to content

Repository files navigation

memtomem.com

Public bilingual documentation site for memtomem (LTM) and memtomem-stm (STM), built with Astro and Starlight.

Local development

Node.js 22.12 or newer is required.

npm install
npm run dev
npm run check:docs
npm test
npm run build

npm run build validates the documentation contract, builds Astro, creates the Pagefind index, and checks every generated internal route and fragment.

Upstream synchronization contract

  • src/data/docs-contract.json is the reviewed version/count snapshot used by landing pages and CI checks.
  • src/data/upstream-snapshot.json pins schema defaults, complete CLI long-option catalogs, and tool membership to exact public source commits. Checks compare names and values, not counts alone.
  • src/content/docs/reference/configuration.md intentionally mirrors the complete supported Core and STM option surfaces. Do not replace the tables with a curated subset.
  • Every English document under src/content/docs/ has the same-path Korean mirror under src/content/docs/ko/.
  • Update both languages in one change, then update manifest counts/hashes only after reviewing the upstream schema or CLI.
  • Keep local connector files such as .mcp.json untracked and out of site commits.

Version-bump checklist

  1. Verify the Core and STM versions and supported surfaces against reviewed upstream checkouts.
  2. Update src/data/docs-contract.json, then synchronize every affected English/Korean page.
  3. Add the superseded Core and STM versions to the STALE_VERSIONS list in scripts/upstream-contract.mjs (both checkers use it). Keep this list explicit: a site-wide lower-semver rule would reject valid historical notes and independently versioned integrations.
  4. Run npm test and npm run build to check mutation regressions, the contract, generated site, search index, routes, and fragments.
  5. Update every EN/KO Core file and directory link to v<core.version>, including the unpinned configuration-guide link after confirming the guide still exists at that tag (see ONBOARDING-RELEASE.md). Then run node scripts/check-onboarding-assets.mjs to verify the link refs and seven published assets from that tag. Review the tagged source before updating any asset hashes, and include links and hashes in the version-bump PR.

Reproducing source evidence

Stage each exact commit recorded in sourceSnapshots with git archive, then run uv sync --group dev --frozen inside each archive. Do not extract from a dirty checkout or load personal configuration. Invoke each archive's Python:

/path/to/core/.venv/bin/python scripts/extract-upstream.py core /path/to/core CORE_COMMIT
/path/to/stm/.venv/bin/python scripts/extract-upstream.py stm /path/to/stm STM_COMMIT
python3 scripts/smoke-docs.py /path/to/core/.venv/bin /path/to/stm/.venv/bin

The extractor prints reviewable JSON in an isolated home and verifies the imported package path. Review its output before replacing the matching snapshot object; the supplied commit must be the archive's verified revision. The smoke test uses a temporary home, no remote models, and the bundled STM demo. It verifies keyword storage/search, force-indexing, MCP proxying and durable metrics; it does not validate embedding downloads or remote services.

Every PR targeting main runs tests, the build, and the published onboarding asset gate, regardless of which files changed. The gate uses the documented Core release tag; moving Core's main does not change its fetch target. The deployment job permits only non-PR events on main; a manual run on another branch cannot deploy.

Pushes to main deploy through the GitHub Pages workflow in .github/workflows/deploy.yml.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages