Skip to content
Beskid Platform specification

Beskid

Jump to a Beskid service

Beskid

Jump to a Beskid service

Contracts and edge cases

Platform spec article

Contracts and edge cases

Spec standingStandard

Owner
Piotr Mikstacki
Submitter
Piotr Mikstacki
  • HTTPS in production — Operators should configure BESKID_PCKG_URL with TLS endpoints; clients honor redirects per reqwest defaults.
  • Auth mutual exclusion — Bearer and API key flags must not be combined on one invocation.
  • Structured api.json — Library packs should include compiler-emitted .beskid/docs/api.json as the docs UI contract (see api.json contract).
  • Readme artifact name — Packed readmes must appear as root README.md in the zip for dashboard listing.
  • Template discriminator — Template packs must set packageKind: template and ship .beskid/template.json.
CaseBehavior
Missing Project.proj at pack rootDefaults to library profile without template metadata
Invalid manifest during packPckgError::Api with BAD_REQUEST semantics
Missing auth on publishMissingAuthToken before HTTP
Large treesWalkdir-based collection; operators exclude build outputs via manifest/layout conventions
iconUrl on publishServer validates HTTP(S) URLs and length caps (PackageManifestMetadata)

Client-side pack should prevalidate paths the server will reject (docs layout, workspace member consistency) to avoid wasted uploads; integration tests live in pckg/src/Server.Tests/.