+97
.github/copilot-instructions.md
+97
.github/copilot-instructions.md
···+- Static site built with MkDocs + Material theme. Sources live in `markdown/`; generated site is written to `public/` ([mkdocs.yml](mkdocs.yml)).+- Cloudflare Pages / Workers integration: see `wrangler.jsonc` (publishes assets from `public/`).+- Install dependencies (preferred): `pipenv install` (or `pip install -r requirements.txt`). See [Pipfile](Pipfile) and [requirements.txt](requirements.txt).+- Local preview: `mkdocs serve --watch overrides --watch-theme --livereload` or `pipenv run dev` (see `Pipfile` scripts and [mkdocs.yml](mkdocs.yml)).+- Build site: `pipenv run build` or `pipenv run build -f mkdocs.readthedocs.yml` (build targets in `Pipfile` and `build.sh`). `build.sh` copies favicon into `public/` after build.+- Cloudflare deploy (manual): `npm run deploy` -> `wrangler deploy` (see `package.json` and [wrangler.jsonc](wrangler.jsonc)). CI deploy logic uses `npx wrangler pages publish` in `bin/deploy.sh` when running under CI.+- Content separation: author-managed Markdown in `markdown/` is canonical. Do not edit `public/` — it is generated.+- Theme overrides and custom assets live in `overrides/`; changes there affect build behavior and the site theme.+- The build copies `assets/images/favicon.png` to `public/favicon.ico` after building (see `build.sh` and `bin/build.sh`). Keep favicon at that path.+- Python environment targets Python 3.13 (see `Pipfile`). The repo commonly uses `pipenv` and a `.venv` pattern in local scripts (`bin/localdev.sh`).+- CI: deployments happen via GitLab CI and `bin/deploy.sh` (see `wrangler.jsonc` for Cloudflare Pages configuration).+- CI builds run on GitLab. Avoid referencing the `docker/` folder — it may be moved to a separate repo.+- `npm` is used only for `wrangler` dev/deploy and Docker convenience scripts (`package.json`).+- Do not edit generated files under `public/` directly — change sources in `markdown/` or `overrides/`.+- Avoid changing `site_dir` or `assets` layout without verifying `wrangler.jsonc` and `bin/deploy.sh` updates.+- Ask the maintainer which mirror/CI (GitLab primary) you want to target before modifying CI configs.+- If you want, I can expand the CI section with example GitLab job snippets or add examples for contributing patches.+- Adopt the `Assisted-by` commit trailer for AI-assisted changes to comply with attribution policies.+- Repository also requires Linux DCO sign-off for patches. Ensure commits include `Signed-off-by:` lines in the footer alongside `Assisted-by:` when applicable.+If any section is unclear or you want deeper examples (e.g., contributing workflow, CI job templates), tell me which area to expand.+- npx wrangler pages publish public --project-name "$CF_PAGES_PROJECT_NAME" --branch "$CI_COMMIT_BRANCH"+- Notes: set `CF_PAGES_PROJECT_NAME` in CI variables; the repo's `bin/deploy.sh` also contains an example `npx wrangler pages publish` invocation used by CI.