From 8fc0e02d225ed4f9e7e8bb88ec5bc236fdcc9225 Mon Sep 17 00:00:00 2001 From: dtinth-ampere-devbox Date: Sun, 15 Mar 2026 11:42:58 +0700 Subject: [PATCH 1/4] Add Vite+ generator (fresh-viteplus-app) --- src/generators/fresh-viteplus-app.ts | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 src/generators/fresh-viteplus-app.ts diff --git a/src/generators/fresh-viteplus-app.ts b/src/generators/fresh-viteplus-app.ts new file mode 100644 index 0000000..c0f8af2 --- /dev/null +++ b/src/generators/fresh-viteplus-app.ts @@ -0,0 +1,20 @@ +import { defineGenerator } from '../defineGenerator' + +export default defineGenerator({ + command: [ + 'curl -fsSL https://vite.plus | CI=true bash', + 'export PATH="$HOME/.vite-plus/bin:$PATH"', + 'vp create vite:application --directory fresh-app --no-interactive', + 'cd fresh-app', + 'vp install', + 'vp build', + ].join('\n'), + displayedCommand: 'vp create vite:application', + description: 'Fresh Vite+ app', + framework: { + name: 'Vite+', + url: 'https://viteplus.dev/', + documentationUrl: 'https://viteplus.dev/guide/', + }, + staticOutputDirectory: 'dist', +}) From 32ddc7f02e355c07e5e20f430d3b44365c4ed429 Mon Sep 17 00:00:00 2001 From: dtinth-ampere-devbox Date: Sun, 15 Mar 2026 21:20:07 +0700 Subject: [PATCH 2/4] Update CLAUDE.md and add fresh-viteplus-app to CI workflow --- .github/workflows/factory.yml | 1 + CLAUDE.md | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/factory.yml b/.github/workflows/factory.yml index 8e1bace..5249980 100644 --- a/.github/workflows/factory.yml +++ b/.github/workflows/factory.yml @@ -48,6 +48,7 @@ jobs: - fresh-vite-app-vue - fresh-vite-app - fresh-vitepress-site + - fresh-viteplus-app - fresh-vscode-extension - fresh-vscode-web-extension diff --git a/CLAUDE.md b/CLAUDE.md index a60c671..c34892a 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1,4 +1,11 @@ -# TypeScript Project Guidelines +# Fresh App Factory Project Guidelines + +## Creating and Updating Generators + +1. Look at existing generators in `src/generators/` to see the pattern. Notice how Corepack is used to pin pnpm version, etc. Especially consult similar generator +2. Create/update the generator file +3. Test the generator with `bin/run ` and inspect the generated files at `workspace/fresh-app/` +4. In case of adding new generator, update `.github/workflows/factory.yml` to add the new generator to the list ## Build & Run Commands From ebd89c3baaa243ce6d64d54fa9ee2ef0f4f1bd89 Mon Sep 17 00:00:00 2001 From: dtinth-ampere-devbox Date: Sun, 15 Mar 2026 21:22:30 +0700 Subject: [PATCH 3/4] Add Vite+ library generator (fresh-viteplus-lib) --- .github/workflows/factory.yml | 1 + src/generators/fresh-viteplus-lib.ts | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 src/generators/fresh-viteplus-lib.ts diff --git a/.github/workflows/factory.yml b/.github/workflows/factory.yml index 5249980..14254fc 100644 --- a/.github/workflows/factory.yml +++ b/.github/workflows/factory.yml @@ -49,6 +49,7 @@ jobs: - fresh-vite-app - fresh-vitepress-site - fresh-viteplus-app + - fresh-viteplus-lib - fresh-vscode-extension - fresh-vscode-web-extension diff --git a/src/generators/fresh-viteplus-lib.ts b/src/generators/fresh-viteplus-lib.ts new file mode 100644 index 0000000..1069e43 --- /dev/null +++ b/src/generators/fresh-viteplus-lib.ts @@ -0,0 +1,20 @@ +import { defineGenerator } from '../defineGenerator' + +export default defineGenerator({ + command: [ + 'curl -fsSL https://vite.plus | CI=true bash', + 'export PATH="$HOME/.vite-plus/bin:$PATH"', + 'vp create vite:library --directory fresh-app --no-interactive', + 'cd fresh-app', + 'vp install', + 'vp pack', + ].join('\n'), + displayedCommand: 'vp create vite:library', + description: 'Fresh Vite+ library', + framework: { + name: 'Vite+', + url: 'https://viteplus.dev/', + documentationUrl: 'https://viteplus.dev/guide/', + }, + staticOutputDirectory: 'dist', +}) From 2abb2b334646174d12e99f48cc2db0546ed42197 Mon Sep 17 00:00:00 2001 From: dtinth-ampere-devbox Date: Sun, 15 Mar 2026 21:24:16 +0700 Subject: [PATCH 4/4] Add Vite+ monorepo generator (fresh-viteplus-monorepo) --- .github/workflows/factory.yml | 1 + src/generators/fresh-viteplus-monorepo.ts | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 src/generators/fresh-viteplus-monorepo.ts diff --git a/.github/workflows/factory.yml b/.github/workflows/factory.yml index 14254fc..a9c2d5c 100644 --- a/.github/workflows/factory.yml +++ b/.github/workflows/factory.yml @@ -50,6 +50,7 @@ jobs: - fresh-vitepress-site - fresh-viteplus-app - fresh-viteplus-lib + - fresh-viteplus-monorepo - fresh-vscode-extension - fresh-vscode-web-extension diff --git a/src/generators/fresh-viteplus-monorepo.ts b/src/generators/fresh-viteplus-monorepo.ts new file mode 100644 index 0000000..29e3c2c --- /dev/null +++ b/src/generators/fresh-viteplus-monorepo.ts @@ -0,0 +1,20 @@ +import { defineGenerator } from '../defineGenerator' + +export default defineGenerator({ + command: [ + 'curl -fsSL https://vite.plus | CI=true bash', + 'export PATH="$HOME/.vite-plus/bin:$PATH"', + 'vp create vite:monorepo --directory fresh-app --no-interactive', + 'cd fresh-app', + 'vp install', + 'vp build apps/website', + ].join('\n'), + displayedCommand: 'vp create vite:monorepo', + description: 'Fresh Vite+ monorepo', + framework: { + name: 'Vite+', + url: 'https://viteplus.dev/', + documentationUrl: 'https://viteplus.dev/guide/', + }, + staticOutputDirectory: 'apps/website/dist', +})