fix: improve demo experience - #1203
Conversation
* main * throw if pm isnt installed * throw * nit * changeset * tmv sv ordering * sh is unknwon on windows (execSync know about it) * hint to label & next step * caching agent install, keep none by default --------- Co-authored-by: jycouet <jycouet@gmail.com>
Bump package-manager-detector to ^1.8.0, the first release with nub in its agent and command tables. sv-utils bundles the library at build time, so the published bundle only knows about nub once rebuilt against >=1.8.0.
…eltejs#1192) When prettier is among the scaffolded add-ons, format the whole project rather than only the add-on-touched files, so a fresh project passes its own lint. Prettier's ignore rules still apply. Signed-off-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com> Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>
* feat: addOption in setup phase * fmt² * okay cut * humm * fmt * chore: update api surface * test: await async setupAddons in engine tests * Update packages/sv/src/core/config.ts Co-authored-by: Scott Wu <sw@scottwu.ca> * Update packages/sv/src/core/config.ts Co-authored-by: Scott Wu <sw@scottwu.ca> * feat: typesafe addOption keys via defineAddon setup generic - addOption now constrains key + question type from defineAddon<SetupValues>() - regenerate api surface --------- Co-authored-by: Scott Wu <sw@scottwu.ca>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* mv * feat: welcome `ai-tools` * abc * don't format skills * opencode -> plugin, claude question, subagents * fmt * cleanup snap * snap * update new path * feat(ai-tools): choose Svelte plugin or individual tools per client - delivery option: Svelte plugin (Claude via committed .claude/settings.json, opencode via opencode.json) or individual tools - granular MCP/skills/sub-agents selection; rename `setup` -> `mcpSetup` - consolidate per-client config into a single `CLIENTS` registry * feat(ai-tools): install skills for cursor, gemini and vscode * feat(ai-tools): CLAUDE.md imports AGENTS.md to keep a single source of truth * chore(ai-tools): rename RX_MD to REGEX_MD * feat(ai-tools): warn in next steps when plugin and loose skill/agent files coexist * fmt * fix(ai-tools): 'other' client now writes AGENTS.md * fix(ai-tools): only ask tool/MCP questions when a client can use them * Update packages/sv/src/create/shared/+skills/svelte-code-writer/SKILL.md Co-authored-by: Rich Harris <hello@rich-harris.dev> * Update documentation/docs/30-add-ons/01-ai-tools.md Co-authored-by: Rich Harris <hello@rich-harris.dev> * Update documentation/docs/30-add-ons/01-ai-tools.md Co-authored-by: Rich Harris <hello@rich-harris.dev> * Update documentation/docs/30-add-ons/01-ai-tools.md Co-authored-by: Rich Harris <hello@rich-harris.dev> * Update documentation/docs/30-add-ons/01-ai-tools.md Co-authored-by: Rich Harris <hello@rich-harris.dev> * Update packages/sv/src/addons/ai-tools.ts Co-authored-by: Rich Harris <hello@rich-harris.dev> * Update packages/sv/src/addons/ai-tools.ts Co-authored-by: Rich Harris <hello@rich-harris.dev> * Update packages/sv/src/create/shared/+skills/svelte-code-writer/SKILL.md Co-authored-by: Rich Harris <hello@rich-harris.dev> * Update packages/sv/src/create/shared/+skills/svelte-code-writer/SKILL.md Co-authored-by: Rich Harris <hello@rich-harris.dev> * Update packages/sv/src/create/shared/+skills/svelte-code-writer/SKILL.md Co-authored-by: Rich Harris <hello@rich-harris.dev> * Update packages/sv/src/create/shared/+skills/svelte-code-writer/SKILL.md Co-authored-by: Rich Harris <hello@rich-harris.dev> * Update packages/sv/src/addons/ai-tools.ts Co-authored-by: Rich Harris <hello@rich-harris.dev> * Update packages/sv/src/addons/ai-tools.ts Co-authored-by: Rich Harris <hello@rich-harris.dev> * Update packages/sv/src/create/shared/+agents/svelte-file-editor.md Co-authored-by: Rich Harris <hello@rich-harris.dev> * Update packages/sv/src/create/shared/+agents/svelte-file-editor.md Co-authored-by: Rich Harris <hello@rich-harris.dev> * Update packages/sv/src/create/shared/+agents/svelte-file-editor.md Co-authored-by: Rich Harris <hello@rich-harris.dev> * Update packages/sv/src/create/shared/+agents/svelte-file-editor.md Co-authored-by: Rich Harris <hello@rich-harris.dev> * Update packages/sv/src/create/shared/+agents/svelte-file-editor.md Co-authored-by: Rich Harris <hello@rich-harris.dev> * Update packages/sv/src/create/shared/+agents/svelte-file-editor.md Co-authored-by: Rich Harris <hello@rich-harris.dev> * Update packages/sv/src/create/shared/+agents/svelte-file-editor.md Co-authored-by: Rich Harris <hello@rich-harris.dev> * Update packages/sv/src/create/shared/+agents/svelte-file-editor.md Co-authored-by: Rich Harris <hello@rich-harris.dev> * update skills * fix: drop stale reference files and update ai-tools snapshots --------- Co-authored-by: Rich Harris <hello@rich-harris.dev>
…rrors (sveltejs#1198) * fix: drop obsolete pnpm allowBuilds entries and surface real format errors * test: install generated project outside the repo workspace
…t 3 shape (sveltejs#1199) * feat(sv-utils): add SvelteKit 3 helpers Version detection, the `$lib` -> `#lib` move and the generated `$app/tsconfig`, so add-ons stop hardcoding kit-version-specific shapes. * fix(core): make `runsAfter` actually order add-ons It sorted by number of constraints, so an add-on could still run before one it declared it runs after. Topologically sort instead, seeded with the previous order so unconstrained add-ons keep their relative position. * fix(experimental): create manages `#lib` and the rest of the SvelteKit 3 shape - skip `handleRenderingErrors`/`explicitEnvironmentVariables`, removed in kit 3 - extend `$app/tsconfig` and own `include`, keeping deliberate compiler option overrides - rewrite `$lib` to `#lib` and declare the subpath imports Vite resolves from - drizzle drops the removed `typescript.config` hook; `defineEnvVars` moves to `@sveltejs/kit/env` - better-auth and paraglide emit the right lib prefix and route type * test(cli): cover `kit@next` with a real install, build and check No snapshot: the point is that the project works, not what it looks like. * Update packages/sv/src/addons/drizzle.ts Co-authored-by: Scott Wu <sw@scottwu.ca> * Update packages/sv-utils/src/kit3.ts Co-authored-by: Scott Wu <sw@scottwu.ca> * test(cli): cover better-auth on `kit@next`, finish the `KIT3_TSCONFIG_DEFAULT` rename better-auth has the most `#lib` imports, so it gets its own `kit@next` install/build/check case. It can't join the existing one: kit treats any `remote.js` as a remote module, including the one `jose` ships, so `remoteFunctions` breaks the build. Also rewords the changeset and updates the two remaining `KIT3_TSCONFIG_INHERITED` references. * test(cli): pin the `kit@next` prereleases the experimental cases run against * test(cli): drop the better-auth `kit@next` case * chore: fix indentation * test(cli): let the generated project install a fresh prerelease * test(cli): track the `next` tag instead of a pinned prerelease * chore: trim the changesets to one line each * chore: changeset wording --------- Co-authored-by: Scott Wu <sw@scottwu.ca>
|
Install the latest version of pnpm add https://pkg.svelte.dev/sv/c/08244ebca4257a0a4c69c342b747076dbf8c200fOpen in Note This PR is from a fork. A maintainer must approve approve each commit before it can be built and installed. |
|
| ], | ||
| required: false | ||
| required: false, | ||
| condition: ({ template }) => template !== 'demo' |
There was a problem hiding this comment.
@jycouet the general idea of this PR is this, thoughts?
There was a problem hiding this comment.
- I find it strange to not allow better-auth demo in demo template
There was a problem hiding this comment.
The logic got lost during the rebasing. It's supposed to be "when template is demo, don't ask, always use template"
There was a problem hiding this comment.
The logic got lost during the rebasing. It's supposed to be "when template is demo, don't ask, always use template"
I guess you meant when template is demo, don't ask, always use demo ?
I don't really see the value there and it's doing a big breaking, and it's only for create.
jycouet
left a comment
There was a problem hiding this comment.
All in all, I'm not a big fan.
I re read the issue a few times, and:
On the demo template, add a fourth header called addon which links to the /demo page.
It could also be /demo as a 4th tab?
Actually, in the minimal template, I would love to have a link to the demo page from the root layout! (It's maybe VERY intrusive... but very visible for people adding something in their app!)
when sv create, addons should not prompt to add demo if the template is demo
I think that this is not necessary. Why doing "soooo much work" for so small outcome? Maybe I'm missing somehting?
rename /demo to /addon
Possible yes, but I don't really see the cool thing about it
621319f to
6624f6a
Compare
6624f6a to
e9d82d0
Compare
f17c98a to
e1892a4
Compare
|
changes:
Overall, the cumulative diff has been reduced so its easier to see the intent. I think less prompting is better. Especially when it comes to demos, which is used by new users. And it's a redundant question. api changes
|
9f9fe66 to
8de0189
Compare
Closes #1169
Description
Reopened from #1188 due to a glitch.
Checklist