Skip to content

Latest commit

 

History

History
28 lines (19 loc) · 1.68 KB

File metadata and controls

28 lines (19 loc) · 1.68 KB

Contributing to Morph

Getting started

Code and design

  • Rust: Keep the workspace warning-clean. See .cursor/rules/rust-no-warnings.mdc for project conventions.
  • Design: The implementation follows docs/v0-spec.md; docs/THEORY.md describes the underlying model.

Crate structure

Crate Role
morph-core Library: object model, storage, hashing, commits, metrics, trees, tap (renamed inspect at the CLI), sync, policy
morph-cli CLI: morph init, add, commit, log, inspect, session, eval, serve, ...
morph-mcp MCP server: primary write path from IDEs (Cursor, Claude Code, OpenCode)
morph-serve Hosted service: morph serve (multi-repo JSON API + browser UI)
morph-e2e End-to-end tests (Cucumber/Gherkin)

Workflow

  1. Run tests before and after changes: cargo test (and optionally cargo test -p morph-e2e --test cucumber).
  2. For behavioral commits (if you use Morph in this repo), include metrics from test runs when committing — see .cursor/rules/behavioral-commits.mdc and eval-driven-development.

For more detail on tests and known gaps, see docs/TESTING.md.