Welcome to Nyanpasu development!
To ensure the quality and stability of the project, please read this guide carefully. Even if you are new, you can follow these steps to set up the development environment, write code, and submit contributions.
Before submitting code, please follow these rules:
| Language | Tools |
|---|---|
| JavaScript / TypeScript | ESLint, Prettier, Stylelint |
| Rust | Clippy, Rustfmt |
⚠️ Ensure there are no style errors before committing- ❌ Do not use
git commit -nor skip checks, CI will automatically enforce style validation
- Avoid submitting useless code, files, or folders
- For major refactors or new features, open an Issue first for discussion
- If unsure about implementation or have questions, communicate in Issue or PR
- Respect others' code and opinions
- Keep commit messages and PR descriptions clear
- All discussions should be on GitHub for transparency and traceability
To ensure the project runs correctly locally, the following dependencies are required.
| Tool | Version | Link | Notes |
|---|---|---|---|
| Rust | ≥ 1.78 | Official Install | Stable version; use MSVC toolchain on Windows |
| Node.js | ≥ 20 LTS | Official Site | Install LTS or Latest version |
| pnpm | ≥ 9 | Official Documentation | Node.js package manager |
| git | Latest | Official Site | Version control |
| Tool | Link | Notes |
|---|---|---|
| cmake | Official Site | Required by zip crate |
| llvm | Official Site | Required by rquickjs or rocksdb |
| patch | Windows Installation Guide | Required by rquickjs |
- Use Administrator privileges when opening the project for the first time;
patchrequires admin rights - Recommended to install
gsudo(viascoop,choco, orwinget) - Always use the MSVC toolchain on Windows
- 💡 Admin privileges are only needed for initial setup; normal terminal is fine for daily development
Before starting development, initialize the environment and download required resources.
pnpm iThis installs all frontend dependencies including UI components, toolchains, and testing tools.
pnpm prepare:check
This command downloads binaries like
sidecarandresourceto ensure the project runs properly
If files are missing or you want to force update:
pnpm prepare:check --force
💡 Tip: Configure terminal proxy if network issues occur
The project provides two types of development instances:
pnpm dev:diff
Suitable for daily development and debugging; changes do not affect the release version
pnpm dev
Behaves similarly to the official release; useful to test overall functionality
git pull origin main
git checkout -b feature/my-feature
⚠️ Avoid developing directly onmain
- Ensure code style is correct
- All unit tests pass
- No useless files
git add .
git commit -m "feat: add my feature"
git push origin feature/my-feature
- Choose
mainas the target branch - Briefly describe the feature or changes
- Link related Issue if available
💡 Tips:
- Keep each commit focused on a single feature or issue; avoid large, messy commits
- PR descriptions should be clear so reviewers immediately understand the changes