You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
chore: migrate from Husky to vp config for git hooks
- Replace Husky pre-commit hook with .vite-hooks/pre-commit
- Move lint-staged config from package.json to vite.config.ts
- Remove husky and lint-staged dependencies
- 'vp config': Add Claude MCP server configuration for vite-plus
- 'vp config': Update CLAUDE.md with Vite+ workflow documentation
The snap test will automatically generate/update the `snap.txt` file with the command outputs. It exits with zero status even if there are output differences; you need to manually check the diffs(`git diff`) to verify correctness.
139
+
140
+
<!--VITE PLUS START-->
141
+
142
+
# Using Vite+, the Unified Toolchain for the Web
143
+
144
+
This project is using Vite+, a unified toolchain built on top of Vite, Rolldown, Vitest, tsdown, Oxlint, Oxfmt, and Vite Task. Vite+ wraps runtime management, package management, and frontend tooling in a single global CLI called `vp`. Vite+ is distinct from Vite, but it invokes Vite through `vp dev` and `vp build`.
145
+
146
+
## Vite+ Workflow
147
+
148
+
`vp` is a global binary that handles the full development lifecycle. Run `vp help` to print a list of commands and `vp <command> --help` for information about a specific command.
149
+
150
+
### Start
151
+
152
+
- create - Create a new project from a template
153
+
- migrate - Migrate an existing project to Vite+
154
+
- config - Configure hooks and agent integration
155
+
- staged - Run linters on staged files
156
+
- install (`i`) - Install dependencies
157
+
- env - Manage Node.js versions
158
+
159
+
### Develop
160
+
161
+
- dev - Run the development server
162
+
- check - Run format, lint, and TypeScript type checks
163
+
- lint - Lint code
164
+
- fmt - Format code
165
+
- test - Run tests
166
+
167
+
### Execute
168
+
169
+
- run - Run monorepo tasks
170
+
- exec - Execute a command from local `node_modules/.bin`
171
+
- dlx - Execute a package binary without installing it as a dependency
172
+
- cache - Manage the task cache
173
+
174
+
### Build
175
+
176
+
- build - Build for production
177
+
- pack - Build libraries
178
+
- preview - Preview production build
179
+
180
+
### Manage Dependencies
181
+
182
+
Vite+ automatically detects and wraps the underlying package manager such as pnpm, npm, or Yarn through the `packageManager` field in `package.json` or package manager-specific lockfiles.
183
+
184
+
- add - Add packages to dependencies
185
+
- remove (`rm`, `un`, `uninstall`) - Remove packages from dependencies
186
+
- update (`up`) - Update packages to latest versions
187
+
- dedupe - Deduplicate dependencies
188
+
- outdated - Check for outdated packages
189
+
- list (`ls`) - List installed packages
190
+
- why (`explain`) - Show why a package is installed
191
+
- info (`view`, `show`) - View package information from the registry
192
+
- link (`ln`) / unlink - Manage local package links
193
+
- pm - Forward a command to the package manager
194
+
195
+
### Maintain
196
+
197
+
- upgrade - Update `vp` itself to the latest version
198
+
199
+
These commands map to their corresponding tools. For example, `vp dev --port 3000` runs Vite's dev server and works the same as Vite. `vp test` runs JavaScript tests through the bundled Vitest. The version of all tools can be checked using `vp --version`. This is useful when researching documentation, features, and bugs.
200
+
201
+
## Common Pitfalls
202
+
203
+
-**Using the package manager directly:** Do not use pnpm, npm, or Yarn directly. Vite+ can handle all package manager operations.
204
+
-**Always use Vite commands to run tools:** Don't attempt to run `vp vitest` or `vp oxlint`. They do not exist. Use `vp test` and `vp lint` instead.
205
+
-**Running scripts:** Vite+ commands take precedence over `package.json` scripts. If there is a `test` script defined in `scripts` that conflicts with the built-in `vp test` command, run it using `vp run test`.
206
+
-**Do not install Vitest, Oxlint, Oxfmt, or tsdown directly:** Vite+ wraps these tools. They must not be installed directly. You cannot upgrade these tools by installing their latest versions. Always use Vite+ commands.
207
+
-**Use Vite+ wrappers for one-off binaries:** Use `vp dlx` instead of package-manager-specific `dlx`/`npx` commands.
208
+
-**Import JavaScript modules from `vite-plus`:** Instead of importing from `vite` or `vitest`, all modules should be imported from the project's `vite-plus` dependency. For example, `import { defineConfig } from 'vite-plus';` or `import { expect, test, vi } from 'vite-plus/test';`. You must not install `vitest` to import test utilities.
209
+
-**Type-Aware Linting:** There is no need to install `oxlint-tsgolint`, `vp lint --type-aware` works out of the box.
210
+
211
+
## Review Checklist for Agents
212
+
213
+
-[ ] Run `vp install` after pulling remote changes and before getting started.
214
+
-[ ] Run `vp check` and `vp test` to validate changes.
0 commit comments