Tooling
Platform spec domain
Tooling
No architecture decision records under adr/ for this feature yet. Standard features must
publish at least one ADR or keep a ## Decisions summary on the hub.
- No directly attached article pages for this node. Nested descendants exist deeper in this subtree.
0 revisions (git unavailable at build; counts may be empty)
No commits recorded for this path.
| Section id | Required | Found |
|---|---|---|
rationale | yes | yes |
background | no | yes |
Full tree: run pnpm verify:platform-spec-layout (writes src/generated/platform-spec-layout-report.json).
Rationale
Tooling must be specified so different editor plugins, CI images, and third-party drivers agree on flags, file formats, and protocol extensions without reverse-engineering the reference implementation.
Background
Informative CLI and workflow reference remains in the Beskid Book. This domain will absorb normative spec/ chapters such as
project lockfile and workspace manifest formats as they are promoted from legacy paths.
Feature index
Top-level tooling features appear alongside area hubs below. Highlights:
- Formatter —
beskid formatandbeskid_analysis::format: a canonical, knob-free pretty-printer with idempotent rules and per-constructEmitimpls. - Foreign library import —
beskid import liband the closedExternalLibraryprovider registry that backs v0.3 FFI. - Project scaffolding —
beskid new, template packages, andpackageKind: template. - Package kinds —
packageKind: library | template | tool(thetoolkind is now Standard, see D-TOOL-PCKG-0004).
Areas and features
- CLICommand-line interface contracts for compile, run, test, analysis, and package workflows.
- Foreign library importCLI and ExternalLibrary providers for mapping logical libraries to link inputs (v0.3).
- FormatterCanonical pretty-printer for Beskid source — opinionated, deterministic, single-source-of-truth via `beskid format` and `beskid_analysis::format`.
- LSPLanguage Server Protocol contracts for IntelliSense, diagnostics behavior, and workspace analysis integration.
- Manifests and lockfilesFormal manifest and lockfile contracts for projects, workspaces, and dependency resolution.
- Project scaffoldingNormative contracts for project and item templates, template packages on pckg, and the `beskid new` command.
- Registry clientToolchain-facing package registry client contracts used by Beskid CLI and workflows.
- VS Code extensionEditor extension contracts for commands, capabilities, and LSP integration packaging.