Skip to content

Latest commit

 

History

History
98 lines (65 loc) · 3.24 KB

File metadata and controls

98 lines (65 loc) · 3.24 KB

Contributing to Simprint

Thanks for considering a contribution to Simprint.

This repository is in an active open-source transition. We welcome bug reports, documentation improvements, CI and packaging fixes, frontend refinements, test coverage, and well-scoped product improvements.

Before You Start

  • Search existing issues and discussions before opening a new one.
  • For larger changes, open an issue or discussion first so the direction can be aligned before implementation.
  • Keep pull requests focused. Small, reviewable changes move faster than broad refactors.

Development Setup

Prerequisites

  • Node.js 20+
  • pnpm 9
  • Rust toolchain
  • Tauri system prerequisites for your platform

Local Run

From the repository root:

pnpm install
cp src-tauri/config.example.toml src-tauri/config.development.toml
cargo tauri dev --features development

If you only need frontend iteration, you can also use:

pnpm dev

Local Backend

Many contributions do not require a local backend. Documentation updates, CI changes, build fixes, and part of the frontend and desktop-shell work can usually be developed without running the full server stack locally.

If your change touches server-backed flows, workspace resources, or API-dependent behavior, you may also need a self-hosted backend during development.

The current bootstrap command for the self-hosted server is documented in README.md. After the server is available, update your local src-tauri/config.development.toml so base_url points to your development server.

Useful Commands

Run these from the repository root unless noted otherwise:

pnpm lint
pnpm format:check
pnpm rust:fmt:check
pnpm rust:check

If you changed build, packaging, or release-related code, also run:

node build.cjs

Pull Request Expectations

  • Describe what changed and why.
  • Mention any user-facing behavior changes.
  • Include validation steps you ran locally.
  • Attach screenshots or recordings for UI changes when helpful.
  • Avoid mixing unrelated refactors into the same PR.

If your change touches build, release, or workflow files, call that out explicitly in the PR description.

Issues and Bug Reports

Good bug reports usually include:

  • Operating system and environment details
  • What you expected to happen
  • What actually happened
  • Clear reproduction steps
  • Screenshots, logs, or error messages when available

Scope and Collaboration

Current high-value contribution areas include:

  • Reproducible bug reports and targeted bug fixes
  • Build, packaging, and CI improvements
  • Documentation and onboarding improvements
  • Frontend UX polish and workflow consistency
  • Tests, regression coverage, and release verification

Broader collaboration around additional core components is planned over time, including the runtime process (simprint-runtime) and the browser-kernel layer (simprint-browser-kernel). For now, contributions to this public repository are still highly valuable and help make the overall ecosystem easier to maintain.

Communication

  • English and Chinese are both acceptable in issues and pull requests.
  • If you want to contribute on a longer horizon, open an issue or discussion and briefly introduce the areas you want to help maintain.