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
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Chores**
* Updated dev tooling and type packages; removed old pre-commit tooling
and updated prepare script to use the new tool.
* Added new project-level configuration for the Vite+ tool and a minimal
pre-commit hook that invokes Vite+ checks.
* Added staged automation to run automatic checks on staged files.
* **Documentation**
* Added extensive Vite+ development workflow, commands, pitfalls, and
checklist (duplicated section included).
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: fengmk2 <156269+fengmk2@users.noreply.github.com>
Copy file name to clipboardExpand all lines: CLAUDE.md
+80Lines changed: 80 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -136,3 +136,83 @@ Vite+ automatically detects and wraps the underlying package manager such as pnp
136
136
-[ ] Run `vite install` after pulling remote changes and before getting started.
137
137
-[ ] Run `vite lint`, `vite fmt`, and `vite test` to validate changes.
138
138
<!--VITE PLUS END-->
139
+
140
+
<!--injected-by-vite-plus-v0.1.4-->
141
+
<!--VITE PLUS START-->
142
+
143
+
# Using Vite+, the Unified Toolchain for the Web
144
+
145
+
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`.
146
+
147
+
## Vite+ Workflow
148
+
149
+
`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.
150
+
151
+
### Start
152
+
153
+
- create - Create a new project from a template
154
+
- migrate - Migrate an existing project to Vite+
155
+
- config - Configure hooks and agent integration
156
+
- staged - Run linters on staged files
157
+
- install (`i`) - Install dependencies
158
+
- env - Manage Node.js versions
159
+
160
+
### Develop
161
+
162
+
- dev - Run the development server
163
+
- check - Run format, lint, and TypeScript type checks
164
+
- lint - Lint code
165
+
- fmt - Format code
166
+
- test - Run tests
167
+
168
+
### Execute
169
+
170
+
- run - Run monorepo tasks
171
+
- exec - Execute a command from local `node_modules/.bin`
172
+
- dlx - Execute a package binary without installing it as a dependency
173
+
- cache - Manage the task cache
174
+
175
+
### Build
176
+
177
+
- build - Build for production
178
+
- pack - Build libraries
179
+
- preview - Preview production build
180
+
181
+
### Manage Dependencies
182
+
183
+
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.
184
+
185
+
- add - Add packages to dependencies
186
+
- remove (`rm`, `un`, `uninstall`) - Remove packages from dependencies
187
+
- update (`up`) - Update packages to latest versions
188
+
- dedupe - Deduplicate dependencies
189
+
- outdated - Check for outdated packages
190
+
- list (`ls`) - List installed packages
191
+
- why (`explain`) - Show why a package is installed
192
+
- info (`view`, `show`) - View package information from the registry
193
+
- link (`ln`) / unlink - Manage local package links
194
+
- pm - Forward a command to the package manager
195
+
196
+
### Maintain
197
+
198
+
- upgrade - Update `vp` itself to the latest version
199
+
200
+
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.
201
+
202
+
## Common Pitfalls
203
+
204
+
-**Using the package manager directly:** Do not use pnpm, npm, or Yarn directly. Vite+ can handle all package manager operations.
205
+
-**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.
206
+
-**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`.
207
+
-**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.
208
+
-**Use Vite+ wrappers for one-off binaries:** Use `vp dlx` instead of package-manager-specific `dlx`/`npx` commands.
209
+
-**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.
210
+
-**Type-Aware Linting:** There is no need to install `oxlint-tsgolint`, `vp lint --type-aware` works out of the box.
211
+
212
+
## Review Checklist for Agents
213
+
214
+
-[ ] Run `vp install` after pulling remote changes and before getting started.
215
+
-[ ] Run `vp check` and `vp test` to validate changes.
0 commit comments