Development & Testing
This guide covers building Mooshik from source and running test suites.
Development Environment Setup
Prerequisites
- Rust: Version 1.97.1 (managed via
rust-toolchain.toml). - Python: Python 3.10 or newer.
- Linux Packages:
libdbus-1-devandpkg-configfor OS keyring integration.
sudo apt updatesudo apt install -y libdbus-1-dev pkg-configRunning the Rust Test Suite
The Rust test suite covers configuration parsing, vault encryption, CLI subcommands, and WriteLane concurrency:
cargo testBuild the release binary:
cargo build --releaseRunning Python Component Tests
All Python MCP servers and support packages include offline test suites with faked network seams:
News MCP Server
pytest mcp-servers/news/tests -qArtifacts MCP Server
pytest mcp-servers/artifacts/tests -qCoder MCP Server
pytest mcp-servers/coder/tests -qBootstrap Ingester
pytest ingester/tests -qMeasurement Harness
pytest measurement/tests -qEngineering Conventions
- Prose in TOML: User-facing strings live in
src/text/en.tomlrather than Rust code. Missing or empty string keys fail unit tests. - File size discipline: Source files maintain a soft target of roughly 600 lines including unit tests.
- Hermetic tests: Unit test suites do not require live network credentials or cloud connections.