Skip to content
Beskid Platform specification

Beskid

Jump to a Beskid service

Beskid

Jump to a Beskid service

Design model

Spec standingStandard

Owner
Piotr Mikstacki
Submitter
Piotr Mikstacki

Normative beskid.package.v1 extensions and artifact layout for template packages.

KeyRequiredMeaning
schemayesbeskid.package.v1
idyesRegistry package name
versionyesArtifact version string
packageKindyes for template profiletemplate
templaterecommendedSummary: shortName, identity, tags.type copied from .beskid/template.json at pack time
documentationMust not include apiJson pointer for packageKind: template

Default packageKind when omitted remains library for backward compatibility.

packageKindStatus
libraryCurrent default; requires api.json when server policy RequireStructuredApiDoc is true
templateThis feature
toolReserved; normative contract deferred to Package kinds
EntryRequired
package.json with packageKind: templateyes
Project.projyes (authoring manifest; may be type: Template)
checksums.sha256yes
.beskid/template.jsonyes
src/** or template content rootsyes — at least one scaffold file
.beskid/docs/api.jsonno

When packageKind === template, the server and dashboard must:

  1. Hide API documentation tabs, symbol browser, and api.json download.
  2. Show template metadata card: shortName, tags.type, classifications, description.
  3. Show install snippet: beskid new install <id> and beskid new <shortName>.
  4. Show readme / root markdown when present.
  5. Show version list with yank badges (same as libraries).

Category field on PackageEntity may mirror tags.type for filtering (Template, Console, etc.) but packageKind is authoritative for routing.

Workspace bundles may include template member packages. Each member .bpk must declare its own packageKind. Mixed workspaces (libraries + templates) are allowed.

flowchart LR
PACK[beskid pckg pack]
BPK[.bpk artifact]
VAL[PackageArtifactValidator]
REG[pckg registry]
UI[Template package page]
NEW[beskid new install]
PACK --> BPK --> VAL --> REG --> UI
REG --> NEW
  • pckg/src/Server/Services/PackageArtifactValidator.cs
  • pckg/src/Server/Components/Pages/ package detail views
  • compiler/crates/beskid_pckg pack command (planned packageKind emission)