Thanks for helping improve VuReact Core. This guide focuses on the workflow contributors should follow in this repository.
Make sure your local environment matches the current workspace requirements:
- Node.js
>= 19.0.0 - pnpm
10+recommended - Git
This repository is a pnpm workspace with two main packages:
@vureact/compiler-core@vureact/runtime-core
Please also review the Code of Conduct and note that contributions are released under the MIT License.
Start with discussion before implementation when the change is significant.
Open or join an Issue or Discussion before writing code for:
- new features
- breaking changes
- architecture changes
- large refactors
Use the existing GitHub templates and channels:
- Bug reports:
.github/ISSUE_TEMPLATE/bug_report.md - Feature requests:
.github/ISSUE_TEMPLATE/feature_request.md - Showcase stories:
.github/ISSUE_TEMPLATE/showcase.md - Questions and usage help: GitHub Discussions and the project documentation
Small typo fixes and straightforward documentation corrections can go directly to a Pull Request.
-
Fork the repository on GitHub.
-
Clone your fork and enter the workspace:
git clone https://github.com/YOUR_USERNAME/core.git cd core -
Install dependencies:
pnpm install
-
Build the packages you plan to touch:
pnpm build:compiler-core pnpm build:runtime-core
-
Create a branch from the latest upstream default branch.
Keep changes focused and easy to review.
- Follow the existing code style and project structure.
- Add or update documentation when behavior changes.
- Add or update tests when your change affects behavior.
- Avoid mixing unrelated refactors into the same Pull Request.
If your work touches both packages, describe the relationship clearly in your PR so reviewers can validate the integration path.
Run the checks that match the area you changed. Prefer targeted verification with a clear scope over vague claims like "all tests passed".
Run Prettier checks from the workspace root:
pnpm format:checkUse the root scripts for the affected area:
pnpm test:adapter-hooks
pnpm test:adapter-utils
pnpm test:adapter-componentsRun the relevant package build as well:
pnpm build:runtime-coreAt minimum, run the package build:
pnpm build:compiler-coreIf your change affects parsing, transforms, code generation, or watch/build behavior, also run the most relevant area-specific verification available in that part of the package. The repository does not currently expose one single top-level automated test command for all compiler-core scenarios, so document exactly what you ran in the PR.
Use clear commits. Conventional Commits are recommended:
<type>[optional scope]: <description>
Common types used in this repository:
featfixdocsrefactortestbuildcichore
Examples:
feat(compiler-core): improve scoped style transform output
fix(runtime-core): correct adapter hook update timing
docs: rewrite contribution guide
Before opening a Pull Request:
- rebase or merge from the latest upstream default branch as needed
- make sure the relevant build and verification steps pass locally
- update docs when user-facing behavior changes
When opening the PR, follow the existing template:
Your PR description should include:
- the related issue, if any
- the affected package or packages
- the exact validation you ran
- screenshots only when they help explain the change
Reviewers may ask for clarification, narrower scope, or additional validation. That is part of keeping the project maintainable.
To help reviews move quickly:
- keep PRs focused
- respond to feedback with concrete updates
- call out tradeoffs or known follow-up work
- avoid force-pushing away context unless cleanup is necessary
If ownership is unclear, the repository's CODEOWNERS file helps route reviews.