- Build and test: From the repo root,
cargo buildandcargo test. See docs/TESTING.md for the full test inventory, coverage, and e2e. - Install and use: docs/INSTALLATION.md covers installing the binaries. docs/CURSOR-SETUP.md, docs/CLAUDE-CODE-SETUP.md, and docs/OPENCODE-SETUP.md cover IDE integration.
- Rust: Keep the workspace warning-clean. See
.cursor/rules/rust-no-warnings.mdcfor project conventions. - Design: The implementation follows docs/v0-spec.md; docs/THEORY.md describes the underlying model.
| 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) |
- Run tests before and after changes:
cargo test(and optionallycargo test -p morph-e2e --test cucumber). - For behavioral commits (if you use Morph in this repo), include metrics from test runs when committing — see
.cursor/rules/behavioral-commits.mdcand eval-driven-development.
For more detail on tests and known gaps, see docs/TESTING.md.