Skip to content

docs: pin b24sdk-examples cross-repo links to tagged versions #120

@IgorShevchik

Description

@IgorShevchik

Context

docs/content/docs/99.examples/0.index.md and several recipe pages link to bitrix24/b24sdk-examples for paired UI showcases (Nuxt, React) and the legacy Node/Hook starters. Today every reference uses bare https://github.com/bitrix24/b24sdk-examples or https://github.com/bitrix24/b24sdk-examples/tree/main/....

Surfaced by the security pass during PR #116 review: if the external repo is renamed, moved, or — worst case — taken over, links from our docs would silently point at a third party's code. Bare main branch references also break the moment that repo refactors its tree.

Proposal

Lightweight supply-chain hygiene without imposing a sync burden:

  1. Tag pinning where it matters. Pages that quote a specific recipe (js/02-nuxt-hook, js/03-nuxt-frame, js/05-node-hook, js/04-react-frame) should link at a known-good tag of b24sdk-examples, not main. Pick the latest stable tag and freeze the references.
  2. One-line note in 99.examples/0.index.md Contributing section. Tell readers that any new doc link to b24sdk-examples should target a tag, not a branch — same convention.
  3. CI canary (optional). Add a tiny docs:lint-external step that issues a HEAD against the canonical b24sdk-examples repo URL once per CI run and warns if it returns 404. Catches takeover / rename early.

(1) and (2) are five-minute fixes; (3) is an opt-in extra.

Acceptance criteria

  • Sweep docs/content/docs/**/*.md for b24sdk-examples references and replace branch links with tag links where the page quotes a specific path.
  • Update the Contributing block in 99.examples/0.index.md to document the convention.
  • (Optional) Add a single curl -I step to .github/workflows/ci.yml (docs-lint job) that flags 404 on the canonical URL.

Out of scope

  • Vendoring the examples into this repo. The current split (SDK-native recipes here, paired UI showcases there) is intentional.
  • Replicating the same checks for b24ui or other Bitrix24 repos linked from the docs — they're internally owned, lower supply-chain risk.

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions