Development

Contributing

Scope, engineering rules, licensing, and how to discuss changes.

No CONTRIBUTING.md yet

The inspected repositories do not contain a CONTRIBUTING.md. Both include an MIT License; third-party dependencies retain their own licenses. Use the issue tracker to discuss substantial changes before starting.

Wave VM is a small project with a deliberately narrow scope. Changes should make the current milestone more reliable or more honest, not expand the product surface without a working implementation.

Engineering expectations

  • Inspect the relevant existing code before changing it.
  • Keep the Rust backend authoritative for host, configuration, filesystem, and virtualization state.
  • Use narrowly scoped Tauri commands and typed Rust structures.
  • Construct process arguments as vectors, never shell command strings.
  • Do not add Electron, React, Next.js, or Tailwind to the desktop application.
  • Do not make libvirt a mandatory dependency.
  • Do not add automated tests or scenario harnesses unless the maintainer asks.
  • Do not commit generated build artifacts, local credentials, or secrets.
  • Do not perform destructive Git operations or overwrite user data.

Before a change

  • Check the current repository status and preserve unrelated work.
  • Explain significant architectural decisions and trade-offs.
  • Keep the change scoped to the requested milestone.
  • Run the relevant formatting, compilation, type-check, or build commands.

After a change

  • Report which checks actually ran and their results.
  • Distinguish implementation failures from missing host dependencies.
  • Document limitations and anything the user still needs to test or configure.
  • Do not claim a VM lifecycle or console works without verified evidence.

Discuss first

There is no separate contributor license agreement and no formal review process. Open an issue in the relevant repository to discuss a bug or proposal before investing in a large change.

Desktop issues · Website issues · Desktop engineering rules

See Build and checks for the command sequence.