Stack Advisor

/stack-advisor embeds the Stack Advisor package from dev-centr/stack-advisor (web/). A standalone SPA also deploys from that repo to GitHub Pages.

/toolchain-browser and /toolchain-advisor redirect here for old links.

Filter path

  • Loads a sample stack (first option on each level) as one compound path strip.

  • Numbered segments with vertical dividers; green light when a level has a selection; × removes a level from the path.

  • ** inserts a missing catalog level between neighbors; circular ** outside the strip appends.

  • Host and target allow multiple selections; advice must work for every selected option. Other levels stay single-select.

  • Off-path levels do not constrain advice. Reset to sample restores the full preload (shown only after the user diverges).

  • Selecting an option does not auto-advance — use the path strip or Previous / Next.

Data path

  1. scripts/sync-advisor-catalog.mjs copies catalog/advisor.sdl from a stack-advisor checkout.

  2. It compiles SDL to JSON via stack-advisor/scripts/compile-sdl.mjs.

  3. Outputs land in public/catalog/advisor.json and public/catalog/advisor.sdl.

  4. @dev-centr/stack-advisor (aliased to stack-advisor/web) loads the JSON at runtime.

CI checks out dev-centr/stack-advisor into stack-advisor/ before sync. Locally, place a sibling clone at ../stack-advisor or run pnpm sync-advisor after cloning.

If compilation fails but a committed advisor.json exists in the definitions repo, the sync script falls back to that file.

Key files

  • Page: src/routes/stack-advisor.tsx

  • Legacy redirects: src/routes/toolchain-browser.tsx, src/routes/toolchain-advisor.tsx/stack-advisor

  • UI package: stack-advisor/web (sibling / CI checkout)

  • Shared CSS still used by skills: src/toolchain-advisor.css

  • Definitions + app repo: https://github.com/dev-centr/stack-advisor

See also