Files
start-os/core/CLAUDE.md
Aiden McClelland 6a1b1627c5 chore: reserialize db on equal version, update bindings and docs
- Run de/ser roundtrip in pre_init even when db version matches, ensuring
  all #[serde(default)] fields are populated before any typed access
- Add patchdb.md documentation for TypedDbWatch patterns
- Update TS bindings for CheckPortParams, CheckPortRes, ifconfigUrl
- Update CLAUDE.md docs with patchdb and component-level references
2026-02-16 19:27:48 -07:00

1.1 KiB

Core — Rust Backend

The Rust backend daemon for StartOS.

Architecture

See ARCHITECTURE.md for binaries, modules, Patch-DB patterns, and related documentation.

See CONTRIBUTING.md for how to add RPC endpoints, TS-exported types, and i18n keys.

Quick Reference

cargo check -p start-os                    # Type check
make test-core                             # Run tests
make ts-bindings                           # Regenerate TS types after changing #[ts(export)] structs
cd sdk && make baseDist dist               # Rebuild SDK after ts-bindings

Operating Rules

  • Always run cargo check -p start-os after modifying Rust code
  • When adding RPC endpoints, follow the patterns in rpc-toolkit.md
  • When modifying #[ts(export)] types, regenerate bindings and rebuild the SDK (see ARCHITECTURE.md)
  • When adding i18n keys, add all 5 locales in core/locales/i18n.yaml (see i18n-patterns.md)
  • When using DB watches, follow the TypedDbWatch<T> patterns in patchdb.md