Skip to content

Template Modernization and CLI Automation

Choose a tag to compare

@bradpotts bradpotts released this 04 Sep 03:28
· 5 commits to main since this release

Contract change type: additive

Added

  • Added USAGE.md, a standalone usage guide covering install, scaffold, and
    update flows for the vanilla and shell-app templates, linked from the
    README's documentation map.
  • Template modernization (Phase 6): beforeMount/afterMount callbacks in
    both templates; bootReady observed via effect() and a ShellPlugin
    boot-logger demo in shell-app; route meta: { title } combined with
    afterNavigate for document-title management; and a navigating signal,
    driven by routerOptions.onNavigationStart/onNavigationEnd, reflecting
    loading state in the shell-app DOM via effect(). Requires
    @phcdevworks/spectre-shell ^1.5.0 for the new routerOptions
    passthrough on BootstrapOptions.
  • Added --template vanilla|shell-app|astro for template selection in scripted
    scaffolding and as a preset for interactive setup.
  • Added --skip-install to generate project files without installing
    dependencies. Local template dependency and build directories are excluded
    from scaffolded output.
  • Added update [path] --dry-run to preview configuration overwrites and
    dependency version changes without writing files.
  • Added CLI regression checks covering all templates, option validation,
    dry-run file preservation, repeated updates, and manifest naming.

Changed

  • Refreshed all generated templates to the current published Spectre ecosystem
    releases: shell 1.6.0, router 1.5.0, signals 1.4.0, tokens 4.8.0, UI 5.0.1,
    components 1.19.0, and the Astro adapter 4.8.0.
  • Updated ESLint to 10.10.0, GitHub checkout and Node setup actions to v6, and
    CI coverage to test the minimum supported Node 22.12 release, current Node
    22, and Node 24.
  • Ignored generated dependency and build directories at every repository depth
    so locally building a template does not cause the root lint gate to inspect
    compiled bundles.

Fixed

  • Shipped template ignore rules under a package-safe filename and restored
    .gitignore during scaffolding and updates, so installed CLI copies include
    the same ignore rules as the repository templates.
  • Preserved the application package entry in generated and refreshed manifests
    when the project name matches the template default (spectre-app).