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
Copy file name to clipboardExpand all lines: CLAUDE.md
+46-23Lines changed: 46 additions & 23 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -87,54 +87,77 @@ Tests use Vitest with:
87
87
88
88
# Using Vite+, the Unified Toolchain for the Web
89
89
90
-
This project is using Vite+, a modern toolchain built on top of Vite, Rolldown, Vitest, tsdown, Oxlint, and Oxfmt. Vite+ wraps these tools and package manager commands in a single, global CLI called `vite`. Vite+ is distinct from Vite, but it invokes Vite through `vite dev` and `vite build`.
90
+
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`.
91
91
92
92
## Vite+ Workflow
93
93
94
-
`vite` is a global binary that handles the full development lifecycle. Run `vite help` to print a list of commands and `vite <command> --help` for information about a specific command.
94
+
`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.
95
95
96
-
### Vite+ Commands
96
+
### Start
97
+
98
+
- create - Create a new project from a template
99
+
- migrate - Migrate an existing project to Vite+
100
+
- config - Configure hooks and agent integration
101
+
- staged - Run linters on staged files
102
+
- install (`i`) - Install dependencies
103
+
- env - Manage Node.js versions
104
+
105
+
### Develop
97
106
98
107
- dev - Run the development server
99
-
-build - Build for production
108
+
-check - Run format, lint, and TypeScript type checks
100
109
- lint - Lint code
101
-
- test - Run tests
102
110
- fmt - Format code
103
-
- lib - Build library
104
-
- new - Create a new monorepo package (in-project) or a new project (global)
105
-
- run - Run tasks from `package.json` scripts
111
+
- test - Run tests
106
112
107
-
These commands map to their corresponding tools. For example, `vite dev --port 3000` runs Vite's dev server and works the same as Vite. `vite test` runs JavaScript tests through the bundled Vitest. The versions of individual tools can be checked using `vite <command> --version`. For example, `vite lint --version` prints the bundled Oxlint version, and `vite test --version` prints the bundled Vitest version. This is useful when researching documentation, features, and bugs.
113
+
### Execute
114
+
115
+
- run - Run monorepo tasks
116
+
- exec - Execute a command from local `node_modules/.bin`
117
+
- dlx - Execute a package binary without installing it as a dependency
118
+
- cache - Manage the task cache
108
119
109
-
### Package Manager Commands
120
+
### Build
121
+
122
+
- build - Build for production
123
+
- pack - Build libraries
124
+
- preview - Preview production build
125
+
126
+
### Manage Dependencies
110
127
111
128
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.
112
129
113
-
- install - Install all dependencies, or add packages if package names are provided
114
130
- add - Add packages to dependencies
115
-
- remove - Remove packages from dependencies
116
-
- dlx - Execute a package binary without installing it as a dependency
117
-
- info - View package information from the registry, including latest versions
118
-
- link - Link packages for local development
131
+
- remove (`rm`, `un`, `uninstall`) - Remove packages from dependencies
132
+
- update (`up`) - Update packages to latest versions
133
+
- dedupe - Deduplicate dependencies
119
134
- outdated - Check for outdated packages
135
+
- list (`ls`) - List installed packages
136
+
- why (`explain`) - Show why a package is installed
137
+
- info (`view`, `show`) - View package information from the registry
138
+
- link (`ln`) / unlink - Manage local package links
120
139
- pm - Forward a command to the package manager
121
-
- unlink - Unlink packages
122
-
- update - Update packages to their latest versions
123
-
- why - Show why a package is installed
140
+
141
+
### Maintain
142
+
143
+
- upgrade - Update `vp` itself to the latest version
144
+
145
+
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.
124
146
125
147
## Common Pitfalls
126
148
127
149
-**Using the package manager directly:** Do not use pnpm, npm, or Yarn directly. Vite+ can handle all package manager operations.
128
-
-**Always use Vite commands to run tools:** Don't attempt to run `vite vitest` or `vite oxlint`. They do not exist. Use `vite test` and `vite lint` instead.
129
-
-**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 `vite test` command, run it using `vite run test`.
150
+
-**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.
151
+
-**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`.
130
152
-**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.
153
+
-**Use Vite+ wrappers for one-off binaries:** Use `vp dlx` instead of package-manager-specific `dlx`/`npx` commands.
131
154
-**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.
132
-
-**Type-Aware Linting:** There is no need to install `oxlint-tsgolint`, `vite lint --type-aware` works out of the box.
155
+
-**Type-Aware Linting:** There is no need to install `oxlint-tsgolint`, `vp lint --type-aware` works out of the box.
133
156
134
157
## Review Checklist for Agents
135
158
136
-
-[ ] Run `vite install` after pulling remote changes and before getting started.
137
-
-[ ] Run `vite lint`, `vite fmt`, and `vite test` to validate changes.
159
+
-[ ] Run `vp install` after pulling remote changes and before getting started.
160
+
-[ ] Run `vp check`and `vp test` to validate changes.
0 commit comments