# wist-shared
Shared runtime helpers: filesystem, IDs, paths, time, and primitives.
[](https://crates.io/crates/wist-shared)
[](https://docs.rs/wist-shared)
[](https://crates.io/crates/wist-shared)
[](#)
[](https://github.com/dayu-sec/wist-shared/actions/workflows/ci.yml)
[](https://codecov.io/gh/dayu-sec/wist-shared)
[](https://deps.rs/repo/github/dayu-sec/wist-shared)
[](LICENSE)
`wist-shared` is the small, dependency-light toolbox used across the `wist-*` crates. It has no
internal dependencies, so it can be used from any component.
## Modules
| `fs` | Filesystem helpers (atomic JSON / byte writes). |
| `ids` | Shared ID helpers. |
| `paths` | Well-known file and directory names (workdir files, config, …).|
| `time` | RFC 3339 timestamps and time helpers. |
| `primitives` | Cross-domain scalar wrappers (`DateTime`, `Secret`, `Int`, `Bool`, `Float`). |
| `integrity` | Development-only local integrity helpers. |
| `error_codes` | Shared error-code placeholders. |
## Example
```rust
use wist_shared::fs::write_json_atomic;
use wist_shared::time::now_rfc3339;
write_json_atomic(path, &value)?;
let now = now_rfc3339();
```
## Related crates
- [`wist-contracts`](../wist-contracts) — schema objects this crate helps read and write.
- [`wist-agentd`](../wist-agentd) — the primary consumer.
## License
[Apache-2.0](LICENSE)