Releases: phcdevworks/spectre-shell
Releases · phcdevworks/spectre-shell
Release list
Phase 2 - Ecosystem Integration
Contract change type: additive
Changed
- Bumped
@phcdevworks/spectre-tokensto^3.3.1and@phcdevworks/spectre-ui
to^2.7.1, closing dependency drift against the current published
project-designpackages. Both upstream releases were additive only — no
source changes required here.
Fixed
- Added
@types/nodeas a devDependency soscripts/check-readme-version.ts
resolves Node globals correctly (no functional impact — script already ran
fine vianode --experimental-strip-types, this only affects editor/IDE
type-checking and any future widening oftsconfig.json'sinclude).
Added
bootstrapApp()returns theRouterinstance (previouslyvoid),
giving consumers direct access torouter.navigate(),router.back()/
forward(), androuter.subscribe()without a separate router reference.
Additive change — existing call sites that ignore the return value are
unaffected. Unblocksspectre-initPhase 6 template modernization and
closesspectre-shellPhase 2 (P2.5).- Added a plugin system:
BootstrapOptionsaccepts an optional
plugins?: ShellPlugin[]array. Each plugin'sinstall(context)runs after
beforeMountand beforeroutes(), in declaration order, receiving a
ShellPluginContextwith read access tobootReady. Plugin install errors
propagate through the existing bootstrap error boundary.ShellPluginand
ShellPluginContextare exported from the public API perPLUGIN_PROPOSAL.md. - Added
examples/minimal-spa, an npm-workspace example app that wires
bootstrapApp()to two lazily loaded routes, observes thebootReady
signal witheffect(), and importsspectre-tokens/spectre-uiCSS —
all resolved through each package's publisheddist/exports rather than
source. Validates the Phase 2 P0 integration-example deliverable end to end
(vite buildagainst the installed workspace dependency graph). - Added
@phcdevworks/spectre-manifestas a devDependency.spectre.manifest.json
at the repo root declares this package's ecosystem role, layer, exports, and
allowed dependency targets.check:ecosystemvalidates it in the check pipeline.
Phase 2 - Ecosystem Documentation and Release Hygiene
Added
- Added
PLUGIN_PROPOSAL.mdto document the plannedShellPlugincontract,
execution order, and open implementation decisions for the Phase 2 plugin
system.
Changed
- Updated Spectre runtime dependency ranges to the current stable ecosystem
versions. - Documented the Spectre ecosystem map in README.md, including the SPA shell
path and the Astro component path. - Updated roadmap and TODO status so completed ecosystem documentation is
reflected consistently across release-planning docs. - Updated
release:proposeto support patch-level release classifications for
documentation, config, and dependency-only releases.
Phase 1 - Consumer Smoke Validation and Agent Governance
Added
- Added
tests/smoke.test.ts— imports fromdist/index.js(built output) to
validate packaging and confirmbootstrapApp()runs without error from the
compiled artifacts. Runs automatically as part ofnpm run check.
Changed
- Standardized AI role boundaries across agent guidance and added dedicated
GitHub Copilot repository instructions for support-only usage.
Phase 1 - Stable Bootstrap Lifecycle
Added
- Added
bootReadysignal (from@phcdevworks/spectre-shell-signals) to the public API —falseinitially, set totrueafter a successful bootstrap sequence. - Added optional
beforeMountandafterMountlifecycle hooks toBootstrapOptions—beforeMountfires before route registration,afterMountfires after router startup andbootReadyis set. - Added structured error boundary around the bootstrap sequence — initialization failures now surface as
[spectre-shell] Bootstrap failed: <message>with the original error preserved ascause. - Wired
@phcdevworks/spectre-shell-signalsas a runtime dependency.
Changed
- Expanded public API:
index.tsnow exportsbootReadyalongsidebootstrapApp.
Phase 1 - Package Metadata and CI Hardening
Changed
- Tightened published package metadata and export hygiene for a clean patch
release. - Aligned README and package framing with the current thin-shell contract.
- Tightened agent guidance to match the shell's current ownership boundaries.
Fixed
- Corrected runtime dependency and stylesheet entrypoint wiring so published
imports resolve through sibling packages' public surfaces.
Added
- Added a minimal CI workflow and Dependabot coverage for npm and GitHub
Actions. - Added a small Vitest smoke suite covering
bootstrapApp()orchestration
order, router handoff, and current error behavior.
Phase 1 - Initial Shell Foundation
Added
- Initial Release: Introduced the thin, framework-agnostic app shell for
Spectre platform applications. - Bootstrap API: Added the initial bootstrap function for wiring an app
root to routing and shared styles. - Router Integration: Integrated
@phcdevworks/spectre-shell-routerfor
client-side routing handoff. - Style Integration: Integrated
@phcdevworks/spectre-uiand Spectre
design-token styles through the shell entrypoint. - TypeScript Build: Added strict TypeScript configuration and ESM package
exports. - Repository Baseline: Added MIT license, README, VS Code workspace, and
initial project metadata.
Changed
- Documentation: Updated README documentation for the shell package and
naming. - Project Identity: Renamed the package to
spectre-shellacross project
documentation.
Fixed
- Dependabot: Corrected Dependabot configuration indentation and quoting.
- Repository Policy: Updated documentation and security-policy wording.