Skip to content

Latest commit

 

History

History
112 lines (82 loc) · 2.86 KB

File metadata and controls

112 lines (82 loc) · 2.86 KB

Contributing to Rumoca

Contributions are welcome.

Setup

Install the rum developer CLI once:

cargo run --bin rum -- repo cli install

That installs rum, installs shell completions for the detected shell, and uses your cargo bin directory, usually ~/.cargo/bin. If that directory is not already on PATH, rum will print shell-specific fixups.

If you want rum to write the persistent PATH update for you:

cargo run --bin rum -- repo cli install --path

Then install the repo hooks:

rum repo hooks install

Command Layout

The canonical top-level command groups are:

  • rum verify full for the full GitHub CI verification suite
  • rum verify ... for local and CI verification gates
  • rum vscode ... for VS Code extension workflows
  • rum wasm ... for wasm editor workflows
  • rum python ... for Python binding workflows
  • rum coverage ... for coverage generation, reporting, and gating
  • rum repo ... for hooks, completions, releases, graphs, policy helpers, and MSL reference-data maintenance

Common Commands

Typical local verification:

rum verify full
rum verify lint
rum verify workspace
rum verify quick
rum verify template-runtimes

rum verify quick runs the same verification surface as GitHub CI except for the slow 180-model MSL parity job. rum verify full includes that parity run. Because those commands include coverage, VS Code, and wasm gates, they expect the same local prerequisites that CI installs: cargo-llvm-cov, Node/npm, and the wasm Rust target/tooling. rum verify template-runtimes is for ignored example-template execution checks that require optional runtimes such as Python with SymPy.

Editor validation:

rum vscode test
rum wasm test

Extension packaging:

rum vscode build
rum vscode package --target linux-x64

MSL/reference maintenance:

rum verify msl-parity
rum repo msl omc-reference
rum repo msl flamegraph --model Modelica.Electrical.Digital.Examples.DFFREG --mode compile
rum repo msl promote-quality-baseline

Command discovery:

rum help
rum help verify
rum help repo msl
rum help repo cli install

Process

For compiler-affecting changes, follow:

  • spec/SPEC_0025_PR_REVIEW_PROCESS.md
  • spec/README.md

Project specifications live under spec/.

Practical Expectations

  • Run the smallest verification gate that actually covers your change.
  • Prefer rum commands over ad hoc local scripts so local and CI workflows stay aligned.
  • Keep contributor-facing command examples in docs synchronized with the actual CLI.
  • Include a PR size budget in the pull-request body:
    • production lines added/deleted,
    • test lines added/deleted,
    • net lines and file count,
    • public API item delta.
  • If the PR has positive net lines, include a short cleanup/compression pass plan and explicit rationale for every new abstraction.