# motte

Defensive mount and root workspace helper for terminal environments.

## Purpose

`motte` (from Old English *mot*, a mound or defensive hillock) provides
workspace root detection, mount point resolution, path ancestry walking,
and defensive boundary enforcement for building secure terminal environments.

## Features

- **WorkspaceRoot** — find project roots by marker file search
- **MountPoint** — represent and query filesystem mount boundaries
- **PathAncestry** — walk path components from leaf to root
- **DefensiveBoundary** — safe path resolution with traversal prevention
- **Zero dependencies**

## Install

```bash
cargo add motte
```

## Usage

```rust
use motte::{WorkspaceRoot, MountPoint, DefensiveBoundary};

// Find workspace root by marker files
let root_finder = WorkspaceRoot::rust_defaults();

// Check mount points
let mp = MountPoint::new("/tmp");
assert!(mp.contains("/tmp/project/file.txt"));

// Defensive boundary for safe path resolution
let boundary = DefensiveBoundary::new("/tmp/project");
let safe_path = boundary.resolve_safe("src/main.rs").unwrap();
assert!(safe_path.starts_with("/tmp/project"));
```

## License

MIT OR Apache-2.0
