Prerequisites
Before you begin, make sure you have the following installed:- Node.js (v18 or later recommended)
- pnpm (v10.19.0 or later) - Yasumu uses pnpm as its package manager
- Rust and Cargo - Required for building Tauri applications
- Git - For version control
Yasumu is a monorepo that uses pnpm workspaces and Turbo for efficient builds.
Getting the source code
Install dependencies
Install all dependencies using pnpm:This will install dependencies for all packages in the monorepo.
Monorepo structure
Yasumu uses a monorepo structure with the following organization:pnpm-workspace.yaml:
Available scripts
Yasumu provides several npm scripts for development:Development
@yasumu/tanxium package for changes.
Building
Code formatting
Always run
pnpm format before committing your changes to ensure consistent code style.Generate themes
Bootstrap new packages
Development workflow
Make your changes
Edit the relevant files in the appropriate package. The monorepo structure keeps related code organized:
- For UI changes, work in
apps/app - For backend logic, work in
packages/tanxium - For core SDK changes, work in
packages/core
Test your changes
Run the application to test your changes:Make sure to test thoroughly and verify that existing functionality still works.
Push and create PR
Push your branch and create a pull request on GitHub:Then open a pull request at github.com/neplextech/yasumu.
Troubleshooting
Dependency issues
If you encounter dependency issues, try:Build failures
If builds fail, ensure:- You have the latest Rust toolchain installed
- All system dependencies for Tauri are installed (see Tauri prerequisites)
- You’ve run
pnpm prepareafter installing dependencies
Turbo cache issues
If you suspect Turbo is using stale cached builds:Next steps
Now that your environment is set up:- Review the contributing guidelines for code standards
- Read the Code of Conduct to understand community expectations
- Check out open issues to find something to work on